Android 10, cihaz sağlama protokolü (DPP) olarak da bilinen kablosuz ağ kolay bağlantı protokolü için destek sunar. Wi-Fi Kolay Bağlantı, Wi-Fi Alliance (WFA) tarafından Wi-Fi Korumalı Kurulum'a (WPS) alternatif olarak kullanıma sunulmuştur. WPS, Android 9'da kullanımdan kaldırıldı.
Wi-Fi Easy Connect, aşağıdakileri yapmak için basit ve güvenli bir yöntem sağlar:
- Şifre girmeden kablosuz cihazları (başsız cihazlar dahil) ağa bağlama
- Şifre bilmeden veya girmeden kablosuz ağlara katılma
İlk başlatma ve kimlik doğrulama, bir URI kullanılarak yapılandırılır. Bu URI, QR kodu (kamera kullanılarak) tarandığında elde edilir veya bant dışı olarak (ör. BLE veya NFC kullanılarak) yapılandırılır.
Kablosuz Kolay Bağlantı, cihazlar arasında kablosuz kimlik bilgilerini göndermek için şifrelenmiş bir kanal kullanır. Ayrıca herkese açık 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). Aşağıdaki çalışma modları desteklenir:
- Başlatıcı-Yapılandırıcı: QR kodunu tarayarak yeni bir cihaza ağ kimlik bilgilerini gönderin.
- Başlatıcı-Kayıtlı: Ağ QR kodunu tarayarak ağa katılın.
Android 10, WPA2 için önceden paylaşılan anahtar (PSK) protokolünü ve WPA3 için eşzamanlı kimlik doğrulama (SAE) protokolünü destekler.
Wi-Fi Kolay Bağlantı 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 tedarikçi arayüzünü uygulayın. Uygulanan arayüze bağlı olarak, bu bölüm:
hardware/interfaces/wifi/supplicant/1.2/
veya HIDL için daha yeni bir sürümhardware/interfaces/wifi/supplicant/aidl/
AIDL için
DPP'yi desteklemek için aşağıdakiler gereklidir:
DPP'yi destekleyen Linux çekirdek yamaları:
- cfg80211
- nl80211
wpa_supplicant
DPP desteğiDPP desteğine sahip kablosuz ağ sürücüsü
DPP destekli kablosuz donanım yazılımı
Android 10'da, uygulamaların kullanabileceği herkese açık API'ler mevcuttur:
WifiManager#isEasyConnectSupported
: Cihazın kablosuz kolay bağlantıyı destekleyip desteklemediğini belirlemek için çerçeveyi sorgular.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Uygulamaların, Kablosuz Kolay Bağlantı'yı ilk katılım/kurulum akışlarına entegre etmesine olanak tanır.
Kablosuz Kolay Bağlantı'yı etkinleştirme
Android çerçevesinde kablosuz kolay bağlantıyı 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
çalıştırın.
atest DppManagerTest
VTS testleri
HIDL arayüzü uygulanmışsa istemci HAL v1.2'nin davranışını test etmek için VtsHalWifiSupplicantV1_2TargetTest
çalıştırın.
AIDL arayüzü uygulanmışsa istemci HAL'inin davranışını test etmek için VtsHalWifiSupplicantStaIfaceTargetTest
çalıştırın.