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 bulmalarını, bağlanmalarını ve aralıklarını (Android 9'da eklendi) belirlemelerini 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, ağ dışında olan güvenilir cihazlar ve uygulamalar arasında yüksek verimli verilerin kolayca paylaşılmasına olanak tanır.
Örnekler ve kaynak
Bu özelliği kullanmak için cihaz üreticilerinin Wi-Fi Vendor HAL'ı 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.
Wi-Fi Aware özelliğini kullanmak için Wi-Fi arayüzünü takip edin. Uygulanan arayüze bağlı olarak bu değer şunlardan biri olur:
- AIDL:
hardware/interfaces/wifi/aidl
- HIDL:
hardware/interfaces/wifi/1.2
veya sonraki sürümler
AIDL ve HIDL arayüzleriyle nasıl ilişkili olduğunu görmek için eski Wi-Fi HAL'e başvurabilirsiniz:
hardware/libhardware_legacy/+/android16-release/include/hardware_legacy/wifi_nan.h
.
Uygulama
Cihaz üreticilerinin hem çerçeve hem de HAL/firmware desteği sağlaması gerekir:
- Framework:
- AOSP kodu
- Aware'i etkinleştirme: Hem özellik işareti hem de derleme işareti gerektirir.
- Wi-Fi Aware (NAN) HAL desteği (donanım yazılımı desteği anlamına gelir)
Bu özelliği uygulamak için cihaz üreticileri Wi-Fi arayüzünü uygular ve iki özellik işaretini etkinleştirir:
BoardConfig.mk
veyaBoardConfig-common.mk
içinde,device/<oem>/<device>
konumunda aşağıdaki işareti ekleyin:WIFI_HIDL_FEATURE_AWARE := true
device/<oem>/<device>
konumundakidevice.mk
içinde, Wi-Fi Aware özelliği desteğini içerecek şekildePRODUCT_COPY_FILES
ortam 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çme özelliğini 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 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 dahildir.
WIFI_HAL_INTERFACE_COMBINATIONS
işareti belirtilmişse WIFI_HIDL_FEATURE_AWARE
işareti yoksayılır. Daha fazla bilgi için Wi-Fi çoklu arayüz eşzamanlılığı başlıklı makaleyi inceleyin.
MAC rastgele seçimi
Android, Wi-Fi Aware keşif (NMI) ve veri arayüzlerinin (NDP) MAC adresinin rastgele oluşturulması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.macAddressRandomizationIntervalSec
parametresi tarafından yapılandırılan düzenli aralıklarla rastgele hale getirilmelidir. Bu, varsayılan olarak 30 dakika olacak şekilde çerçeve tarafından 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.
Cihaz üreticileri, keşif oturumlarını askıya alma ve devam ettirme özelliğini desteklemek için 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, Uyumluluk Test Paketi (CTS) testi ve CTS Doğrulayıcı testi 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.aware
Yönetici testleri:
atest android.net.wifi.aware
Compatibility 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 SingleDeviceTest
CTS Doğrulayıcı testleri
CTS Verifier testleri, bir test cihazı ve bilinen iyi bir 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.