Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Wi-Fi RTT (IEEE 802.11mc)

La funzionalità Wi-Fi Round Trip Time (RTT) in Android 9 consente ai dispositivi di supporto di misurare la distanza da altri dispositivi di supporto: siano essi punti di accesso (AP) o peer consapevoli del Wi-Fi (se il Wi-Fi Aware è supportato sul dispositivo). Questa funzione, basata sul protocollo IEEE 802.11mc, consente alle app di utilizzare l'accuratezza e la consapevolezza della posizione migliorate.

Esempi e fonte

Per utilizzare questa funzione, implementa il linguaggio di progettazione dell'interfaccia hardware Wi-Fi (HIDL) fornito nel progetto Android Open Source (AOSP). In Android 8.0, HIDL sostituisce la precedente struttura HAL (Hardware Abstraction Layer) utilizzata per semplificare le implementazioni specificando i tipi e le chiamate ai metodi raccolti in interfacce e pacchetti.

Segui l'HIDL Wi-Fi per utilizzare la funzionalità Wi-Fi RTT: hardware/interfaces/wifi/1.0 o successive.

Puoi fare riferimento all'HAL Wi-Fi legacy per vedere come è correlato alla nuova interfaccia HIDL: hardware / libhardware_legacy / + / master / include / hardware_legacy / rtt.h.

Implementazione

Per implementare il Wi-Fi RTT, è necessario fornire sia il framework che il supporto HAL / firmware:

  • Struttura:

    • Codice AOSP
    • Abilita Wi-Fi RTT: richiede un flag funzione
  • Supporto HAL Wi-Fi RTT (IEEE 802.11mc) (che implica il supporto firmware)

Per implementare questa funzione, implementa l'HIDL Wi-Fi e abilita il flag di funzionalità:

  • In device.mk situato in device/<oem>/<device> , modifica la variabile di ambiente PRODUCT_COPY_FILES per includere il supporto per la funzionalità RTT Wi-Fi:

     PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
     

Altrimenti, tutto ciò che è richiesto per questa funzione è incluso in AOSP.

Randomizzazione MAC

Per migliorare la privacy, l'indirizzo MAC utilizzato durante le transazioni RTT Wi-Fi deve essere randomizzato, ovvero non deve corrispondere all'indirizzo MAC nativo dell'interfaccia Wi-Fi. Tuttavia, in via eccezionale, quando un dispositivo è associato a un AP, può utilizzare l'indirizzo MAC a cui è associato per qualsiasi transazione RTT con tale AP o con altri AP.

Validazione

Esistono test Android Compatibility Test Suite (CTS) per questa funzione. CTS rileva quando la funzione è abilitata e include automaticamente i test associati. Questa funzione può anche essere testata utilizzando Vendor Test Suite (VTS) e act / sl4a , una suite di test che esegue test di integrazione approfonditi.

Test unitari

I test del pacchetto RTT Wi-Fi vengono eseguiti utilizzando:

Test di servizio:

 % ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh -e package
com.android.server.wifi.rtt
 

Test manager:

 % ./frameworks/base/wifi/tests/runtests.sh -e package android.net.wifi.rtt
 

Test di integrazione (ACTS)

La suite di test act / sl4a, descritta in /tools/test/connectivity/acts/tests/google/wifi/rtt/README.md , fornisce test funzionali, prestazionali e di stress.

CTS

Esistono test Android Compatibility Test Suite (CTS) per questa funzione. CTS rileva quando la funzione è abilitata e include automaticamente i test associati. Un punto di accesso che supporti il ​​Wi-Fi RTT (IEEE 802.11mc) deve trovarsi entro il raggio del dispositivo sottoposto a test.

I test CTS possono essere attivati ​​utilizzando:

 % atest WifiRttTest
 

Calibrazione

Affinché il Wi-Fi RTT funzioni bene, gli intervalli restituiti nel protocollo 802.11mc sono perfettamente accurati all'interno dell'indicatore chiave di prestazione (KPI). Per l'errore CDF del 90%, alle larghezze di banda elencate, il KPI consigliato per una stima dell'intervallo dovrebbe avere le seguenti tolleranze:

  • 80MHz: 2 metri
  • 40 MHz: 4 metri
  • 20MHz: 8 metri

Per garantire che l'implementazione della funzione funzioni correttamente, è necessario eseguire i test di calibrazione.

Ciò può essere ottenuto confrontando un intervallo di verità di base con l'intervallo stimato di RTT a distanze crescenti. Per la conformità di base, è necessario convalidare la soluzione rispetto a un dispositivo noto per essere calibrato RTT. La calibrazione della gamma deve essere testata nelle seguenti condizioni:

  1. Un grande laboratorio aperto o un corridoio che non ha molti oggetti metallici che possono provocare ricorrenze insolitamente alte di percorsi multipli.
  2. Almeno una traccia / percorso Line-Of-Sight (LOS) che si estende per 25m.
  3. Indicatori di incrementi di 0,5 metri da un'estremità della pista all'altra.
  4. Un posto per fissare un punto di accesso in grado di RTT a un'estremità del binario montato a 20 cm dal pavimento e un supporto mobile per un telefono Android (o un altro dispositivo mobile Android in prova) che può essere spostato lungo il binario e allineato con il Indicatori di 0,5 m, anche a 20 cm dal pavimento. Nota: questo compito ripetitivo può essere eseguito da un piccolo robot, ma va bene anche un operatore umano.
  5. Su ogni marker dovrebbero essere registrati 50 risultati di distanza, insieme alla distanza dal punto di accesso. Le statistiche, come media intervallo e varianza, devono essere calcolate per ogni posizione del marker.

Dai risultati del passaggio 5, è possibile tracciare un grafico per la verità del suolo (asse x) rispetto all'intervallo stimato (asse y) e stimata una linea di regressione più adatta. La calibrazione ideale del dispositivo produrrà una linea di gradiente 1.0, con offset 0,0 m sull'asse y. Le deviazioni da questi valori sono accettabili se rientrano nel 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 nelle specifiche KPI.