選擇:頻帶外規格版本 3

Android 16 推出測距模組。這項通訊協定和酬載規格定義了訊息序列,以及用於交換測距設定的頻外 (OOB) 通訊酬載,並定義了啟動器和回應器裝置之間啟動及停止測距的程序。Android 17 導入這項規格的第 3 版。

非 Android 裝置供應商可透過本頁面實作這項規格,確保裝置與 Android 裝置相容。

Google 的封包描述語言 (PDL) 中提供這項規格的實作方式,請前往 GitHub 查看。透過這項實作,PDL 編譯器可以為這項規格中定義的訊息產生序列化和還原序列化程式碼。這項規格支援多種目標語言,包括 C++、Rust 和 Java。

第 3 版的新功能

OOB 規格第 3 版包含下列異動:

  • 動作通知廣告主裝置用來通知啟動裝置動作變更的訊息。
  • 測距設定包含新的 Motion support 欄位,可告知發起者,周邊裝置的移動情形有任何變化時,都要通知回應者。
  • 在「Ranging Capability」(測距功能) 和「Ranging Configuration」(測距設定) 中新增 Wi-Fi PD 技術支援。
  • 淘汰 Wi-Fi NAN RTT Ranging Capability 中的 Supported BandwidthSupported number of Receive chains 欄位。

位元組順序

除非另有指定,否則訊息中的所有多位元組數字欄位都採用小端序。

訊息和訊息序列

本節說明訊息和訊息交換順序。

下表列出 OOB 交換中的所有訊息:

訊息 訊息 ID
Ranging Capability Request 0x0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (非必要) 0x3
Stop Ranging 0x6
Stop Ranging Response (非必要) 0x7
Motion Notification 0x8

圖 1 和圖 2 說明如何為不同通訊管道觸發訊息交換。

對於以連線為基礎的通訊管道 (例如 BLE GATT),訊息交換會從啟動器裝置傳送 Ranging Capability Request 至回應器裝置開始。如圖 1 所示,回應端裝置會傳送 Ranging Capability Response 來回覆:

以連線為基礎的通訊管道流程

圖 1. 使用以連線為基礎的通訊管道交換 OOB 訊息。

如果是以廣告為基礎的通訊管道,回應端裝置會先開始放送廣告 Ranging Capability Response。在這種情況下,啟動裝置不會傳送 Ranging Capability Request。而是偵測到廣告後,在啟動 (初始掃描器) 裝置準備就緒時,以廣告 Ranging Configuration 做為第一則訊息回應,如圖 2 所示:

以廣告為基礎的通訊管道流程

圖 2. 使用以廣告為基礎的通訊方式交換 OOB 訊息。

在這兩種情況下,其餘的訊息交換程序都相同。回應器裝置收到 Ranging Configuration 訊息後,會立即開始測距。回應器裝置收到或偵測到 Stop Ranging 訊息後,就會停止測距。

在連線式流程中,回應端裝置只會填入 Ranging Capability Request 訊息中要求的測距技術功能,而在廣告流程中,回應端裝置必須列出所有功能,因為沒有先前的功能要求訊息。

發起端裝置會假設傳送的任何要求訊息只會收到一個回應。回應裝置不得做出任何這類假設,才能依任何順序回應任何要求。這項測試會驗證回應端裝置是否能回應來自發起端裝置的多則連續 Ranging Capability Request 訊息,或任何其他順序錯誤的訊息。

技術轉換

OOB 版本可讓裝置在工作階段期間,動態切換不同的測距技術。為此,發起者可以:

  • 傳送多則 Ranging Configuration 訊息,即可啟動新技術。
  • 傳送多則 Stop Ranging 訊息,停止使用中的技術。

這些訊息的順序取決於回應者支援的轉移機制:

  • 先中斷再建立:發起者必須先透過 Stop Ranging 訊息停止第一個技術,再透過 Ranging Configuration 訊息啟動第二個技術,才能轉換至新技術。
  • 先建立再中斷:發起者可以使用 Ranging Configuration 訊息啟動新技術,再使用 Stop Ranging 訊息停止現有技術。

回應者必須根據 Ranging Capability Responsesupported technology transitioning 欄位的值,實作對其中一種轉換配置的支持。

測距技術 ID

下表列出測距技術的 ID:

測距技術 ID
UWB 0x0
CS 0x1
Wi-Fi NAN RTT 0x2
RSSI 0x3
Wi-Fi PD 0x4
RFU 0x5 - 0xFF

在需要測距技術 ID 的下列表格中,會使用這些 ID。如果欄位包含測距技術 bitfield,當該技術納入 bitfield 時,系統會設定對應技術 ID 索引的位元。

舉例來說,RSSI 的 ID 值為 3,但如果 RSSI 包含在測距技術位元欄位中,則 ID (3) 位置的位元必須開啟 (第一個位元位於位置 0),這會使位元欄位的結果值為 0x8。如果同時包含 UWB 和 RSSI,則位元欄位的值為 0x0A (位元 0 和 3 都開啟)。

訊息格式

每則訊息都包含標頭和酬載。

訊息格式

圖 3. 訊息格式。

大小:2 個位元組

說明:標頭是所有郵件的共同部分,也是郵件的第一個部分。標頭包含版本和訊息類型 ID。version 欄位會指定訊息內容所遵循的規格版本。如要進一步瞭解不同版本裝置間的版本管理方式,請參閱「版本管理」。標頭在不同版本之間保持回溯相容性,因此使用案例一律可以剖析標頭,判斷訊息的版本和 ID。

下表摘要說明標頭:

八位元 資料類型 說明
0 uint8 版本
  • 0x1 - V1
  • 0x2 - V2
  • 0x3 - V3
1 uint8 訊息 ID
  • 0x0 - Ranging Capability Request 訊息
  • 0x1 - Ranging Capability Response 訊息
  • 0x2 - Ranging Configuration 訊息
  • 0x3 - Ranging Configuration Response 訊息 (選填)
  • 0x6 - Stop Ranging 訊息
  • 0x7 - Stop Ranging Response 訊息 (選用)
  • 0x8 - Motion Notification 訊息
  • 0x4-0x5、0x9 - 0xFF RFU

酬載

大小:視訊息類型而定

說明:酬載是訊息的最後一部分,位於標頭之後。酬載內容取決於訊息類型。下列各節將定義每種個別訊息類型的酬載格式。

Ranging Capability Request 訊息酬載

大小 (不含標頭大小):2 個位元組

說明:由發起裝置傳送,用於啟動訊息交換。 如果通訊管道是以廣告為基礎,則可選擇不傳送這則訊息。在這種情況下,回應裝置必須先放送 Ranging Capability Response 訊息。發起端裝置 (初始掃描器) 會讀取廣告,並直接回覆 Ranging Capability Request 訊息,因此不需要這則訊息。

下表匯總了 Ranging Capability Request 訊息酬載:

八位元 資料類型 說明
0 uint8*2 要求的測距技術位元欄位
  • 0x01 - UWB
  • 0x02 - BLE 頻道音訊
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU

Ranging Capability Response 訊息酬載

大小 (不含標頭大小):不一 (常見部分為 2 個位元組,加上每個包含的測距技術位元組大小)

說明:回覆者傳送的訊息,用來回覆 Ranging Capability Request 訊息。如以下表格所示,這項訊息酬載包含通用部分,以及特定測距技術部分 (BLE CS、Wi-Fi NAN RTT、BLE RSSI)。只有在回應器裝置支援該測距技術,且 Ranging Capability Request 訊息中要求使用該技術時,才需要新增各個測距技術專屬部分。如果是廣告通訊管道,則必須納入所有支援的測距技術。

下表匯總了常見的 Ranging Capability Response 訊息酬載:

八位元 資料類型 說明
0 uint8*2 支援的測距技術位元欄位。指出其餘酬載中包含的測距技術功能集。
  • 0x01 - UWB
  • 0x02 - BLE 頻道音訊
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU
2 位元組陣列 測距技術功能位元組。 根據技術定義的結構體重複區塊。
因解決方案而異 uint8 表示支援技術轉換
  • 0x00 - 支援先中斷再建立。
  • 0x01 - 支援先建後拆。回應器可同時使用多種技術進行測距。
因解決方案而異 uint16 指出回應者裝置的類型。
  • 0x00 - 不明
  • 0x01 - 手機
  • 0x02 - 平板電腦
  • 0x03 - 標記
  • 0x04 - 穿戴式裝置
  • 0x05 - Hearable
  • RFU

下表摘要說明 UWB Ranging Capability Response 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x0 - UWB
1 uint8 大小 UWB 功能位元組的大小 (包括「技術 ID」和「大小」欄位),以位元組為單位。
2 uint8*2 UWB 位址 2 位元組的裝置 UWB 位址。
4 uint8*4 支援的管道位元欄位 支援的管道位元欄位。位元設為 0 表示不支援,設為 1 表示支援。位元 0 對應至通道 0。
LSB == channel 0
MSB == channel 31
8 uint8*4 支援的前序索引位元欄位 支援的前序索引位元欄位。位元設為 0 表示不支援,設為 1 表示支援。位元 0 對應於前序索引 1。
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 支援的設定 ID 位元欄位 支援的 UWB 設定 ID 位元欄位。位元設為 0 表示不支援,設為 1 表示支援。
LSB == config Id 0
MSB == config Id 31
16 uint8*2 支援的測距間隔下限 以毫秒為單位,指出支援的最快測距間隔。允許的值 (以毫秒為單位):
  • 96
  • 120
  • 240
  • 600
18 uint8 支援的最短時段長度 指出支援的最小時段長度 (以毫秒為單位)。舉例來說,如果裝置傳回 1 毫秒,系統會假設裝置也支援 2 毫秒以上的時段長度。允許的值 (以毫秒為單位):
  • 1
  • 2
19 支援的 UWB 裝置角色位元欄位 支援的 UWB 角色位元欄位。舉例來說,如果兩者都支援,最終欄位值為 0x3。
  • 0x1 - 支援發起者角色
  • 0x2 - 支援回應者角色

下表摘要說明 BLE CS Ranging Capability Response 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x1 - BLE CS
1 uint8 大小 BLE CS 功能位元組的大小 (包括「技術 ID」和「大小」欄位),以位元組為單位。
2 uint8 支援的安全類型位元欄位 BLE CS 支援的安全類型位元欄位。
  • 0x01 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x02 - CS_SECURITY_LEVEL_ONE
  • 0x04 - CS_SECURITY_LEVEL_TWO
  • 0x08 - CS_SECURITY_LEVEL_THREE
  • 0x10 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 裝置位址 用於 BLE CS 的裝置位址,採用大端序。

下表摘要說明 Wi-Fi NAN RTT Ranging Capability Response 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x2 - Wi-Fi NAN RTT
1 uint8 大小 BLE RSSI 功能的位元組大小 (包括「技術 ID」和「大小」欄位),以位元組為單位。
2 uint8 支援的功能位元欄位 Bitfield of supported features.
  • 0x01 - 支援 11mc
  • 0x02 - 支援 11az
3 uint8 支援週期性測距
  • 0x0 - 不支援週期性測距
  • 0x1 - 支援週期性測距
4 uint8 支援的頻寬 已淘汰:這項資訊有助於使用 Wi-Fi NAN 推導可達成的測距準確度,並協助應用程式判斷是否要使用 UWB、BLE CS、BLE RSSI 或 Wi-Fi NAN 進行測距。
  • 0x00 - 20 MHz
  • 0x01 - 40 MHz
  • 0x02 - 80 MHz
  • 0x03 - 160 MHz
  • 0x04 - 80+80 MHz
  • 0x05 - 320 MHz
  • RFU
5 uint8 支援的接收鏈數量 已淘汰:這項資訊有助於使用 Wi-Fi NAN 推導可達成的測距準確度,並協助應用程式判斷是否要使用 UWB、BLE CS、BLE RSSI 或 Wi-Fi NAN 進行測距。
  • 0x00 - 未定義
  • 0x01 - 1 個 RX 鏈結
  • 0x02 - 2 個 RX 鏈結
  • 0x03 - 3 個 RX 鏈結
  • 0x04 - 4 個 RX 鏈結

下表摘要說明 BLE RSSI Ranging Capability Response 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x3 - BLE RSSI
1 uint8 大小 BLE RSSI 功能位元組的大小 (包括「技術 ID」和「大小」欄位),以位元組為單位
2 uint8*6 裝置位址 用於 BLE RSSI 的裝置位址,採用大端序

Wi-Fi PD Ranging Capability Response 訊息酬載摘要如下表所示:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x4 - Wi-Fi PD
1 uint8 大小 Wi-Fi PD 功能的大小 (以位元組為單位),包括技術 ID大小欄位 (以位元組為單位)
2 uint8 支援的功能 點陣圖
  • b0 - 支援 11mc
  • b1 - 支援 11az
3 uint8 PansMode 點陣圖
  • b0 - 未經驗證的 PASN 模式
  • b1 - 已驗證的 PASN 模式
4 uint8*6 裝置地址 用於 Wi-Fi PD 的裝置位址,採用大端序。
10 uint8*2 802.11mc 測距間隔下限 以大端序格式表示的 11mc 支援測距間隔下限
12 uint8*2 802.11az 測距時間間隔下限 以大端序格式表示的 11az 支援測距間隔下限
14 uint8 前置碼類型上限
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
假設所有較低的序文都會受到支援。
15 uint8 最大通道寬度
  • 0 - CHANNEL_WIDTH_20MHZ
  • 1 - CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4 - CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5 - CHANNEL_WIDTH_320MHZ
假設系統支援所有較低的通道頻寬。
16 uint8*2 支援的頻道頻率
  • b0 - 頻道 1
  • b1 - 頻道 11
  • b2 - Channel 36
  • b3 - Channel 40
  • b4 - Channel 44
  • b5 - 頻道 48
  • b6 - Channel 153
  • b7 - 頻道 157
  • b8 - 頻道 161
  • b9 - Channel 165
  • b10-b15 - RFU

測距設定訊息酬載

大小 (不含標頭大小):不一 (常見部分為 4 個位元組,加上每個納入的測距技術位元組大小)。

說明:這則訊息是由發起者傳送,內含各項測距技術可開始測距的設定。收到這則訊息後,回應器裝置必須嘗試使用每個指定的測距技術啟動測距作業。這類訊息酬載包含通用部分,以及測距技術專屬部分 (UWB、BLE CS、Wi-Fi NAN RTT、BLE RSSI),如下表所示。

下表匯總了常見的 Ranging Configuration 訊息酬載:

八位元 資料類型 說明
0 uint8*2 測距技術設定集位元欄位 這個訊息包含設定資料的測距技術位元欄位,且必須設定這些技術的設定參數。
  • 0x01 - UWB
  • 0x02 - BLE 頻道音訊
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU
2 uint8*2 位元欄位 RFU。必須設為與「測距技術設定集位元欄位」相同的值。
4 位元組陣列 測距技術設定位元組 根據技術定義的重複結構體區塊
視情況而定 uint8 動態支援 Motion Notification要求支付
  • 0x0 - 表示啟動器裝置不需要動作資料。
  • 0x1 - 表示發起端裝置需要對等裝置的動作資料。

下表摘要說明 UWB Ranging Configuration 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x0 - UWB
1 uint8 大小 UWB 設定的大小 (包括「技術 ID」和「大小」欄位),以位元組為單位
2 uint8*2 UWB 位址 2 位元組的裝置 UWB 位址
4 uint8*4 工作階段 ID 系統產生的工作階段 ID。工作階段 ID 是手機與周邊裝置之間測距工作階段的專屬 ID。
8 uint8 選取的設定 ID 選取以整數表示的設定 ID 號碼。設定 ID 會指定 UWB 測距工作階段必須使用的時間參數和安全類型。
9 uint8 選取的頻道 UWB 測距工作階段的選定通道
10 uint8 選取前言索引 UWB 測距工作階段所選的前序索引
11 uint8*2 選取的測距間隔 選取的測距間隔率 (以毫秒為單位)。允許的值 (以毫秒為單位):
  • 96
  • 120
  • 240
  • 600
13 uint8 選取的時段長度 所選時段的時間長度 (以毫秒為單位)。允許的值 (以毫秒為單位):
  • 1
  • 2
14 uint8 工作階段金鑰長度 工作階段金鑰長度 (以位元組為單位)
15 位元組陣列 工作階段金鑰 工作階段金鑰。如果使用 S-STS,前兩個位元組是供應商 ID,後六個位元組是靜態 STS IV。如果使用 P-STS,則為 16 或 32 位元組的工作階段金鑰。使用的安全性類型取決於設定 ID。
視情況而定 uint8*2 國家/地區代碼 ISO 3166-1 alpha-2 國家/地區代碼,以兩個 ASCII 字元表示
視情況而定 uint8 選取的裝置角色
  • 0x01 - 發起人
  • 0x02 - 回覆者
視情況而定 uint8 選取的裝置模式
  • 0x01 - 控制器
  • 0x02 - 受控端

下表摘要說明 BLE CS Ranging Configuration 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x1 - BLE CS
1 uint8 大小 BLE CS 設定的大小 (包括「技術 ID」和「大小」欄位),以位元組為單位
2 uint8 選取的安全性類型 選取的安全性類型。允許的值:
  • 0x0 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x1 - CS_SECURITY_LEVEL_ONE
  • 0x2 - CS_SECURITY_LEVEL_TWO
  • 0x3 - CS_SECURITY_LEVEL_THREE
  • 0x4 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 裝置位址 用於 BLE CS 的裝置位址,採用大端序

下表摘要說明 Wi-Fi NAN RTT Ranging Configuration 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x2 - Wi-Fi NAN RTT
1 uint8 大小 Wi-Fi NAN RTT 設定的大小 (包括「技術 ID」和「大小」欄位),以位元組為單位
2 uint8 服務名稱長度 服務名稱欄位的長度 (以位元組為單位)。請參閱 Wi-Fi Aware 規格 4.0 版第 1.3.3 節的表 1。定義。
3 位元組陣列 服務名稱 服務名稱。請參閱 Wi-Fi Aware 規格 4.0 版第 1.3.3 節的表 1。定義。
視情況而定 uint8 裝置角色
  • 0x0 - 回應者 (NAN 服務發布者)
  • 0x1 - 發起者 (NAN 服務訂閱者)
視情況而定 uint8 使用週期性測距
  • 0x0 - Periodic ranging disabled
  • 0x1 - 已啟用週期性測距

下表摘要說明 BLE RSSI Ranging Configuration 訊息酬載:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x3 - BLE RSSI
1 uint8 大小 BLE RSSI 設定的大小 (包括技術 ID大小欄位),以位元組為單位
2 uint8*6 裝置位址 用於 BLE RSSI 的裝置位址,採用大端序

Wi-Fi PD Ranging Configuration 訊息酬載摘要如下表所示:

八位元 資料類型 說明
0 uint8 測距技術 ID 0x4 - Wi-Fi PD
1 uint8 大小 Wi-Fi NAN PD 設定的大小 (包括「技術 ID」和「大小」欄位),以位元組為單位
2 uint8 功能
  • 0x01 - 11mc
  • 0x02 - 11az
3 uint8*6 MAC 位址 啟動器 MAC 位址
9 uint8*2 測距間隔 測距間隔 (毫秒)
11 uint8 選取的前言
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
12 uint8 所選頻道寬度
  • 0 - CHANNEL_WIDTH_20MHZ
  • 1 - CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4 - CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5 - CHANNEL_WIDTH_320MHZ
13 uint8 選取的頻道
  • 0 - 頻道 1
  • 1 - Channel 11
  • 2 - 頻道 36
  • 3 - Channel 40
  • 4 - Channel 44
  • 5 - 頻道 48
  • 6 - 頻道 153
  • 7 - 頻道 157
  • 8 - 頻道 161
  • 9 - Channel 165
14 uint8 已選取 PASN 模式
  • 0x01 - 未經驗證的 PASN 模式
  • 0x02 - 已驗證的 PASN 模式
注意:這個欄位是未經驗證的 PASN 模式封包結尾。
15 位元組陣列 裝置身分識別金鑰 16 位元組固定陣列
注意:這個欄位僅適用於已驗證的 PASN 模式,不得為未驗證的 PASN 模式設定
31 uint8 密碼長度 密碼長度。
注意:這個欄位僅適用於已驗證的 PASN 模式,不得為未驗證的 PASN 模式設定。
視情況而定 位元組陣列 密碼 以位元組陣列形式表示的密碼。
注意:這個欄位僅適用於已驗證的 PASN 模式,不得為未驗證的 PASN 模式設定。

Ranging Configuration Response 訊息酬載

大小 (不含標頭大小):2 個位元組

說明:這封郵件是回覆者傳送的,用來回應 Ranging Configuration 訊息。這則訊息為選填,只有在使用的通訊管道需要針對每項要求提供明確回覆時,才必須填寫。

下表摘要說明 Ranging Configuration Response 訊息酬載:

八位元 資料類型 說明
0 uint8*2 已成功設定測距技術設定位元欄位 已成功設定的測距技術位元欄位。如果系統已要求並成功設定技術,位元欄位會將測距技術位元設為 1,否則設為 0。
  • 0x01 - UWB
  • 0x02 - BLE 頻道音訊
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU

停止測距訊息酬載

大小 (不含標頭大小):2 個位元組

說明:當需要停止使用指定測距技術進行測距時,發起端裝置會傳送這則訊息。

下表摘要說明 Stop Ranging 訊息酬載:

八位元 資料類型 說明
0 uint8*2 停止位元欄位的測距技術 必須停止測距的測距技術位元欄位。位元設為 1 表示測距技術必須停止測距,設為 0 則表示測距技術原本就未測距,或必須繼續測距 (如果原本就在測距)。對於某些測距技術 (例如 CS),這項作業不會執行任何動作,因為測距作業只會在發起端啟動和停止。
  • 0x01 - UWB
  • 0x02 - BLE 頻道音訊
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU

停止測距回應訊息酬載

大小 (不含標頭大小):2 個位元組

說明:這封郵件是回覆者傳送的,用來回應 Stop Ranging 訊息。這個訊息為選用項目,只有在使用的通訊管道需要針對每個要求提供明確回應時,才需要提供。

下表匯總了 Stop Ranging Response 訊息酬載:

八位元 資料類型 說明
0 uint8*2 已成功停止測距技術位元欄位 成功停止測距的測距技術位元欄位。如果要求停止測距技術,且該技術已成功停止,位元欄位會將測距技術位元設為 1,否則設為 0。
  • 0x01 - UWB
  • 0x02 - BLE 頻道音訊
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU

動態通知訊息酬載

大小 (不含標頭大小):1 個位元組

說明:回應裝置會傳送這則訊息,通知啟動裝置動作狀態的任何變更。

八位元 資料類型 說明
0 uint8 動作
  • 0x0 - 未偵測到
  • 0x1 - 輕微移動
  • 0x2 - 適度運動
  • 0x3 - 大幅移動
  • RFU
必須設定移動門檻,才能偵測配件任兩軸的 ±X° 方向變化。
  • 未偵測到:< 5°
  • 輕微移動:5° - 7°
  • 中度移動:7° - 10°
  • 大幅移動:> 10°

版本管理

規格版本會顯示在每封郵件的標頭中。 本節說明當其中一個裝置 (發起者或回應者) 的版本較舊時,通訊的進行方式。

案例 1:以連線為基礎的通訊管道

本節說明使用連線式通訊管道的案例,其中 Ranging Capability Request 是啟動器裝置傳送的第一則訊息。

案例 1.a:發起者支援新版規格,回應者支援舊版規格。

發起端裝置會傳送 Ranging Capability Request 訊息,其中包含較新版本。回應裝置只支援舊版,因此會以舊版回應,之後的訊息交換也會使用舊版。也就是說,Ranging Capability Request 訊息必須回溯相容。

案例 1.b:發起者支援舊版規格,回應者支援新版規格。

回應端裝置會發現啟動端裝置無法使用新版,因此只會使用啟動端裝置最初要求的舊版傳送訊息。

案例 2:以廣告為基礎的通訊管道

本節說明使用廣告通訊管道的情況,其中回應裝置會直接放送廣告,無需初始要求。Ranging Capability Request

案例 2.a:發起者支援新版規格,回應者支援舊版規格。

系統會使用Ranging Capability Response廣告中設定的舊版,進行後續通訊。

案例 2.b:發起者支援舊版規格,回應者支援新版規格。

新版 Ranging Capability Response 廣告必須具備回溯相容性,這樣即使發起端裝置使用新版廣告,也能讀取訊息。發起端裝置接著會使用支援的舊版傳送 Ranging Configuration 訊息。這是用於其餘通訊的版本。

為確保 Ranging Capability Response 向下相容,新增至下一個規格版本的任何欄位,都必須附加至 Ranging Capability Response 訊息酬載的結尾,且不得修改任何現有欄位。剖析設定時,如果指定的大小超出預期,任何只能解讀舊版規格的裝置都必須忽略額外欄位。

片段化

這項規格與通訊管道無關,因此不會定義如何將訊息酬載片段化,以免單一訊息過大而無法放入所用通訊管道的傳輸封包。測距模組預期會收到完整形式的每則訊息。OOB 通訊管道的實作者有責任處理片段化問題。

Ranging-technology-specifics

本節包含測距技術的詳細資料。

超寬頻 (UWB) 規格

本節將說明超寬頻的詳細資訊。

設定 ID

為 UWB 交換的 OOB 設定資料不包含 UWB 啟動 UWB 測距工作階段所需的完整可設定參數。這是因為所選設定 ID 會隱含地選取部分參數。

每個設定 ID 都是一組預先定義的 UWB 設定參數,詳情請參閱UwbRangingParams。回應器裝置會傳送支援的所有設定 ID 清單,做為使用的 supports_technology_transitioning 支援設定 ID 的一部分。這樣一來,OOB 期間交換的設定參數就會比較少。這也限制了可搭配 UWB 測距的參數組合數量,因此只能測試允許的參數組合。

在每個 UWB 工作階段後要求功能

停止現有 UWB 工作階段後,發起端裝置必須先要求回應端裝置的功能,然後才能啟動新的 UWB 工作階段,並再次設定設定參數,因為目前的測距工作階段一結束,UWB 位址就會輪替。

BLE 頻道探測 (CS) 具體細節

本節將說明通道探測的具體詳細資料。

裝置間的必要連結

使用通道探測進行測距時,發起端和回應端裝置之間必須存在現有連結。這項規格並未提供在裝置間建立連結的方法。Ranging API 的使用者必須在裝置之間建立這項連結。

CS 回覆者必須採取行動

在 UWB 中,兩部裝置都必須明確呼叫 UWB 開始測距和停止測距 API。相較之下,對於 CS,只需要啟動器裝置呼叫藍牙 (BT) 堆疊,即可啟動 CS 測距。回應端其餘的初始化作業會透過 BT 頻帶進行。也就是說,如果已啟用 BT,回應端收到 CS 的 Ranging ConfigurationStop Ranging 訊息時,不需要採取任何動作。回應裝置可使用這些訊息做為觸發條件,更新 UI 或閃爍裝置 LED 燈。