Wi-Fi RTT (IEEE 802.11mc)

Okrągły Wi-Fi podróży Czas (RTT) funkcja w Androidzie 9 umożliwia urządzeń wspieranie zmierzyć odległość do innych urządzeń wspomagających: czy są one Punkty dostępowe (AP) lub Wi-Fi Aware rówieśnicy (jeśli Wi-Fi Aware jest obsługiwany przez urządzenie). Ta funkcja, zbudowana na protokole IEEE 802.11mc, umożliwia aplikacjom korzystanie ze zwiększonej dokładności i świadomości lokalizacji.

Przykłady i źródło

Aby korzystać z tej funkcji, zaimplementuj język projektowania interfejsu sprzętowego Wi-Fi (HIDL) dostarczony w projekcie Android Open Source Project (AOSP). W systemie Android 8,0 HIDL zastępuje poprzednią strukturę warstwy abstrakcji sprzętu (HAL) używaną do usprawnienia implementacji przez określenie typów i wywołań metod zebranych w interfejsach i pakietach.

Śledź Wi-Fi HIDL zatrudnić funkcję Wi-Fi RTT: hardware/interfaces/wifi/1.0 lub nowszej.

Można odwołać się do spuścizny bezprzewodowy HAL, aby zobaczyć, jak to koreluje z nowym interfejsem HIDL: sprzętu / libhardware_legacy / + / master / include / hardware_legacy / rtt.h .

Realizacja

Aby zaimplementować Wi-Fi RTT, musisz zapewnić wsparcie zarówno dla frameworka, jak i HAL/firmware:

  • Struktura:

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

Aby zaimplementować tę funkcję, zaimplementuj HIDL Wi-Fi i włącz flagę funkcji:

  • W device.mk znajduje się w device/<oem>/<device> zmodyfikuj PRODUCT_COPY_FILES zmienną środowiskową o obsługę funkcji 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
    

W przeciwnym razie wszystko, co jest wymagane do tej funkcji, jest zawarte w AOSP.

Randomizacja MAC

Aby zwiększyć prywatność, adres MAC używany podczas transakcji Wi-Fi RTT musi być losowy, tj. nie może być zgodny z natywnym adresem MAC interfejsu Wi-Fi. Jednak w drodze wyjątku, gdy urządzenie jest skojarzone z AP, może używać adresu MAC, z którym jest skojarzone, do dowolnych transakcji RTT z tym AP lub innymi AP.

Walidacja

Dla tej funkcji istnieją testy Android Compatibility Test Suite (CTS). CTS wykrywa, kiedy funkcja jest włączona i automatycznie dołącza powiązane testy. Funkcja ta może być również przetestowane przy użyciu dostawcy Test Suite (VTS) i działa / sl4a , zestaw testowy, który przeprowadza szeroko zakrojone badania integracji.

Testy jednostkowe

Testy pakietów Wi-Fi RTT wykonujemy za pomocą:

Testy serwisowe:

atest com.android.server.wifi.rtt

Testy menedżerskie:

atest android.net.wifi.rtt

Testy integracyjne (ACTS)

Zestaw testowy działa / sl4a, opisane w /tools/test/connectivity/acts/tests/google/wifi/rtt/README.md , zapewnia testy funkcjonalne, wydajność i stres.

CTS

Dla tej funkcji istnieją testy Android Compatibility Test Suite (CTS). CTS wykrywa, kiedy funkcja jest włączona i automatycznie dołącza powiązane testy. Punkt dostępowy obsługujący Wi-Fi RTT (IEEE 802.11mc) musi znajdować się w zasięgu testowanego urządzenia.

Testy CTS można uruchomić za pomocą:

atest WifiRttTest

Kalibrowanie

Aby Wi-Fi RTT działało dobrze, zakresy zwracane w protokole 802.11mc są idealnie dokładne w ramach kluczowego wskaźnika wydajności (KPI). W przypadku błędu 90% CDF, przy wymienionych szerokościach pasma, zalecany wskaźnik KPI dla oszacowania 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 poprawnie, konieczne jest przeprowadzenie testów kalibracyjnych.

Można to osiągnąć, porównując zasięg prawdy naziemnej z szacowanym zasięgiem RTT na coraz większych odległościach. Aby uzyskać podstawową zgodność, należy sprawdzić poprawność swojego rozwiązania względem urządzenia, o którym wiadomo, że jest skalibrowane RTT. Kalibracja zakresu powinna być testowana w następujących warunkach:

  1. Duże otwarte laboratorium lub korytarz, w którym nie ma wielu metalowych obiektów, co może skutkować niezwykle dużą liczbą wielodrożności.
  2. Co najmniej tor/ścieżka w zasięgu wzroku (LOS) rozciągająca się na 25 m.
  3. Znaczniki co 0,5 metra od jednego końca toru do drugiego.
  4. Miejsce do zabezpieczenia punktu dostępowego obsługującego RTT na jednym końcu toru zamontowanego 20 cm nad podłogą oraz ruchomy uchwyt na telefon z systemem Android (lub inne testowane urządzenie mobilne z systemem Android), który można przesuwać wzdłuż toru i ustawiać w linii z Znaczniki 0,5m, również 20cm nad podłogą. Uwaga: to powtarzające się zadanie może wykonać mały robot, ale operator jest również w porządku.
  5. Przy każdym znaczniku należy zarejestrować 50 wyników pomiaru wraz z odległością od punktu dostępu. Dla każdej pozycji markera należy obliczyć statystyki, takie jak średnia zakresu i wariancja.

Na podstawie wyników w kroku 5 można narysować wykres dla podstawowej prawdy (oś x) względem szacowanego zakresu (oś y) i oszacowanej linii regresji najlepszego dopasowania. Idealna kalibracja urządzenia da w wyniku linię gradientu 1.0 z przesunięciem 0.0m na ​​osi y. Odchylenia od tych wartości są dopuszczalne, jeśli mieszczą się w KPI dla odpowiedniej przepustowości. Jeśli wyniki wykraczają poza KPI, funkcję urządzenia należy ponownie skalibrować, aby uzyskać wyniki zgodne ze specyfikacją KPI.