La Tempo di round trip (RTT) del Wi-Fi di Android 9 consente ai dispositivi che supportano misurare la distanza da altri dispositivi di supporto: se si tratta di punti di accesso (AP) o peer Wi-Fi Aware (se Wi-Fi Aware) è supportata sul dispositivo). Questa funzione, basata sullo standard IEEE 802.11mc e il protocollo IEEE 802.11az (disponibile su Android 15), consente alle app di usufruire di una maggiore precisione e consapevolezza della geolocalizzazione.
Esempi e fonte
Per utilizzare questa funzionalità, implementa l'interfaccia Vendor HAL. In Android 14 e versioni successive, l'interfaccia Vendor HAL è definita tramite AIDL. In Android 13 e versioni precedenti, l'interfaccia Vendor HAL viene definita tramite HIDL. In Android 8.0, HIDL ha sostituito la precedente struttura HAL (Hardware Abstraction Layer) utilizzata per semplificare le implementazioni specificando i tipi e i metodi di chiamata raccolti interfacce e pacchetti.
Segui l'interfaccia Wi-Fi per utilizzare la funzionalità Wi-Fi RTT. A seconda dell'interfaccia implementata, si tratta di:
- AIDL:
hardware/interfaces/wifi/aidl
- HIDL:
hardware/interfaces/wifi/1.0
o versioni successive.
Puoi fare riferimento alla versione precedente dell'HAL Wi-Fi per vedere come è correlata al Interfacce AIDL e HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h.
Implementazione
Per implementare RTT Wi-Fi, devi fornire sia il framework sia l'HAL/firmware assistenza:
Framework:
- Codice AOSP
- Attiva RTT Wi-Fi: è richiesto un flag funzionalità
Supporto HAL per Wi-Fi RTT (IEEE 802.11mc o IEEE 802.11az), il che implica firmware)
Per implementare questa funzionalità, implementa l'interfaccia Wi-Fi AIDL o HIDL, e abilita il flag funzionalità:
Modifica il valore nella colonna
device.mk
situata indevice/<oem>/<device>
PRODUCT_COPY_FILES
per includere il supporto del Wi-Fi Funzione RTT:PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
In caso contrario, tutto ciò che serve per questa funzionalità è incluso in AOSP.
Randomizzazione MAC
Per migliorare la privacy, l'indirizzo MAC usato durante le transazioni RTT Wi-Fi deve essere casuale, ovvero non deve corrispondere all'indirizzo MAC nativo della rete a riga di comando. Tuttavia, per eccezione, quando un dispositivo è associato a un punto di accesso, può utilizzare l'indirizzo MAC a cui è associato per qualsiasi transazione RTT con quell'AP o con altri AP.
Convalida
Per questa funzionalità esistono test della suite di test di compatibilità Android (CTS). Rilevamenti CTS Quando la funzionalità è abilitata e include automaticamente i test associati. Questa funzionalità può essere testata anche utilizzando Suite di prova del fornitore (VTS).
Test delle unità
I test del pacchetto RTT Wi-Fi vengono eseguiti utilizzando:
Test di servizio:
atest com.android.server.wifi.rtt
Test del gestore:
atest android.net.wifi.rtt
CTS
Per questa funzionalità esistono test della suite di test di compatibilità Android (CTS). Rilevamenti CTS Quando la funzionalità è abilitata e include automaticamente i test associati. Un Il punto di accesso che supporta Wi-Fi RTT (IEEE 802.11mc) deve rientrare nel raggio di il device-under-test.
I test CTS possono essere attivati utilizzando:
atest WifiRttTest
Calibrazione
Affinché RTT Wi-Fi funzioni correttamente, gli intervalli restituiti in 802.11mc o 802.11az i protocolli devono essere accurati entro gli indicatori chiave di prestazione (KPI) descritti in questa sezione.
Per il protocollo 11mc, alle larghezze di banda elencate (80 MHz, 40 MHz, 20 MHz) e una dimensione burst di 8, il KPI per una stima dell'intervallo dovrebbe essere raggiungere la seguente precisione al 90° percentile di errore.
- 80 MHz: 2 metri
- 40 MHz: 4 metri
- 20 MHz: 8 metri
Per il protocollo 11az, la configurazione MIMO dell'antenna e il lungo la ripetizione del campo LTF influisce sulla precisione. Con un normale telefono cellulare (che utilizza 2 antenne) e il punto di accesso (4 antenne), il sistema dispone di un configurazione. Per una configurazione di questo tipo, utilizzando un fattore di ripetizione LTF pari a 2 e alle larghezze di banda elencate (160 MHz, 80 MHz, 40 MHz, 20 MHz), il KPI per una stima dell'intervallo dovrebbe raggiungere il seguente la precisione al 90° percentile di errore.
- 160 MHz: 0,5 metri
- 80 MHz: 1 metro
- 40 MHz: 2 metri
- 20 MHz: 4 metri
Per garantire che l'implementazione della funzione funzioni correttamente, in cui è necessaria l'esecuzione di test.
Ciò può essere ottenuto confrontando un intervallo di dati di fatto con il valore RTT stimato portata a distanze crescenti. Per la conformità di base, è necessario convalidare il proprio soluzione rispetto a un dispositivo noto per essere calibrato RTT. La calibrazione dell'intervallo deve deve essere testato alle seguenti condizioni:
- Un grande laboratorio aperto o un corridoio che non contiene molto metallo oggetti che possono generare occorrenze insolitamente elevate di percorsi multipli.
- Almeno un percorso o una linea di visibilità (LOS) che si estende per 25 m.
- Indicatori con incrementi di 0,5 metri da un'estremità all'altra della traccia.
Un luogo per proteggere un punto di accesso che supporta la funzionalità RTT a un'estremità della traccia montata a 20 cm dal pavimento e su un supporto mobile per uno smartphone Android (o altro dispositivo mobile Android sottoposto a test) che possono essere spostati pista e allineato con gli indicatori di 0, 5 m, sempre a 20 cm sopra al pavimento.
A ogni indicatore devono essere registrati 50 risultati di misurazione, insieme distanza dal punto di accesso. Statistiche come media e varianza dell'intervallo, per ogni posizione dell'indicatore.
Dai risultati nel passaggio 5, è possibile tracciare un grafico per i dati di fatto (asse x) rispetto all'intervallo stimato (asse y) e una linea di regressione di "best fit" stimata. Ideale la calibrazione del dispositivo genererà una linea con un gradiente di 1,0, con un offset di 0,0 m attivato. sull'asse y. Deviazioni da questi valori sono accettabili se rientrano nei KPI per la larghezza di banda corrispondente. Se i risultati non rientrano nel KPI, la funzionalità del dispositivo deve essere ricalibrata per riportare i risultati entro il KPI e la specifica del prodotto.