Android 10, cihaz sağlama protokolü (DPP) olarak da bilinen Wi-Fi Easy Connect protokolü için destek sunar. Wi-Fi Easy Connect, Wi-Fi Alliance (WFA) tarafından Wi-Fi Protected Setup'a (WPS) alternatif olarak tanıtılmıştır. WPS, Android 9'da kullanımdan kaldırıldı.
Wi-Fi Easy Connect, aşağıdakiler için basit ve güvenli bir yöntem sunar:
- Şifre girmeden ağa yerleşik kablosuz cihazlar (başsız cihazlar dahil) ekleyin.
- Şifreyi bilmeden veya girmeden kablosuz ağlara katılabilirsiniz.
Önyükleme ve kimlik doğrulama, bir URI kullanılarak yapılandırılır. Bu URI, QR kodu taranarak (kamera kullanılarak) elde edilir veya bant dışı olarak (ör. BLE veya NFC kullanılarak) yapılandırılır.
Wi-Fi Easy Connect, cihazlar arasında Wi-Fi kimlik bilgilerini göndermek için şifrelenmiş bir kanal kullanır ve genel işlem çerçeveleri kullanıldığından cihazlar mevcut erişim noktalarını kullanabilir.
Android 10, Wi-Fi Easy Connect'i yalnızca başlatıcı modunda destekler (yanıtlayıcı modu desteklenmez). Şu çalışma modları desteklenir:
- Başlatıcı-Yapılandırıcı: QR kodunu tarayarak yeni bir cihaza ağ kimlik bilgilerini gönderme.
- Başlatan-Kaydolan: Ağın QR kodunu tarayarak ağa katılın.
Android 10, WPA2 için önceden paylaşılan anahtar (PSK) protokolünü, WPA3 için ise eşlerin eşzamanlı kimlik doğrulaması (SAE) protokolünü destekler.
Wi-Fi Easy Connect yalnızca istemci modunda desteklenir (SoftAP modu desteklenmez).
Uygulama
Wi-Fi Easy Connect'i desteklemek için Android Açık Kaynak Projesi'nde (AOSP) sağlanan istekte bulunan arayüzünü uygulayın. Uygulanan arayüze bağlı olarak bu işlem şu konumlarda yapılır:
- HIDL için
hardware/interfaces/wifi/supplicant/1.2/
veya sonraki bir sürüm hardware/interfaces/wifi/supplicant/aidl/
AIDL için
DPP'yi desteklemek için aşağıdakiler gereklidir:
DPP'yi desteklemek için Linux çekirdek yamaları:
- cfg80211
- nl80211
wpa_supplicant
DPP desteğiyleDPP desteği olan kablosuz sürücü
DPP desteği olan kablosuz donanım yazılımı
Herkese açık API'ler, uygulamalar tarafından kullanılmak üzere Android 10'da mevcuttur:
WifiManager#isEasyConnectSupported
: Cihazın Wi-Fi Easy Connect'i destekleyip desteklemediğini belirlemek için çerçeveye sorgu gönderir.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Uygulamaların, Wi-Fi Easy Connect'i ilk katılım/kurulum akışlarına entegre etmesine olanak tanır.
Kablosuz Kolay Bağlantı'yı etkinleştirme
Android çerçevesinde Wi-Fi Easy Connect'i etkinleştirmek için CONFIG_DPP
derleme seçeneğini wpa_supplicant
yapılandırma dosyasına ekleyin:
android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Doğrulama
Uygulamanızı test etmek için aşağıdaki testleri çalıştırın.
Birim testleri
DPP için özellik işaretlerinin davranışını doğrulamak üzere
DppManagerTest
komutunu çalıştırın.
atest DppManagerTest
VTS testleri
HIDL arayüzü uygulanıyorsa supplicant HAL v1.2'nin davranışını test etmek için
VtsHalWifiSupplicantV1_2TargetTest
komutunu çalıştırın.
AIDL arayüzü uygulanıyorsa supplicant HAL'in davranışını test etmek için
VtsHalWifiSupplicantStaIfaceTargetTest
komutunu çalıştırın.