Android 8.0'da eklenen Wi-Fi Aware özelliği, desteklenen cihazların internet veya hücresel ağ erişimi olmadan Wi-Fi Aware protokolünü kullanarak birbirlerini doğrudan bulmasını, birbirlerine bağlanmasını ve birbirlerine olan mesafeyi ölçmesini (Android 9'da eklenmiştir) sağlar. Wi-Fi Alliance (WFA) Wi-Fi Aware spesifikasyonuna (2.0, 3.0, 3.1 ve 4.0 sürümleri) dayalı bu özellik, aksi takdirde ağ dışında olan güvenilir cihazlar ve uygulamalar arasında yüksek işleme hızlı verilerin paylaşılmasını kolaylaştırır.
Örnekler ve kaynak
Bu özelliği kullanmak için cihaz üreticilerinin Kablosuz Tedarikçi HAL'ını uygulaması gerekir. Android 14 ve sonraki sürümlerde, Vendor HAL arayüzü AIDL kullanılarak tanımlanır. Android 13 ve önceki sürümlerde, Vendor HAL arayüzü HIDL kullanılarak tanımlanır.
Kablosuz Aware özelliğini kullanmak için kablosuz arayüzünü takip edin. Uygulanan arayüze bağlı olarak:
- AIDL:
hardware/interfaces/wifi/aidl - HIDL:
hardware/interfaces/wifi/1.2veya sonraki sürümler
AIDL ve HIDL arayüzleriyle nasıl ilişkili olduğunu görmek için eski Kablosuz HAL'ye başvurabilirsiniz:
hardware/libhardware_legacy/+/android16-qpr2-release/include/hardware_legacy/wifi_nan.h.
Uygulama
Cihaz üreticileri hem çerçeve hem de HAL/firmware desteği sağlamalıdır:
- Framework:
- Android Açık Kaynak Projesi (AOSP) kodu
- Aware'i etkinleştirme: Hem özellik bayrağı hem de derleme bayrağı gerektirir.
- Kablosuz Aware (NAN) HAL desteği (bu da donanım yazılımı desteği anlamına gelir)
Bu özelliği uygulamak için cihaz üreticileri Kablosuz arayüzünü uygular ve iki özellik bayrağını etkinleştirir:
BoardConfig.mkveyaBoardConfig-common.mkiçindedevice/<oem>/<device>konumunda aşağıdaki işareti ekleyin:WIFI_HIDL_FEATURE_AWARE := truedevice.mkkonumundakidevice/<oem>/<device>içinde, Wi-Fi Aware özelliğinin desteklenmesi içinPRODUCT_COPY_FILESortam değişkenini değiştirin:PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
Wi-Fi Aware, gidiş dönüş süresi (RTT) olarak da bilinen IEEE 802.11mc protokolü kullanılarak eş cihazlara mesafeyi ölçmeyi içerir. Wi-Fi Aware'in bu alt özelliği, cihazın Wi-Fi RTT özelliğini desteklemesine bağlıdır. Yani cihazın hem Wi-Fi Aware'i hem de Wi-Fi RTT'yi desteklemesi gerekir. Daha fazla bilgi için Wi-Fi RTT başlıklı makaleye göz atın.
Aksi takdirde, bu özellik için gereken her şey AOSP'ye dahil edilir.
WIFI_HAL_INTERFACE_COMBINATIONS işareti belirtilmişse WIFI_HIDL_FEATURE_AWARE işareti yoksayılır. Daha fazla bilgi için Wi-Fi çok arayüzlü eşzamanlılık başlıklı makaleyi inceleyin.
MAC rastgele seçimi
Android, Wi-Fi Aware keşif (NMI) ve veri arayüzlerinin (NDP'ler) MAC adresinin rastgele olmasını ve cihazın gerçek MAC adresiyle aynı olmamasını gerektirir. MAC adresleri şu şekilde olmalıdır:
- Wi-Fi Aware etkinleştirildiğinde veya yeniden etkinleştirildiğinde rastgele hale getirilir.
Wi-Fi Aware etkinleştirildiğinde MAC adresi,
NanConfigRequest.macAddressRandomizationIntervalSecparametresi tarafından yapılandırılan düzenli aralıklarla rastgele hale getirilmelidir. Bu süre, varsayılan olarak çerçeve tarafından 30 dakika olarak yapılandırılır.
Askıya alma ve devam ettirme
Android 14 ve sonraki sürümlerde Wi-Fi Aware, ayrıcalıklı uygulamaların etkin keşif oturumlarını (bu oturumlarla ilişkili tüm veri yolları dahil) askıya alıp devam ettirme özelliğini destekler. Bu özelliği desteklemek, cihazların keşif oturumlarına daha hızlı devam etmesini ve keşif oturumları askıya alınabildiğinden daha az güç kullanmasını sağlar.
Bir cihaz bu askıya alma ve devam ettirme özelliğini destekliyorsa ayrıcalıklı bir uygulama keşif oturumunu askıya aldığında donanım yazılımı Wi-Fi Aware oturumunu askıya alır. Keşif oturumu askıya alınmış durumdayken cihaz, oturumdaki etkin NDP'ler de dahil olmak üzere oturumla ilgili herhangi bir çerçeve iletmez veya almaz. Tüm keşif oturumları askıya alınırsa cihaz herhangi bir Wi-Fi Aware çerçevesi iletmez veya almaz.
Ayrıcalıklı bir uygulama, askıya alınmış bir keşif oturumunu sürdürdüğünde çerçeve, oturumu ilişkili tüm NDP oturumları da dahil olmak üzere önceki durumuna döndürür. Askıya alınmış bir keşif oturumunu sürdürmek, Wi-Fi Aware'i başlatıp yeni bir keşif oturumu oluşturmaktan daha hızlıdır.
Bulma oturumlarını askıya alma ve devam ettirme özelliğini desteklemek için cihaz üreticileri HAL ve donanım yazılımı desteği sağlamalıdır. Ayrıntılı bilgi için IWifiNanIface.java başlıklı makaleyi inceleyin.
Cihaz üreticileri, birden fazla cihazda askıya alma ve devam ettirme işlemlerini senkronize etmek için bant dışı iletişimleri (ör. BLE) kullanabilir.
Doğrulama
Android, Wi-Fi Aware özelliğini doğrulamak için bir dizi birim testi, Compatibility Test Suite (CTS) testleri ve CTS Verifier testleri sağlar. Wi-Fi Aware, Vendor Test Suite (VTS) kullanılarak da test edilebilir.
Birim testleri
Wi-Fi Aware paket testleri şu şekilde yürütülür:
Hizmet testleri:
atest com.android.server.wifi.awareYönetici testleri:
atest android.net.wifi.awareCompatibility Test Suite (CTS) testleri
Wi-Fi Aware özelliğini doğrulamak için CTS testlerini kullanın. CTS, özelliğin etkinleştirildiğini algıladığında ilişkili testleri otomatik olarak dahil eder.
CTS testleri şu yöntemlerle tetiklenebilir:
atest SingleDeviceTestCTS Doğrulayıcı testleri
CTS Verifier testleri, bir test cihazı ve bir bilinen iyi cihaz kullanarak Wi-Fi Aware davranışını doğrular. Testleri çalıştırmak için CTS Verifier'ı açın ve Wi-Fi Aware Testleri başlıklı bölüme gidin.