Fitur Wi-Fi Round Trip Time (RTT) di Android 9 memungkinkan perangkat pendukung untuk mengukur jarak ke perangkat pendukung lainnya: apakah itu Access Point (AP) atau peer Wi-Fi Aware (jika Wi-Fi Aware didukung di perangkat). Fitur ini, dibangun di atas protokol IEEE 802.11mc, memungkinkan aplikasi menggunakan akurasi dan kewaspadaan lokasi yang ditingkatkan.
Contoh dan sumber
Untuk menggunakan fitur ini, implementasikan Wi-Fi Hardware Interface Design Language (HIDL) yang disediakan di Android Open Source Project (AOSP). Di Android 8.0, HIDL menggantikan struktur Hardware Abstraction Layer (HAL) sebelumnya yang digunakan untuk menyederhanakan implementasi dengan menentukan jenis dan panggilan metode yang dikumpulkan ke dalam antarmuka dan paket.
Ikuti HIDL Wi-Fi untuk menggunakan fitur Wi-Fi RTT: hardware/interfaces/wifi/1.0
atau lebih baru.
Anda dapat merujuk ke HAL Wi-Fi lawas untuk melihat bagaimana korelasinya dengan antarmuka HIDL baru: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h .
Penerapan
Untuk mengimplementasikan Wi-Fi RTT, Anda harus menyediakan kerangka kerja dan dukungan HAL/firmware:
Kerangka:
- Kode AOSP
- Aktifkan RTT Wi-Fi: memerlukan bendera fitur
Dukungan Wi-Fi RTT (IEEE 802.11mc) HAL (yang menyiratkan dukungan firmware)
Untuk mengimplementasikan fitur ini, implementasikan Wi-Fi HIDL dan aktifkan flag fitur:
Di
device.mk
yang terletak didevice/<oem>/<device>
, ubah variabel lingkunganPRODUCT_COPY_FILES
untuk menyertakan dukungan untuk fitur 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
Jika tidak, semua yang diperlukan untuk fitur ini disertakan dalam AOSP.
pengacakan MAC
Untuk meningkatkan privasi, alamat MAC yang digunakan selama transaksi RTT Wi-Fi harus diacak, yaitu tidak boleh cocok dengan alamat MAC asli dari antarmuka Wi-Fi. Namun, sebagai pengecualian, saat perangkat dikaitkan dengan AP, perangkat tersebut dapat menggunakan alamat MAC yang terkait dengannya untuk setiap transaksi RTT dengan AP tersebut atau dengan AP lainnya.
Validasi
Tes Kompatibilitas Android Test Suite (CTS) tersedia untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan tes terkait. Fitur ini juga dapat diuji menggunakan Vendor Test Suite (VTS) dan actions/sl4a , sebuah test suite yang melakukan pengujian integrasi ekstensif.
Tes unit
Tes paket Wi-Fi RTT dijalankan menggunakan:
Tes layanan:
atest com.android.server.wifi.rtt
Tes manajer:
atest android.net.wifi.rtt
Tes Integrasi (ACTS).
Rangkaian pengujian act/sl4a, yang dijelaskan di /tools/test/connectivity/acts_tests/tests/google/wifi/rtt/README.md
, menyediakan pengujian fungsional, kinerja, dan stres.
CTS
Tes Kompatibilitas Android Test Suite (CTS) tersedia untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan tes terkait. Titik Akses yang mendukung Wi-Fi RTT (IEEE 802.11mc) harus berada dalam jangkauan pengujian perangkat.
Tes CTS dapat dipicu menggunakan:
atest WifiRttTest
Kalibrasi
Agar RTT Wi-Fi bekerja dengan baik, rentang yang dikembalikan dalam protokol 802.11mc idealnya akurat dalam Indikator Kinerja Utama (KPI). Untuk kesalahan CDF 90%, pada bandwidth yang tercantum, KPI yang disarankan untuk estimasi rentang diharapkan memiliki toleransi berikut:
- 80MHz: 2 meter
- 40MHz: 4 meter
- 20MHz: 8 meter
Untuk memastikan implementasi fitur berjalan dengan baik, diperlukan pengujian kalibrasi.
Ini dapat dicapai dengan membandingkan rentang kebenaran dasar dengan rentang perkiraan RTT pada jarak yang semakin jauh. Untuk kesesuaian dasar, Anda harus memvalidasi solusi Anda terhadap perangkat yang dikenal dengan kalibrasi RTT. Kalibrasi rentang harus diuji dalam kondisi berikut:
- Laboratorium terbuka yang besar, atau koridor yang tidak memiliki banyak benda logam yang dapat mengakibatkan kejadian multi-jalur yang luar biasa tinggi.
- Setidaknya lintasan/jalur Line-Of-Sight (LOS) yang membentang sejauh 25m.
- Penanda dengan peningkatan 0,5 meter dari satu ujung lintasan ke ujung lainnya.
- Tempat untuk mengamankan titik akses berkemampuan RTT di salah satu ujung lintasan yang dipasang 20 cm di atas lantai, dan dudukan yang dapat dipindahkan untuk ponsel Android (atau perangkat seluler Android lainnya yang sedang diuji) yang dapat dipindahkan di sepanjang lintasan, dan disejajarkan dengan penanda 0,5 m, juga 20 cm di atas lantai. Catatan: Tugas berulang ini dapat dilakukan oleh robot kecil, tetapi operator manusia juga tidak masalah.
- 50 hasil jangkauan harus dicatat pada setiap penanda, bersama dengan jarak dari titik akses. Statistik, seperti rata-rata rentang dan varians, harus dihitung untuk setiap posisi penanda.
Dari hasil pada langkah 5, sebuah bagan dapat ditarik untuk kebenaran dasar (sumbu x) terhadap rentang yang diestimasi (sumbu y) dan estimasi garis regresi yang paling cocok. Kalibrasi perangkat yang ideal akan menghasilkan garis gradien 1,0, dengan offset 0,0m pada sumbu y. Penyimpangan dari nilai ini dapat diterima jika berada dalam KPI untuk bandwidth yang sesuai. Jika hasilnya di luar KPI, fitur perangkat harus dikalibrasi ulang agar hasilnya sesuai dengan spesifikasi KPI.
,Fitur Wi-Fi Round Trip Time (RTT) di Android 9 memungkinkan perangkat pendukung untuk mengukur jarak ke perangkat pendukung lainnya: apakah itu Access Point (AP) atau peer Wi-Fi Aware (jika Wi-Fi Aware didukung di perangkat). Fitur ini, dibangun di atas protokol IEEE 802.11mc, memungkinkan aplikasi menggunakan akurasi dan kewaspadaan lokasi yang ditingkatkan.
Contoh dan sumber
Untuk menggunakan fitur ini, implementasikan Wi-Fi Hardware Interface Design Language (HIDL) yang disediakan di Android Open Source Project (AOSP). Di Android 8.0, HIDL menggantikan struktur Hardware Abstraction Layer (HAL) sebelumnya yang digunakan untuk menyederhanakan implementasi dengan menentukan jenis dan panggilan metode yang dikumpulkan ke dalam antarmuka dan paket.
Ikuti HIDL Wi-Fi untuk menggunakan fitur Wi-Fi RTT: hardware/interfaces/wifi/1.0
atau lebih baru.
Anda dapat merujuk ke HAL Wi-Fi lawas untuk melihat bagaimana korelasinya dengan antarmuka HIDL yang baru: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h .
Penerapan
Untuk mengimplementasikan Wi-Fi RTT, Anda harus menyediakan kerangka kerja dan dukungan HAL/firmware:
Kerangka:
- Kode AOSP
- Aktifkan RTT Wi-Fi: memerlukan bendera fitur
Dukungan Wi-Fi RTT (IEEE 802.11mc) HAL (yang menyiratkan dukungan firmware)
Untuk mengimplementasikan fitur ini, implementasikan Wi-Fi HIDL dan aktifkan flag fitur:
Di
device.mk
yang terletak didevice/<oem>/<device>
, ubah variabel lingkunganPRODUCT_COPY_FILES
untuk menyertakan dukungan untuk fitur 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
Jika tidak, semua yang diperlukan untuk fitur ini disertakan dalam AOSP.
pengacakan MAC
Untuk meningkatkan privasi, alamat MAC yang digunakan selama transaksi RTT Wi-Fi harus diacak, yaitu tidak boleh cocok dengan alamat MAC asli dari antarmuka Wi-Fi. Namun, sebagai pengecualian, saat perangkat dikaitkan dengan AP, perangkat tersebut dapat menggunakan alamat MAC yang terkait dengannya untuk setiap transaksi RTT dengan AP tersebut atau dengan AP lainnya.
Validasi
Tes Kompatibilitas Android Test Suite (CTS) tersedia untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan tes terkait. Fitur ini juga dapat diuji menggunakan Vendor Test Suite (VTS) dan actions/sl4a , sebuah test suite yang melakukan pengujian integrasi ekstensif.
Tes unit
Tes paket Wi-Fi RTT dijalankan menggunakan:
Tes layanan:
atest com.android.server.wifi.rtt
Tes manajer:
atest android.net.wifi.rtt
Tes Integrasi (ACTS).
Rangkaian pengujian act/sl4a, yang dijelaskan di /tools/test/connectivity/acts_tests/tests/google/wifi/rtt/README.md
, menyediakan pengujian fungsional, kinerja, dan stres.
CTS
Tes Kompatibilitas Android Test Suite (CTS) tersedia untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan tes terkait. Titik Akses yang mendukung Wi-Fi RTT (IEEE 802.11mc) harus berada dalam jangkauan pengujian perangkat.
Tes CTS dapat dipicu menggunakan:
atest WifiRttTest
Kalibrasi
Agar RTT Wi-Fi bekerja dengan baik, rentang yang dikembalikan dalam protokol 802.11mc idealnya akurat dalam Indikator Kinerja Utama (KPI). Untuk kesalahan CDF 90%, pada bandwidth yang tercantum, KPI yang disarankan untuk estimasi rentang diharapkan memiliki toleransi berikut:
- 80MHz: 2 meter
- 40MHz: 4 meter
- 20MHz: 8 meter
Untuk memastikan implementasi fitur berjalan dengan baik, diperlukan pengujian kalibrasi.
Ini dapat dicapai dengan membandingkan rentang kebenaran dasar dengan rentang perkiraan RTT pada jarak yang semakin jauh. Untuk kesesuaian dasar, Anda harus memvalidasi solusi Anda terhadap perangkat yang dikenal dengan kalibrasi RTT. Kalibrasi rentang harus diuji dalam kondisi berikut:
- Laboratorium terbuka yang besar, atau koridor yang tidak memiliki banyak benda logam yang dapat mengakibatkan kejadian multi-jalur yang luar biasa tinggi.
- Setidaknya lintasan/jalur Line-Of-Sight (LOS) yang membentang sejauh 25m.
- Penanda dengan peningkatan 0,5 meter dari satu ujung lintasan ke ujung lainnya.
- Tempat untuk mengamankan titik akses berkemampuan RTT di salah satu ujung lintasan yang dipasang 20 cm di atas lantai, dan dudukan yang dapat dipindahkan untuk ponsel Android (atau perangkat seluler Android lainnya yang sedang diuji) yang dapat dipindahkan di sepanjang lintasan, dan disejajarkan dengan penanda 0,5 m, juga 20 cm di atas lantai. Catatan: Tugas berulang ini dapat dilakukan oleh robot kecil, tetapi operator manusia juga tidak masalah.
- 50 hasil jangkauan harus dicatat pada setiap penanda, bersama dengan jarak dari titik akses. Statistik, seperti rata-rata rentang dan varians, harus dihitung untuk setiap posisi penanda.
Dari hasil pada langkah 5, sebuah bagan dapat ditarik untuk kebenaran dasar (sumbu x) terhadap rentang yang diestimasi (sumbu y) dan estimasi garis regresi yang paling cocok. Kalibrasi perangkat yang ideal akan menghasilkan garis gradien 1,0, dengan offset 0,0m pada sumbu y. Penyimpangan dari nilai ini dapat diterima jika berada dalam KPI untuk bandwidth yang sesuai. Jika hasilnya di luar KPI, fitur perangkat harus dikalibrasi ulang agar hasilnya sesuai dengan spesifikasi KPI.