Đo khoảng cách: Phiên bản 3 của quy cách ngoài băng tần

Android 16 đã giới thiệu mô-đun Đo khoảng cách. Giao thức và quy cách tải trọng này xác định trình tự thông báo và tải trọng của hoạt động giao tiếp ngoài băng tần (OOB) dùng để trao đổi cấu hình đo khoảng cách, cũng như để bắt đầu và dừng đo khoảng cách, giữa thiết bị khởi tạo và thiết bị phản hồi tham gia đo khoảng cách. Android 17 giới thiệu phiên bản 3 của quy cách này.

Trang này mô tả cách các nhà cung cấp thiết bị không phải Android có thể triển khai quy cách này để thiết bị của họ tương thích với các thiết bị Android.

Bạn có thể xem một bản triển khai của quy cách này bằng Ngôn ngữ mô tả gói (PDL) của Google trên GitHub. Từ quá trình triển khai này, trình biên dịch PDL có thể tạo mã chuyển đổi tuần tự và giải mã cho các thông báo được xác định trong quy cách này. Quy cách này hỗ trợ nhiều ngôn ngữ đích, bao gồm C++, Rust và Java.

Tính năng mới trong phiên bản 3

Quy cách OOB phiên bản 3 có những thay đổi sau:

  • Thông báo chuyển động: Thông báo mà thiết bị của nhà quảng cáo dùng để thông báo cho thiết bị khởi tạo về sự thay đổi chuyển động.
  • Cấu hình đo khoảng cách: Bao gồm một trường Motion support mới để yêu cầu bên khởi tạo thông báo cho bên phản hồi về mọi thay đổi trong chuyển động của thiết bị ngoại vi từ bên phản hồi.
  • Thêm chế độ hỗ trợ công nghệ PD Wi-Fi mới trong Khả năng đo khoảng cáchCấu hình đo khoảng cách.
  • Không dùng các trường Supported BandwidthSupported number of Receive chains trong Wi-Fi NAN RTT Ranging Capability nữa.

Endianness

Trừ phi có quy định khác, tất cả các trường số có nhiều byte trong thông báo đều theo thứ tự little-endian.

Tin nhắn và chuỗi tin nhắn

Phần này mô tả các thông báo và trình tự trao đổi thông báo.

Bảng sau đây cho thấy tất cả các thông báo có trong quá trình trao đổi OOB:

Nhắn tin Mã nhận dạng tin nhắn
Ranging Capability Request 0x0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (không bắt buộc) 0x3
Stop Ranging 0x6
Stop Ranging Response (không bắt buộc) 0x7
Motion Notification 0x8

Quá trình trao đổi thông báo bắt đầu bằng việc thiết bị khởi tạo gửi Ranging Capability Request đến thiết bị phản hồi. Thiết bị phản hồi sẽ trả lời bằng cách gửi Ranging Capability Response, như minh hoạ trong Hình 1:

Quy trình kênh liên lạc

Hình 1. Trao đổi thông báo OOB bằng kênh giao tiếp dựa trên kết nối.

Thiết bị phản hồi sẽ bắt đầu đo khoảng cách ngay sau khi nhận được thông báo Ranging Configuration. Thiết bị phản hồi sẽ ngừng đo khoảng cách sau khi nhận hoặc phát hiện thông báo Stop Ranging.

Thiết bị phản hồi chỉ điền các chức năng của công nghệ đo khoảng cách được yêu cầu trong thông báo Ranging Capability Request.

Thiết bị khởi tạo chỉ nhận một phản hồi cho mọi thông báo yêu cầu mà thiết bị đó gửi. Thiết bị phản hồi không được đưa ra bất kỳ giả định nào như vậy để có thể phản hồi mọi yêu cầu theo bất kỳ thứ tự nào. Thao tác này xác minh rằng thiết bị phản hồi có thể phản hồi nhiều thông báo Ranging Capability Request liên tiếp hoặc bất kỳ thông báo nào khác không theo thứ tự từ thiết bị khởi tạo.

Chuyển đổi công nghệ

Phiên bản OOB cho phép các thiết bị chuyển đổi linh hoạt giữa các công nghệ đo khoảng cách khác nhau trong một phiên. Để tạo điều kiện cho việc này, người khởi tạo có thể:

  • Gửi nhiều tin nhắn Ranging Configuration để bắt đầu sử dụng các công nghệ mới.
  • Gửi nhiều tin nhắn Stop Ranging để dừng các công nghệ đang hoạt động.

Thứ tự của các thông báo này sẽ khác nhau tuỳ thuộc vào sơ đồ chuyển đổi mà thiết bị phản hồi hỗ trợ:

  • Ngắt trước khi tạo: Bên khởi tạo chỉ có thể chuyển sang một công nghệ mới bằng cách dừng công nghệ đầu tiên bằng thông báo Stop Ranging trước khi bắt đầu công nghệ thứ hai bằng thông báo Ranging Configuration.
  • Tạo trước khi ngắt: Bên khởi tạo có thể bắt đầu một công nghệ mới bằng thông báo Ranging Configuration trước khi dừng các công nghệ hiện có bằng thông báo Stop Ranging.

Phản hồi phải triển khai hỗ trợ cho một trong các lược đồ chuyển đổi này theo giá trị của trường supported technology transitioning trong Ranging Capability Response.

Mã công nghệ đo khoảng cách

Mã nhận dạng của các công nghệ đo khoảng cách được liệt kê trong bảng sau:

Công nghệ đo khoảng cách ID
UWB (băng tần siêu rộng) 0x0
CS 0x1
RTT NAN Wi-Fi 0x2
RSSI 0x3
Wi-Fi PD 0x4
RFU 0x5 – 0xFF

Các mã nhận dạng này được dùng trong các bảng trên trang này khi cần có mã nhận dạng công nghệ đo khoảng cách. Đối với các trường chứa bitfield công nghệ đo khoảng cách, một bit tương ứng với chỉ mục của mã nhận dạng công nghệ sẽ được đặt khi công nghệ đó được đưa vào bitfield.

Ví dụ: RSSI có giá trị nhận dạng là 3, nhưng nếu RSSI được đưa vào trường bit công nghệ đo khoảng cách, thì bit có vị trí của giá trị nhận dạng (3) phải được bật (bit đầu tiên ở vị trí 0), điều này làm cho giá trị kết quả của trường bit là 0x8. Nếu cả UWB và RSSI đều được đưa vào, thì giá trị của trường bit là 0x0A (cả bit 0 và 3 đều được bật).

Định dạng thư

Mỗi thông báo bao gồm một tiêu đề và một tải trọng.

Định dạng thư

Hình 3. Định dạng thư.

Kích thước: 2 byte

Nội dung mô tả: Tiêu đề là phần đầu tiên của một thông báo và xuất hiện trong tất cả các thông báo. Tiêu đề chứa phiên bản và mã nhận dạng của loại thông báo. Trường phiên bản chỉ định phiên bản của quy cách mà nội dung của thông báo tuân thủ. Để biết thêm thông tin về cách sử dụng tính năng tạo phiên bản giữa các thiết bị ở nhiều phiên bản, hãy xem phần Tạo phiên bản. Tiêu đề vẫn tương thích ngược trên nhiều phiên bản, nghĩa là trường hợp sử dụng luôn có thể phân tích cú pháp tiêu đề để xác định phiên bản và mã nhận dạng của thông báo.

Tiêu đề được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Phiên bản
  • 0x1 – V1
  • 0x2 – V2
  • 0x3 – V3
1 uint8 Mã nhận dạng tin nhắn
  • 0x0 – Thông báo Ranging Capability Request
  • 0x1 – Thông báo Ranging Capability Response
  • 0x2 – Thông báo Ranging Configuration
  • 0x3 – Thông báo Ranging Configuration Response (không bắt buộc)
  • 0x6 – Thông báo Stop Ranging
  • 0x7 – Thông báo Stop Ranging Response (không bắt buộc)
  • 0x8 – Thông báo Motion Notification
  • 0x4 – 0x5, 0x90xFF RFU

Dung lượng

Kích thước: Thay đổi (tuỳ thuộc vào loại thông báo)

Nội dung mô tả: Tải trọng là phần cuối cùng của thông báo, sau tiêu đề. Tải trọng phụ thuộc vào loại thông báo. Định dạng cho tải trọng của từng loại thông báo riêng lẻ được xác định trong các phần sau.

Tải trọng của thông báo Yêu cầu về khả năng đo khoảng cách

Kích thước (không bao gồm kích thước tiêu đề): 2 byte

Mô tả: Được thiết bị khởi tạo gửi để bắt đầu trao đổi thông báo.

Phần dữ liệu thực tế của thông báo Ranging Capability Request được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8*2 Trường bit công nghệ đo khoảng cách được yêu cầu
  • 0x01 – UWB
  • 0x02 – Đo âm thanh kênh BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • 0x10 – Tính năng phát hiện thiết bị ở gần (PD) qua Wi-Fi
  • RFU

Tải trọng thông báo phản hồi về Khả năng đo khoảng cách

Kích thước (không bao gồm kích thước tiêu đề): Thay đổi (phần chung 2 byte cộng với kích thước của mỗi byte công nghệ đo khoảng cách được bao gồm)

Mô tả: Do người phản hồi gửi dưới dạng phản hồi cho một thông báo Ranging Capability Request. Tải trọng thông báo này bao gồm phần chung và các phần dành riêng cho công nghệ đo khoảng cách (BLE CS, Wi-Fi NAN RTT, BLE RSSI), như minh hoạ trong các bảng sau. Bạn chỉ được thêm từng phần dành riêng cho công nghệ đo khoảng cách nếu thiết bị phản hồi hỗ trợ công nghệ đo khoảng cách đó và được yêu cầu trong thông báo Ranging Capability Request.

Tải trọng thông báo Ranging Capability Response thường gặp được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8*2 Trường bit công nghệ đo khoảng cách được hỗ trợ. Cho biết bộ khả năng của các công nghệ đo khoảng cách theo sau trong phần còn lại của tải trọng.
  • 0x01 – UWB
  • 0x02 – Đo âm thanh kênh BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • 0x10 – Wi-Fi PD
  • RFU
2 mảng byte Các byte về khả năng công nghệ đo khoảng cách. Các khối cấu trúc lặp lại được xác định theo từng công nghệ.
Khác nhau uint8 Cho biết khả năng hỗ trợ chuyển đổi công nghệ.
  • 0x00 – Hỗ trợ ngắt trước khi tạo.
  • 0x01 – Hỗ trợ tính năng ngắt trước khi tạo. Bộ phản hồi có khả năng đo khoảng cách đồng thời bằng nhiều công nghệ.
Khác nhau uint16 Cho biết loại thiết bị phản hồi.
  • 0x00 – Không xác định
  • 0x01 – Điện thoại
  • 0x02 – Máy tính bảng
  • 0x03 – Thẻ
  • 0x04 – Thiết bị đeo
  • 0x05 – Thiết bị trợ thính
  • RFU

Phần dữ liệu hữu ích của thông báo UWB Ranging Capability Response được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x0 – UWB
1 uint8 Kích thước Kích thước của các byte chức năng UWB (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte.
2 uint8*2 Địa chỉ UWB Địa chỉ UWB của thiết bị 2 byte.
4 uint8*4 Bitfield của các kênh được hỗ trợ Bitfield của các kênh được hỗ trợ. Bit được đặt thành 0 cho biết không được hỗ trợ, 1 cho biết được hỗ trợ. Bit 0 tương ứng với kênh 0.
LSB == channel 0
MSB == channel 31
8 uint8*4 Trường bit chỉ mục phần mở đầu được hỗ trợ Trường bit của các chỉ mục phần mở đầu được hỗ trợ. Bit được đặt thành 0 cho biết không được hỗ trợ, 1 cho biết được hỗ trợ. Bit 0 tương ứng với chỉ mục phần mở đầu 1.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 Trường bit mã cấu hình được hỗ trợ Bitfield của mã cấu hình UWB được hỗ trợ. Bit được đặt thành 0 cho biết không được hỗ trợ, 1 cho biết được hỗ trợ.
LSB == config Id 0
MSB == config Id 31
16 uint8*2 Khoảng đo tối thiểu được hỗ trợ Cho biết khoảng thời gian đo khoảng cách được hỗ trợ nhanh nhất tính bằng mili giây. Các giá trị được phép (tính bằng mili giây):
  • 96
  • 120
  • 240
  • 600
18 uint8 Thời lượng tối thiểu được hỗ trợ của khung giờ Cho biết thời lượng khe cắm được hỗ trợ nhỏ nhất (tính bằng mili giây). Ví dụ: nếu thiết bị trả về 1 mili giây, thì giả sử thiết bị đó cũng hỗ trợ thời lượng khe là 2 mili giây trở lên. Các giá trị được phép (tính bằng mili giây):
  • 1
  • 2
19 uint8 Bitfield vai trò thiết bị UWB được hỗ trợ Bitfield của các vai trò UWB được hỗ trợ. Ví dụ: nếu cả hai đều hỗ trợ, giá trị trường cuối cùng là 0x3.
  • 0x1 – hỗ trợ vai trò của người khởi tạo
  • 0x2 – có hỗ trợ vai trò của người phản hồi

Tải trọng thông báo BLE CS Ranging Capability Response được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x1 – BLE CS
1 uint8 Kích thước Kích thước của các byte chức năng BLE CS (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte.
2 uint8 Bitfield loại bảo mật được hỗ trợ Bitfield của các loại bảo mật được hỗ trợ cho BLE CS.
  • 0x01CS_SECURITY_LEVEL_UNKNOWN
  • 0x02CS_SECURITY_LEVEL_ONE
  • 0x04CS_SECURITY_LEVEL_TWO
  • 0x08CS_SECURITY_LEVEL_THREE
  • 0x10CS_SECURITY_LEVEL_FOUR
3 uint8*6 Địa chỉ thiết bị Địa chỉ của thiết bị dùng cho BLE CS; theo thứ tự big-endian.

Phần dữ liệu hữu ích của thông báo Wi-Fi NAN RTT Ranging Capability Response được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x2 – Wi-Fi NAN RTT
1 uint8 Kích thước Kích thước của các byte chức năng RTT NAN Wi-Fi (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte.
2 uint8 Bitfield của các tính năng được hỗ trợ Bitfield của các tính năng được hỗ trợ.
  • 0x01 – Có khả năng sử dụng 11mc
  • 0x02 – Có khả năng 11az
3 uint8 Hỗ trợ đo khoảng cách định kỳ
  • 0x0 – không được hỗ trợ tính năng đo khoảng cách định kỳ
  • 0x1 – hỗ trợ đo khoảng cách định kỳ
4 uint8 Băng thông được hỗ trợ KHÔNG DÙNG NỮA: Thông tin này giúp xác định độ chính xác về phạm vi có thể đạt được bằng cách sử dụng Wi-Fi NAN và có thể giúp các ứng dụng xác định xem có nên sử dụng UWB, BLE CS, BLE RSSI hay Wi-Fi NAN để xác định phạm vi hay không.
  • 0x00 – 20 MHz
  • 0x01 – 40 MHz
  • 0x02 – 80 MHz
  • 0x03 – 160 MHz
  • 0x04 – 80+80 MHz
  • 0x05 – 320 MHz
  • RFU
5 uint8 Số lượng chuỗi nhận được hỗ trợ KHÔNG DÙNG NỮA: Thông tin này giúp xác định độ chính xác của phạm vi có thể đạt được bằng Wi-Fi NAN và có thể giúp các ứng dụng xác định xem có nên sử dụng UWB, BLE CS, BLE RSSI hay Wi-Fi NAN để đo khoảng cách hay không.
  • 0x00 – Không xác định
  • 0x01 – 1 chuỗi RX
  • 0x02 – 2 chuỗi RX
  • 0x03 – 3 chuỗi RX
  • 0x04 – 4 chuỗi RX

Tải trọng thông báo BLE RSSI Ranging Capability Response được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x3 – BLE RSSI
1 uint8 Kích thước Kích thước của các byte chức năng RSSI BLE (bao gồm cả các trường Mã nhận dạng công nghệKích thước) tính bằng byte
2 uint8*6 Địa chỉ thiết bị Địa chỉ của thiết bị dùng cho BLE RSSI; theo thứ tự big-endian

Tải trọng thông báo Wi-Fi PD Ranging Capability Response được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x4 – Wi-Fi PD
1 uint8 Kích thước Kích thước của các byte chức năng Wi-Fi PD (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte
2 uint8 Tính năng được hỗ trợ Bitmap
  • b0 – Có khả năng 11mc
  • b1 – Có thể kết nối 11az
3 uint8 Chế độ PASN Bitmap
  • b0 – Chế độ PASN chưa xác thực
  • b1 – Chế độ PASN đã xác thực
4 uint8*6 Địa chỉ thiết bị Địa chỉ của thiết bị dùng cho Wi-Fi PD; theo thứ tự big-endian.
10 uint8*2 Khoảng cách tối thiểu của khoảng đo 802.11mc Khoảng thời gian đo khoảng cách tối thiểu được hỗ trợ ở định dạng big-endian cho 11mc
12 uint8*2 Khoảng thời gian đo khoảng cách tối thiểu 802.11az Khoảng thời gian đo khoảng cách tối thiểu được hỗ trợ ở định dạng big-endian cho 11az
14 uint8 Loại phần đầu tối đa
  • 0PREAMBLE_LEGACY
  • 1PREAMBLE_HT
  • 2PREAMBLE_VHT
  • 3PREAMBLE_HE
  • 4PREAMBLE_EHT

Điều này giả định rằng tất cả các loại phần mở đầu thấp hơn đều được hỗ trợ.
15 uint8 Chiều rộng tối đa của kênh
  • 0CHANNEL_WIDTH_20MHZ
  • 1CHANNEL_WIDTH_40MHZ
  • 2CHANNEL_WIDTH_80MHZ
  • 3CHANNEL_WIDTH_160MHZ
  • 4CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5CHANNEL_WIDTH_320MHZ

Điều này giả định rằng tất cả các độ rộng kênh thấp hơn đều được hỗ trợ.
16 uint8*2 Tần số kênh được hỗ trợ
  • b0 – Kênh 1
  • b1 – Kênh 11
  • b2 – Kênh 36
  • b3 – Kênh 40
  • b4 – Kênh 44
  • b5 – Kênh 48
  • b6 – Kênh 153
  • b7 – Kênh 157
  • b8 – Kênh 161
  • b9 – Kênh 165
  • b10-b15 – RFU

Trọng tải thông báo Cấu hình đo khoảng cách

Kích thước (không bao gồm kích thước tiêu đề): Thay đổi (phần chung 4 byte cộng với kích thước của mỗi byte công nghệ đo khoảng cách được bao gồm).

Nội dung mô tả: Thông báo này do bên khởi tạo gửi và chứa các cấu hình mà mỗi công nghệ đo khoảng cách có thể bắt đầu đo khoảng cách. Thiết bị phản hồi phải cố gắng bắt đầu đo khoảng cách với từng công nghệ đo khoảng cách được chỉ định khi nhận được thông báo này. Tải trọng thông báo này bao gồm phần chung và các phần dành riêng cho công nghệ đo khoảng cách (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), như minh hoạ trong các bảng sau.

Tải trọng thông báo Ranging Configuration phổ biến được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8*2 Trường bit tập hợp cấu hình công nghệ đo khoảng cách Bitfield của các công nghệ đo khoảng cách mà thông báo này chứa dữ liệu cấu hình và bạn phải đặt các thông số cấu hình cho công nghệ đó.
  • 0x01 – UWB
  • 0x02 – Đo âm thanh kênh BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • 0x10 – Wi-Fi PD
  • RFU
2 uint8*2 Bitfield RFU. Phải được đặt thành cùng một giá trị với trường Bitfield cấu hình công nghệ đo khoảng cách.
4 mảng byte Các byte cấu hình công nghệ đo khoảng cách Các khối cấu trúc lặp lại được xác định theo từng công nghệ
Khác nhau uint8 Hỗ trợ chuyển động Motion Notification đã yêu cầu
  • 0x0 – Cho biết thiết bị khởi tạo không yêu cầu dữ liệu chuyển động.
  • 0x1 – Cho biết thiết bị khởi tạo yêu cầu dữ liệu chuyển động từ thiết bị ngang hàng.

Phần dữ liệu hữu ích của thông báo UWB Ranging Configuration được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x0 – UWB
1 uint8 Kích thước Kích thước của cấu hình UWB (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte
2 uint8*2 Địa chỉ UWB Địa chỉ UWB của thiết bị có kích thước 2 byte
4 uint8*4 Mã phiên Mã phiên được tạo. Mã phiên là giá trị nhận dạng duy nhất cho phiên đo khoảng cách giữa điện thoại và thiết bị ngoại vi.
8 uint8 Mã cấu hình đã chọn Số mã cấu hình đã chọn ở dạng số nguyên. Mã nhận dạng cấu hình chỉ định các thông số thời gian và loại bảo mật phải được dùng cho phiên đo khoảng cách UWB.
9 uint8 Kênh đã chọn Kênh được chọn cho phiên đo khoảng cách bằng UWB
10 uint8 Chỉ mục phần mở đầu đã chọn Chỉ mục phần mở đầu đã chọn cho phiên đo khoảng cách UWB
11 uint8*2 Khoảng đo được chọn Chu kỳ khoảng cách được chọn tính bằng mili giây. Các giá trị được phép (tính bằng mili giây):
  • 96
  • 120
  • 240
  • 600
13 uint8 Khoảng thời gian đã chọn của khung giờ Thời lượng của vị trí đã chọn tính bằng mili giây. Các giá trị được phép (tính bằng mili giây):
  • 1
  • 2
14 uint8 Độ dài khoá phiên Độ dài của khoá phiên tính bằng byte
15 mảng byte Khoá phiên Khoá phiên. Nếu S-STS được sử dụng, thì 2 byte đầu tiên là VENDOR ID và 6 byte tiếp theo là STATIC STS IV. Nếu P-STS được dùng, thì đây là khoá phiên 16 byte hoặc 32 byte. Loại bảo mật được dùng do mã nhận dạng cấu hình xác định.
thay đổi uint8*2 Mã quốc gia Mã quốc gia gồm 2 chữ cái theo ISO 3166-1 alpha-2, được biểu thị bằng 2 ký tự ASCII
thay đổi uint8 Vai trò của thiết bị đã chọn
  • 0x01 – Bộ khởi đầu
  • 0x02 – Người trả lời
thay đổi uint8 Chế độ thiết bị đã chọn
  • 0x01 – Bộ điều khiển
  • 0x02 – Controlee

Tải trọng thông báo BLE CS Ranging Configuration được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x1 – BLE CS
1 uint8 Kích thước Kích thước của cấu hình BLE CS (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte
2 uint8 Loại bảo mật đã chọn Loại bảo mật đã chọn. Các giá trị được phép:
  • 0x0CS_SECURITY_LEVEL_UNKNOWN
  • 0x1CS_SECURITY_LEVEL_ONE
  • 0x2CS_SECURITY_LEVEL_TWO
  • 0x3CS_SECURITY_LEVEL_THREE
  • 0x4CS_SECURITY_LEVEL_FOUR
3 uint8*6 Địa chỉ thiết bị Địa chỉ của thiết bị dùng cho BLE CS; theo thứ tự big-endian

Tải trọng thông báo RTT Ranging Configuration NAN Wi-Fi được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x2 – Wi-Fi NAN RTT
1 uint8 Kích thước Kích thước của cấu hình RTT NAN Wi-Fi (bao gồm cả các trường Mã nhận dạng công nghệKích thước) tính bằng byte
2 uint8 Độ dài tên dịch vụ Độ dài của trường Tên dịch vụ theo byte. Tham khảo Bảng 1 trong phần 1.3.3 của Quy cách Wi-Fi Aware phiên bản 4.0. Định nghĩa.
3 mảng byte Tên dịch vụ Tên dịch vụ. Tham khảo Bảng 1 trong phần 1.3.3 của Quy cách Wi-Fi Aware phiên bản 4.0. Định nghĩa.
thay đổi uint8 Vai trò của thiết bị
  • 0x0 – Responder (Nhà xuất bản dịch vụ NAN)
  • 0x1 – Trình khởi tạo (người đăng ký dịch vụ NAN)
thay đổi uint8 Sử dụng tính năng đo khoảng cách định kỳ
  • 0x0 – Đã tắt tính năng đo khoảng cách định kỳ
  • 0x1 – Đã bật tính năng đo khoảng cách định kỳ

Tải trọng thông báo BLE RSSI Ranging Configuration được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x3 – BLE RSSI
1 uint8 Kích thước Kích thước của cấu hình RSSI BLE (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte
2 uint8*6 Địa chỉ thiết bị Địa chỉ của thiết bị dùng cho BLE RSSI; theo thứ tự big-endian

Tải trọng thông báo Wi-Fi PD Ranging Configuration được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Mã công nghệ đo khoảng cách 0x4 – Wi-Fi PD
1 uint8 Kích thước Kích thước của cấu hình Wi-Fi PD (bao gồm các trường Mã nhận dạng công nghệKích thước) tính bằng byte
2 uint8 Tính năng
  • 0x01 – 11mc
  • 0x02 – 11az
3 uint8*6 Địa chỉ MAC Địa chỉ MAC của trình khởi tạo
9 uint8*2 Khoảng cách Khoảng cách đo bằng mili giây
11 uint8 Phần mở đầu đã chọn
  • 0PREAMBLE_LEGACY
  • 1PREAMBLE_HT
  • 2PREAMBLE_VHT
  • 3PREAMBLE_HE
  • 4PREAMBLE_EHT
12 uint8 Chiều rộng kênh đã chọn
  • 0CHANNEL_WIDTH_20MHZ
  • 1CHANNEL_WIDTH_40MHZ
  • 2CHANNEL_WIDTH_80MHZ
  • 3CHANNEL_WIDTH_160MHZ
  • 4CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5CHANNEL_WIDTH_320MHZ
13 uint8 Kênh đã chọn
  • 0 – Kênh 1
  • 1 – Kênh 11
  • 2 – Kênh 36
  • 3 – Kênh 40
  • 4 – Channel 44
  • 5 – Kênh 48
  • 6 – Kênh 153
  • 7 – Kênh 157
  • 8 – Kênh 161
  • 9 – Kênh 165
14 uint8 Đã chọn chế độ PASN
  • 0x01 – Chế độ PASN chưa xác thực
  • 0x02 – Chế độ PASN đã xác thực
Lưu ý: Trường này là phần cuối của gói cho chế độ PASN chưa xác thực.
15 mảng byte Khoá danh tính thiết bị Mảng cố định 16 byte
Lưu ý: Trường này chỉ hợp lệ cho chế độ PASN đã xác thực, không được đặt cho chế độ PASN chưa xác thực
31 uint8 Độ dài mật khẩu Độ dài mật khẩu.
Lưu ý: Trường này chỉ hợp lệ cho chế độ PASN đã xác thực, không được đặt cho chế độ PASN chưa xác thực.
thay đổi mảng byte Mật khẩu Mật khẩu dưới dạng mảng byte.
Lưu ý: Trường này chỉ hợp lệ cho chế độ PASN đã xác thực, không được đặt cho chế độ PASN chưa xác thực.

Trọng tải thông báo Phản hồi cấu hình đo khoảng cách

Kích thước (không bao gồm kích thước tiêu đề): 2 byte

Nội dung mô tả: Thông báo này do người phản hồi gửi để phản hồi thông báo Ranging Configuration. Đây là thông báo không bắt buộc; bạn chỉ cần cung cấp thông báo này khi kênh liên lạc được sử dụng yêu cầu phản hồi rõ ràng cho từng yêu cầu.

Tải trọng thông báo Ranging Configuration Response được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8*2 Đã đặt thành công cấu hình công nghệ đo khoảng cách bitfield Bitfield của các công nghệ đo khoảng cách đã được thiết lập thành công. Bitfield đặt bit công nghệ đo khoảng cách thành 1 nếu công nghệ được yêu cầu và thiết lập thành công, nếu không thì đặt thành 0.
  • 0x01 – UWB
  • 0x02 – Đo âm thanh kênh BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • 0x10 – Wi-Fi PD
  • RFU

Ngừng tải trọng thông báo đo khoảng cách

Kích thước (không bao gồm kích thước tiêu đề): 2 byte

Nội dung mô tả: Thông báo này do thiết bị khởi tạo gửi khi đến thời điểm dừng đo khoảng cách bằng công nghệ đo khoảng cách đã chỉ định.

Phần dữ liệu thực tế của thông báo Stop Ranging được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8*2 Công nghệ đo khoảng cách để dừng trường bit Bitfield của các công nghệ đo khoảng cách phải dừng đo khoảng cách. Bit được đặt thành 1 cho biết công nghệ đo khoảng cách phải dừng đo khoảng cách và 0 cho biết công nghệ đo khoảng cách không đo khoảng cách ngay từ đầu hoặc phải tiếp tục đo khoảng cách nếu đã đo khoảng cách. Đối với một số công nghệ đo khoảng cách (như CS), đây là một thao tác không có tác dụng vì việc đo khoảng cách chỉ được bắt đầu và dừng ở phía thiết bị khởi tạo.
  • 0x01 – UWB
  • 0x02 – Đo âm thanh kênh BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • 0x10 – Wi-Fi PD
  • RFU

Tải trọng thông báo Dừng phản hồi đo khoảng cách

Kích thước (không bao gồm kích thước tiêu đề): 2 byte

Nội dung mô tả: Thông báo này do người phản hồi gửi để phản hồi thông báo Stop Ranging. Thông báo này là không bắt buộc, chỉ cần thiết khi kênh liên lạc được sử dụng yêu cầu phản hồi rõ ràng cho từng yêu cầu.

Phần dữ liệu thực tế của thông báo Stop Ranging Response được tóm tắt trong bảng sau:

Octet Loại dữ liệu Mô tả Giá trị
0 uint8*2 Đã dừng thành công công nghệ đo khoảng cách bitfield Bitfield của các công nghệ đo khoảng cách đã dừng đo khoảng cách thành công. Bitfield đặt bit công nghệ đo khoảng cách thành 1 nếu công nghệ được yêu cầu dừng và nếu dừng thành công, còn không thì đặt thành 0.
  • 0x01 – UWB
  • 0x02 – Đo âm thanh kênh BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • 0x10 – Wi-Fi PD
  • RFU

Gói dữ liệu thông báo về chuyển động

Kích thước (không bao gồm kích thước tiêu đề): 1 byte

Nội dung mô tả: Thiết bị phản hồi gửi thông báo này để thông báo cho thiết bị khởi tạo về mọi thay đổi trong trạng thái chuyển động của thiết bị phản hồi.

Octet Loại dữ liệu Mô tả Giá trị
0 uint8 Chuyển động
  • 0x0 – Không phát hiện thấy
  • 0x1 – Chuyển động nhẹ
  • 0x2 – Chuyển động vừa phải
  • 0x3 – Chuyển động lớn
  • RFU
Bạn phải định cấu hình ngưỡng chuyển động để phát hiện sự thay đổi hướng ±X° dọc theo 2 trục bất kỳ của phụ kiện.
  • Không phát hiện thấy: < 5°
  • Chuyển động nhẹ: 5° – 7°
  • Chuyển động vừa phải: 7° – 10°
  • Chuyển động lớn: > 10°

Lập phiên bản

Phiên bản của quy cách có trong tiêu đề của mỗi thông báo. Phần này xác định cách giao tiếp khi một trong các thiết bị (thiết bị khởi tạo hoặc thiết bị phản hồi) chạy phiên bản cũ hơn thiết bị còn lại. Ranging Capability Request là tin nhắn đầu tiên do thiết bị khởi tạo gửi.

Bên khởi tạo hỗ trợ phiên bản mới hơn, bên phản hồi hỗ trợ phiên bản cũ hơn của quy cách

Thiết bị khởi tạo sẽ gửi thông báo Ranging Capability Request bằng phiên bản mới hơn. Thiết bị phản hồi chỉ hỗ trợ phiên bản cũ, nên sẽ phản hồi bằng phiên bản đó, sau đó phiên bản cũ của thiết bị phản hồi sẽ được dùng cho phần còn lại của quá trình trao đổi thông báo. Điều này có nghĩa là thông báo Ranging Capability Request phải tương thích ngược.

Bên khởi tạo hỗ trợ phiên bản cũ, bên phản hồi hỗ trợ phiên bản mới hơn của quy cách

Thiết bị phản hồi nhận thấy thiết bị khởi tạo không thể sử dụng phiên bản mới hơn, vì vậy, thiết bị này chỉ gửi thông báo bằng phiên bản cũ hơn mà thiết bị khởi tạo yêu cầu ban đầu.

Để đảm bảo các thông báo có khả năng tương thích ngược, mọi trường mới được thêm vào phiên bản tiếp theo của quy cách này phải được nối vào cuối tải trọng và không được phép sửa đổi bất kỳ trường hiện có nào. Khi phân tích cú pháp cấu hình, nếu kích thước được chỉ định lớn hơn dự kiến, mọi thiết bị chỉ có thể hiểu phiên bản cũ hơn của quy cách đều phải bỏ qua các trường bổ sung.

Phân mảnh

Quy cách này không phụ thuộc vào kênh giao tiếp, vì vậy, quy cách này không xác định cách phân mảnh tải trọng thông báo trong trường hợp một thông báo quá lớn để vừa vào một gói truyền của kênh giao tiếp được dùng. Mô-đun Ranging (Đo khoảng cách) dự kiến sẽ nhận được từng thông báo ở dạng đầy đủ. Người triển khai kênh giao tiếp OOB chịu trách nhiệm về việc phân mảnh.

Ranging-technology-specifics

Phần này chứa thông tin chi tiết cụ thể về công nghệ đo khoảng cách.

Thông tin cụ thể về băng tần siêu rộng (UWB)

Phần này mô tả các thông tin cụ thể về băng tần siêu rộng.

Mã cấu hình

Dữ liệu cấu hình OOB được trao đổi cho UWB không chứa đầy đủ các thông số có thể định cấu hình hiện có mà UWB yêu cầu để bắt đầu phiên đo khoảng cách UWB. Điều này là do một số thông số được chọn ngầm định theo mã nhận dạng cấu hình đã chọn.

Mỗi mã nhận dạng cấu hình là một tập hợp các thông số cấu hình UWB được xác định trước và được ghi lại trong UwbRangingParams. Thiết bị phản hồi sẽ gửi danh sách tất cả mã nhận dạng cấu hình mà thiết bị đó hỗ trợ trong thông báo phản hồi về khả năng. Sau đó, thiết bị khởi tạo sẽ chọn một trong các mã nhận dạng cấu hình được hỗ trợ để sử dụng. Điều này cho phép trao đổi một nhóm nhỏ các tham số cấu hình trong quá trình OOB. API này cũng giới hạn số lượng tổ hợp tham số có thể dùng để đo khoảng cách bằng UWB, nhờ đó, bạn chỉ có thể kiểm thử các tổ hợp tham số được phép.

Yêu cầu các chức năng sau mỗi phiên UWB

Sau khi dừng một phiên UWB hiện có và trước khi bắt đầu một phiên UWB mới, thiết bị khởi tạo phải yêu cầu các chức năng của thiết bị phản hồi và đặt lại các thông số cấu hình, vì địa chỉ UWB có thể xoay ngay khi phiên đo khoảng cách hiện tại kết thúc.

Thông tin cụ thể về việc đo tín hiệu kênh (CS) BLE

Phần này mô tả thông tin cụ thể về việc đo lường kênh.

Bắt buộc phải mã hoá đường liên kết giữa các thiết bị

Bạn cần có một mối liên kết hiện có giữa thiết bị khởi tạo và thiết bị phản hồi để tính năng đo khoảng cách bằng cách sử dụng phương pháp dò kênh hoạt động. Quy cách này không cung cấp cách tạo mối liên kết giữa các thiết bị. Bạn phải thiết lập mối liên kết này giữa các thiết bị khi sử dụng Ranging API.

Bên phản hồi cần thực hiện hành động đối với CS

Trong UWB, cả hai thiết bị đều phải gọi API bắt đầu đo khoảng cách và dừng đo khoảng cách UWB một cách rõ ràng. Ngược lại, đối với CS, chỉ cần thiết bị khởi tạo bắt đầu đo khoảng cách CS bằng cách gọi ngăn xếp BT. Phần còn lại của quá trình khởi tạo ở phía thiết bị phản hồi diễn ra trong băng tần thông qua BT. Điều này có nghĩa là khi nhận được thông báo Ranging Configuration hoặc thông báo Stop Ranging cho CS, phía thiết bị phản hồi không cần làm gì nếu BT được bật. Thiết bị phản hồi có thể sử dụng những thông báo đó làm tín hiệu kích hoạt để cập nhật giao diện người dùng hoặc nhấp nháy đèn LED của thiết bị (ví dụ).