Android 9 的 Wi-Fi 封包往返時間 (RTT) 功能可讓支援裝置測量與其他支援裝置的距離,例如其為存取點 (AP) 或 Wi-Fi 感知類裝置 (如果裝置支援 Wi-Fi Aware)。這項功能以 IEEE 802.11mc 通訊協定為基礎,可讓應用程式使用更精確的定位精確度和偵測。
範例和來源
如要使用這項功能,請實作供應商 HAL 介面。在 Android 14 以上版本中,供應商 HAL 介面是以 AIDL 定義。在 Android 13 及以下版本中,供應商 HAL 介面是以 HIDL 定義。在 Android 8.0 中,HIDL 取代了先前用於簡化實作項目的硬體抽象層 (HAL) 結構,方法是指定介面和套件收集到的類型和方法呼叫。
按照 Wi-Fi 介面操作,使用 Wi-Fi RTT 功能。 視實作的介面而定,這可能是:
- AIDL:
hardware/interfaces/wifi/aidl
- HIDL:
hardware/interfaces/wifi/1.0
以上版本。
您可以參考舊版 Wi-Fi HAL,瞭解該版本與 AIDL 和 HIDL 介面之間的關聯:hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h。
導入作業
如要實作 Wi-Fi RTT,您必須提供架構和 HAL/韌體支援:
架構:
- Android 開放原始碼計畫程式碼
- 啟用 Wi-Fi RTT:功能標記
Wi-Fi RTT (IEEE 802.11mc) HAL 支援 (代表韌體支援)
如要實作這項功能,請實作 Wi-Fi AIDL 或 HIDL 介面,然後啟用功能旗標:
在
device/<oem>/<device>
中的device.mk
中,修改PRODUCT_COPY_FILES
環境變數以支援 Wi-Fi RTT 功能:PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
在其他情況下,Android 開放原始碼計畫已納入這項功能所需的一切資訊。
MAC 隨機化
為進一步保護隱私,Wi-Fi RTT 交易期間使用的 MAC 位址必須使用隨機化,也就是必須與 Wi-Fi 介面的原生 MAC 位址不相符。不過例外情況是,當裝置與 AP 建立關聯時,可能會使用與該 AP 或其他 AP 相關的任何 RTT 交易相關聯的 MAC 位址。
驗證
有 Android Compatibility Test Suite (CTS) 測試支援這項功能。CTS 會偵測這項功能啟用時,並自動納入相關測試。您也可以使用供應商測試套件 (VTS) 來測試這項功能。
單元測試
Wi-Fi RTT 套件測試是使用以下方式執行:
服務測試:
atest com.android.server.wifi.rtt
管理員測試:
atest android.net.wifi.rtt
CTS
有 Android Compatibility Test Suite (CTS) 測試支援這項功能。CTS 會偵測這項功能啟用時,並自動納入相關測試。支援 Wi-Fi RTT (IEEE 802.11mc) 的存取點必須位於受測裝置的範圍內。
您可以透過以下方式觸發 CTS 測試:
atest WifiRttTest
校準
為了讓 Wi-Fi RTT 發揮最佳效能,802.11mc 通訊協定中傳回的範圍在主要成效指標 (KPI) 中相當準確。針對 90% CDF 錯誤,根據列出的頻寬,建議的範圍 KPI 應具有下列容忍度:
- 80MHz:2 公尺
- 40MHz:4 公尺
- 20MHz:8 公尺
為確保功能的實作方式能正常運作,請務必進行校正測試。
要達成這個目的,您可以將真值範圍與增加距離的 RTT 預估範圍進行比較。針對基本符合性,您應根據已知已完成 RTT 校正的裝置驗證解決方案。應在下列條件下測試範圍校正:
- 大型開放實驗室,或是不含大量金屬物體的走廊,可能會導致多徑發生異常大量的情況。
- 至少 25 公尺的視線 (LOS) 軌道或路徑延展至 25 公尺。
- 以 0.5 公尺為單位的標記,從軌道一端到另一端之間遞增。
將 RTT 支援的 RTT 存取點固定在跑道上一端上方 20 公分的安裝處,以及可隨著軌道移動並對齊 0.5 公尺標記的 Android 手機 (或其他受測試的 Android 行動裝置) 的可移動掛架。
每個標記應記錄 50 筆距離結果,並記錄與存取點之間的距離。應針對每個標記位置計算範圍平均值和變異數等統計資料。
根據步驟 5 的結果,系統會根據預估範圍 (y 軸) 和預估最佳適配迴歸線,繪製實際資料 (x 軸) 圖表。理想情況下,裝置校正會產生漸層 1.0 的折線,y 軸的偏移值為 0.0m。如果這些值落在對應頻寬的 KPI 內,則可以接受這些值的偏差。如果結果不在 KPI 範圍內,則應重新校正裝置功能,根據 KPI 規格提供結果。