Wi-Fi RTT (IEEE 802.11mc)

Funkcja czasu błądzenia w sieci Wi-Fi (RTT) w Androidzie 9 umożliwia urządzeniom pomiar odległości od innych urządzeń obsługujących: niezależnie od tego, czy są to punkty dostępu (AP) czy połączenia równorzędne Wi-Fi Aware (jeśli urządzenie Wi-Fi Aware jest obsługiwane). Ta funkcja, oparta na protokole IEEE 802.11mc, umożliwia aplikacjom korzystanie z ulepszonej dokładności i rozpoznawania lokalizacji.

Przykłady i źródło

Aby korzystać z tej funkcji, wdróż interfejs HAL dostawcy. W Androidzie 14 i nowszych interfejs HAL dostawcy jest definiowany za pomocą AIDL. W Androidzie 13 i starszych wersjach interfejs HAL dostawcy jest definiowany za pomocą HIDL. W Androidzie 8.0 protokół HIDL zastąpił poprzednią strukturę w postaci sprzętowej warstwy abstrakcji (HAL) używaną do usprawnienia implementacji przez określenie typów i wywołań metod zbieranych w interfejsach i pakietach.

Postępuj zgodnie z interfejsem Wi-Fi, aby zastosować funkcję RTT Wi-Fi. W zależności od tego, który interfejs został zaimplementowany, wygląda to tak:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 lub później.

Możesz sprawdzić starszą wersję Wi-Fi HAL, aby sprawdzić, jak ta funkcja jest powiązana z interfejsami AIDL i HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h.

Implementacja

Aby wdrożyć RTT Wi-Fi, musisz zapewnić zarówno obsługę platformy, jak i oprogramowania HAL/firmowego:

  • Platforma:

    • Kod AOSP
    • Włącz RTT Wi-Fi: wymaga flagi funkcji
  • Obsługa protokołu HAL Wi-Fi RTT (IEEE 802.11mc) (co oznacza obsługę oprogramowania układowego)

Aby wdrożyć tę funkcję, zaimplementuj interfejs Wi-Fi AIDL lub HIDL i włącz flagę funkcji:

  • W regionie device.mk w regionie device/<oem>/<device> zmodyfikuj zmienną środowiskową PRODUCT_COPY_FILES, by uwzględnić obsługę funkcji 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
    

W przeciwnym razie wszystkie dane wymagane przez tę funkcję są uwzględnione w raporcie AOSP.

randomizacja MAC

Aby zwiększyć prywatność, adres MAC używany podczas transakcji Wi-Fi RTT musi być losowy, tzn. nie może być zgodny z natywnym adresem MAC interfejsu Wi-Fi. Wyjątkiem są jednak sytuacje, gdy urządzenie jest powiązane z punktem dostępu i może używać adresu MAC powiązanego z transakcjami RTT z tym lub innym punktem dostępu.

Weryfikacja

Dla tej funkcji dostępne są testy CTS (Android Compatibility Test Suite). CTS wykrywa, kiedy funkcja jest włączona, i automatycznie uwzględnia powiązane testy. Tę funkcję możesz też przetestować za pomocą Vendor Test Suite (VTS).

Testy jednostkowe

Testy pakietu Wi-Fi RTT są wykonywane przy użyciu:

Testy usługi:

atest com.android.server.wifi.rtt

Testy menedżera:

atest android.net.wifi.rtt

wskaźnik CTS

Dla tej funkcji dostępne są testy CTS (Android Compatibility Test Suite). CTS wykrywa, kiedy funkcja jest włączona, i automatycznie uwzględnia powiązane testy. Punkt dostępu, który obsługuje RTT Wi-Fi (IEEE 802.11mc), musi znajdować się w zasięgu urządzenia w trakcie testu.

Testy CTS można aktywować za pomocą:

atest WifiRttTest

Kalibracja

Aby funkcja RTT Wi-Fi działała prawidłowo, zakresy zwrócone w protokole 802.11mc powinny być jak najbardziej dokładne w kluczowym wskaźniku wydajności (KPI). W przypadku błędu CDF 90% przy wymienionych przepustowości zalecany KPI dla szacowanego zakresu powinien mieć następujące tolerancje:

  • 80 MHz: 2 metry
  • 40 MHz: 4 metry
  • 20 MHz: 8 metrów

Aby upewnić się, że implementacja funkcji działa prawidłowo, konieczne są testy kalibracji.

Można to osiągnąć, porównując zakres danych podstawowych z szacowanym zakresem RTT przy rosnących odległościach. Aby uzyskać podstawową zgodność, sprawdź działanie rozwiązania w przypadku urządzenia, które jest skalibrowane za pomocą RTT. Kalibrację zakresu należy przetestować w tych warunkach:

  1. Duże otwarte laboratorium lub korytarz bez wielu metalowych obiektów, który może powodować wyjątkowo częste przypadki wielościeżkowej wielościeżki.
  2. Co najmniej tor lub ścieżka wzrokowa rozciągająca się na 25 m.
  3. Znaczniki w odstępach co 0,5 metra od jednego końca trasy do drugiego.
  4. Miejsce na zapewnienie punktu dostępu obsługującego RTT na jednym końcu toru montowanego na wysokości 20 cm nad podłogą oraz ruchomy uchwyt do telefonu z Androidem (lub innego testowanego urządzenia mobilnego z Androidem), który można przesuwać wzdłuż toru i wyrównać ze znacznikami 0,5 m nad podłogą.

  5. Przy każdym znaczniku powinno zostać zapisanych 50 wyników wyszukiwania wraz z odległością od punktu dostępu. Dla każdej pozycji znacznika należy obliczać statystyki, takie jak średnia zakresu i wariancja.

Na podstawie wyników w kroku 5 można przedstawić wykres dla danych podstawowych (oś X) z szacowanym zakresem (oś Y) i oszacowaną najlepiej pasującą linię regresji. Idealna kalibracja urządzenia powoduje wyświetlenie linii gradientu 1,0 z przesunięciem 0,0 m na osi Y. Odchylenia od tych wartości są dopuszczalne, o ile mieszczą się w zakresie KPI danej przepustowości. Jeśli wyniki wykraczają poza KPI, należy ponownie skalibrować funkcję urządzenia, aby uzyskać wyniki zgodne ze specyfikacją KPI.