「尋找中心」精準尋找
「尋找中樞精確尋找」(FHPF) 規格包含實作需求,可讓支援測距技術的裝置透過 Google 的「尋找我的裝置」應用程式支援精確尋找功能。
精確尋找的類型取決於精確尋找裝置支援的測距技術類型。如要瞭解支援的測距技術,請參閱測距:頻外訊息序列和酬載規格。稍後章節將探討根據所用測距技術,可預期哪種精確尋找體驗。
「尋找中心」網路配件
這項規格是尋找中心網路配件 (FHNA) 規格的擴充功能。FHNA 文件中定義的 GATT 特徵和驗證規則,同樣適用於此處。除了 FHNA 規格中已有的作業,本文件也定義了新的作業類型。
測距技術專用酬載
這項規格也參照「Ranging: Out-of-band message sequence and payload」規格,定義個別作業的「Additional Data」欄位中包含的測距技術專用酬載。
精確尋找流程
本節將探討精確尋找功能的 FHNA 訊息流程。圖 1 顯示訊息流程,各段落則詳細說明每則訊息。
圖 1:典型的「精確尋找」訊息流程
發起者裝置是指安裝「尋找中心」應用程式,並啟動「精確尋找」功能的裝置。發起者是嘗試尋找其他裝置的裝置。
回應端裝置是指發起端裝置嘗試尋找的裝置。
「發起者」裝置會將「測距功能要求」訊息傳送至「回應者」裝置,列出要從「回應者」裝置瞭解的測距技術。回應裝置會回覆 Ranging Capability Response 通知,其中包含支援的測距技術及其功能資訊。回應者只會提供發起者要求的資訊。系統會根據回應器裝置偏好的測距技術優先順序排序功能清單,清單中的第一個項目優先順序最高。
發起端裝置接著會傳送「測距設定」訊息,定義要用於測距的每項測距技術設定。收到這則訊息後,回應器裝置必須使用提供的設定,開始測距適用技術。回應裝置會傳回「測距設定」回應通知,其中包含各項測距技術是否順利啟動的結果。部分測距技術必須在發起端和回應端裝置上啟動,才能順利進行測距工作階段;其他技術則只需要在發起端裝置上啟動,但回應端裝置仍須回覆成功結果。如要進一步瞭解特定測距技術的行為,請參閱後續章節。
當發起者裝置準備停止精確尋找工作階段時,會傳送「停止測距」訊息給回應者,指出哪些測距技術必須停止測距。Responder 裝置會傳送「停止測距回應」通知,表示已成功停止使用所要求的測距技術進行測距。
如果 FHNA BLE GATT 通訊管道在精確尋找工作階段中途中斷連線,但部分測距技術仍在測距,回應器裝置會實作逾時機制,確保不會無限期測距。詳細資料會因用途而異。
請注意,回應端裝置不得假設作業順序一律相同。例如,回應器裝置必須能夠連續處理多個「測距功能」要求作業,甚至在沒有先前的功能要求的情況下,直接處理「測距設定」作業。
作業
表 1 列出本文件定義的 FHNA 作業,這些作業是精確尋找功能的必要條件。每個子章節都會定義各項作業的 FHNA 訊息,而「Additional Data」(額外資料) 欄位內容則是指「Ranging: Out-of-band message sequence and payload」(測距:頻外訊息序列和酬載) 規格。
表 1:作業
作業 | 資料 ID | 說明 |
---|---|---|
測距功能要求 | 0x0A | 發起端裝置將傳送至回應端裝置的功能要求作業。這項作業的資料內容會列出發起端想從回應端裝置瞭解的所有測距技術。 |
測距功能回應 | 0x0A | 這是對「測距功能要求」作業的回覆通知。其中包含發起者要求的各項支援測距技術功能資訊。 |
選擇設定 | 0x0B | 「Ranging Configuration」作業包含發起端裝置要與回應端裝置開始測距的測距技術設定。 |
測距設定回應 | 0x0B | 這是對測距設定作業的回應通知。其中包含的資料會說明,Responder 裝置是否已根據提供的設定,成功啟動所要求的測距技術。 |
RFU | 0x0C | 這個資料 ID 的作業不會使用,保留供日後使用。 |
停止測距 | 0x0D | 發起端裝置傳送的「停止測距」作業包含相關資訊,說明回應端裝置必須停止使用哪些測距技術。 |
停止範圍回應 | 0x0D | 這是「停止測距」作業的通知回應。其中包含特定測距技術的停止作業是否成功。 |
Ranging Capability Request 訊息
表 2 定義了「測距功能要求」訊息。
表 2:測距功能要求
八位元 | 資料類型 | 說明 | 值 |
---|---|---|---|
0 | uint8 | 資料 ID | 0x0A - Ranging Capability Request 作業 |
1 | uint8 | 資料長度 | 視情況而定 |
2 | 位元組陣列 | 一次性驗證金鑰 | HMAC-SHA256(帳戶金鑰、通訊協定主要版本號碼 || 從特徵讀取的最後一個隨機數 || 資料 ID || 資料長度 || 其他資料) 的前 8 個位元組。 |
10 | 位元組陣列 | 其他資料 | 測距功能要求訊息,如測距:頻外訊息序列和酬載規格 (標頭和酬載) 所定義 |
測距功能回應訊息
表 3 定義了「測距功能回應」訊息。
表 3:測距功能回應
八位元 | 資料類型 | 說明 | 值 |
---|---|---|---|
0 | uint8 | 資料 ID | 0x0A:測距功能回應 |
1 | uint8 | 資料長度 | 視情況而定 |
2 | 位元組陣列 | 一次性驗證金鑰 | HMAC-SHA256(帳戶金鑰、通訊協定主要版本號碼 || 從特徵讀取的最後一個隨機值 || 資料 ID || 資料長度 || 其他資料 || 0x01) 的前 8 個位元組。 |
10 | 位元組陣列 | 其他資料 | 測距功能回應訊息,如「測距:頻外訊息序列和酬載」規格中所定義 (標頭和酬載) |
選擇設定訊息
表 4 定義了「Ranging Configuration」訊息。
表 4:測距設定
八位元 | 資料類型 | 說明 | 值 |
---|---|---|---|
0 | uint8 | 資料 ID | 0x0B - 設定測距設定 |
1 | uint8 | 資料長度 | 視情況而定 |
2 | 位元組陣列 | 一次性驗證金鑰 | HMAC-SHA256(帳戶金鑰、通訊協定主要版本號碼 || 從特徵讀取的最後一個隨機數 || 資料 ID || 資料長度 || 其他資料) 的前 8 個位元組。 |
10 | 位元組陣列 | 其他資料 | Ranging Configuration 訊息,如「Ranging: Out-of-band message sequence and payload」規格中所定義 (標頭和酬載) |
Ranging Configuration Response 訊息
表 5 定義了 Ranging Configuration Response 訊息。
表 5:測距設定回應
八位元 | 資料類型 | 說明 | 值 |
---|---|---|---|
0 | uint8 | 資料 ID | 0x0B - 設定測距設定回應 |
1 | uint8 | 資料長度 | 視情況而定 |
2 | 位元組陣列 | 一次性驗證金鑰 | HMAC-SHA256(帳戶金鑰、通訊協定主要版本號碼 || 從特徵讀取的最後一個隨機值 || 資料 ID || 資料長度 || 其他資料 || 0x01) 的前 8 個位元組。 |
10 | 位元組陣列 | 其他資料 | Ranging: Out-of-band message sequence and payload 規格中定義的「Ranging Configuration Response」訊息 (標頭和酬載) |
停止測距訊息
表 6 定義了 Stop Ranging 訊息。
表 6:停止測距
八位元 | 資料類型 | 說明 | 值 |
---|---|---|---|
0 | uint8 | 資料 ID | 0x0D - 測距停止 |
1 | uint8 | 資料長度 | 視情況而定 |
2 | 位元組陣列 | 一次性驗證金鑰 | HMAC-SHA256(帳戶金鑰、通訊協定主要版本號碼 || 從特徵讀取的最後一個隨機值 || 資料 ID || 資料長度) 的前 8 個位元組。 |
10 | 位元組陣列 | 其他資料 | 停止測距訊息,如「測距:頻外訊息序列和酬載」規格中所定義 (標頭和酬載) |
停止測距回覆訊息
表 7 定義了「停止測距回應」訊息。
表 7:停止測距回應
八位元 | 資料類型 | 說明 | 值 |
---|---|---|---|
0 | uint8 | 資料 ID | 0x0D - 測距停止回應 |
1 | uint8 | 資料長度 | 視情況而定 |
2 | 位元組陣列 | 一次性驗證金鑰 | HMAC-SHA256(帳戶金鑰、通訊協定主要版本號碼 || 從特徵讀取的最後一個隨機值 || 資料 ID || 資料長度 || 其他資料 || 0x01) 的前 8 個位元組。 |
10 | 位元組陣列 | 其他資料 | 停止測距回應訊息,如「測距:頻外訊息序列和酬載」規格中所定義 (標頭和酬載) |
不必要的追蹤保護
如FHNA 規格所述,啟用不必要的追蹤防護模式後,適用於略過鈴響訊息驗證檢查的流程,也會適用於這份文件中定義的所有精確尋找訊息,以便裝置支援這項功能。
FHNA 規格:
如果供應商未佈建為 FHNA 信號,或驗證失敗,系統會傳回未經驗證的錯誤。不過,如果供應商啟用了不必要的追蹤保護功能,且觸發不必要追蹤保護要求的鈴聲驗證略過旗標已開啟,供應商應略過該檢查。Seeker 仍須提供驗證資料,但可設為任意值。
測距技術規格
這個部分包含測距技術專屬的詳細資料。
超寬頻 (UWB) 規格
UWB 的具體詳細資料。
精確度發現層級
使用 UWB 做為測距技術的精確尋找工作階段,預期會顯示距離和方向資訊。測距間隔至少須為 240 毫秒,建議設為 96 毫秒,以獲得最佳指引。
設定 ID
為 UWB 交換的頻外設定資料,不包含 UWB 啟動 UWB 測距工作階段所需的完整可設定參數。所選設定 ID 會隱含選取部分參數。
每個設定 ID 都是一組預先定義的 UWB 設定參數,公開文件中都有說明。 如果是精確尋找用途,回應器裝置必須支援設定 ID 6,以及選用的設定 ID 3。
UWB 發起端和回應端
在精確尋找的使用情境中,本文中標示為「發起端裝置」的裝置會是 UWB 回應端,而標示為「回應端裝置」的裝置會是 UWB 發起端。這是因為 UWB 啟動器裝置的耗電量比 UWB 回應器裝置低,而且在大多數情況下,回應器裝置是電池容量有限的周邊裝置。
也就是說,回應端裝置必須在「Ranging Capability Response」訊息中指出支援 UWB 啟動器角色。
其他 UWB 相關參數
- 必須支援頻道 9
- 為獲得最佳指引,建議使用 96 毫秒的測距間隔,否則必須支援 240 毫秒。
- 建議將時段長度設為 1 毫秒,以節省電力,但系統也支援 2 毫秒。
- UWB 晶片必須至少符合 FIRA v1.2 + P-STS 規範。
- BPRF 為必要屬性,HPRF 則為選用屬性,但建議使用。支援或選取的模式取決於支援或選取的序文索引。
- 工作階段安全性類型:P-STS
BLE 頻道探測 (CS) 具體事項
BLE CS 的具體詳細資料。
精確度發現層級
使用 CS 做為測距技術的精確尋找工作階段只會測量距離,目前不會提供方向性。
裝置間必須建立連結
如果裝置未配對,就無法使用通道探測功能進行精確尋找。發起端和回應端裝置之間必須已建立繫結。這項規格並未提供在裝置間建立連線的方法。而是由用途開發人員負責建立裝置間的連結。
CS 回覆者必須採取行動
與 UWB 不同,UWB 需要兩部裝置明確呼叫 UWB 開始測距和停止測距 API,但 CS 只需要發起端裝置呼叫藍牙堆疊來啟動 CS 測距,其餘初始化作業會在回應端透過藍牙 (BT) 頻帶內進行。也就是說,如果已啟用 BT,回應端收到 CS 的「Ranging Configuration」或「Stop Ranging」訊息時,除了回覆「Ranging Configuration Response」訊息通知外,不必採取任何行動。回應端裝置可能會將這些訊息做為觸發條件,更新有螢幕的 UI,或用於裝置狀態的視覺回饋 (例如閃爍裝置 LED),無論是否有螢幕皆可使用。
Wi-Fi NAN RTT
Wi-Fi NAN RTT 的詳細資料。
精確度發現層級
如果使用 Wi-Fi NAN RTT 做為測距技術,精確尋找工作階段只會測量距離,目前不會提供方向資訊。
BLE RSSI
BLE RSSI 的詳細資料。
精確度發現層級
如果精確尋找工作階段只使用 BLE RSSI 做為測距技術,由於 BLE RSSI 並非準確的測距技術,因此無法取得距離或方向資訊。使用者只會看到裝置靠近或裝置遠離的指引。