Android 10 از پروتکل «اتصال آسان Wi-Fi» که با نام پروتکل آمادهسازی دستگاه (DPP) نیز شناخته میشود پشتیبانی میکند. Wi-Fi Easy Connect توسط Wi-Fi Alliance (WFA) بهعنوان جایگزینی برای Wi-Fi Protected Setup (WPS) معرفی شد. WPS در Android 9 منسوخ شد.
«اتصال آسان Wi-Fi» روشی امن برای انجام این کارها ارائه میدهد:
- دستگاههای Wi-Fi (ازجمله دستگاههای بدون نمایشگر) را بدون وارد کردن گذرواژه به شبکه اضافه کنید.
- بدون دانستن یا وارد کردن گذرواژه، به شبکههای Wi-Fi بپیوندید.
راهاندازی و اصالتسنجی بااستفاده از URI پیکربندی میشود که با اسکن کردن رمزینه پاسخسریع (بااستفاده از دوربین) بهدست میآید یا بهصورت خارج از باند پیکربندی میشود، برای مثال بااستفاده از BLE یا NFC.
«اتصال آسان Wi-Fi» از کانال رمزگذاریشدهای برای ارسال اطلاعات اعتباری Wi-Fi بین دستگاهها استفاده میکند و چون از چارچوبهای کنش عمومی استفاده میشود، دستگاهها میتوانند از نقاط دسترسی موجود استفاده کنند.
Android 10 از «اتصال آسان Wi-Fi» فقط در حالت آغازگر پشتیبانی میکند (حالت پاسخدهنده پشتیبانی نمیشود). این حالتهای عملکرد پشتیبانی میشوند:
- راهانداز-پیکربندیکننده: اعتبارنامههای شبکه را با اسکن کردن رمزینه پاسخسریع آن به دستگاه جدید ارسال کنید.
- آغازگر-ثبتنامکننده: با اسکن کردن رمزینه پاسخسریع شبکه به شبکه بپیوندید.
Android 10 از پروتکل کلید پیشهمرسانیشده (PSK) برای WPA2 و پروتکل اصالتسنجی همزمان برابرها (SAE) برای WPA3 پشتیبانی میکند.
«اتصال آسان Wi-Fi» فقط در حالت مشتری پشتیبانی میشود (حالت SoftAP پشتیبانی نمیشود).
پیادهسازی
برای پشتیبانی از «اتصال آسان Wi-Fi»، رابط درخواستکننده ارائهشده در «پروژه متنباز Android» (AOSP) را پیادهسازی کنید. بسته به میانایی که پیادهسازی شده است، این مورد در اینجا قرار دارد:
hardware/interfaces/wifi/supplicant/1.2/یا نسخه جدیدتر برای HIDLhardware/interfaces/wifi/supplicant/aidl/برای AIDL
موارد زیر برای پشتیبانی از DPP الزامی است:
وصلههای هسته Linux برای پشتیبانی از DPP:
- cfg80211
- nl80211
wpa_supplicantبا پشتیبانی از DPPگرداننده Wi-Fi با پشتیبانی از DPP
سفتافزار Wi-Fi با پشتیبانی از DPP
میاناهای برنامهسازی کاربردی عمومی در Android 10 برای استفاده برنامهها دردسترس است:
WifiManager#isEasyConnectSupported: چارچوب را برای تعیین اینکه آیا دستگاه از Wi-Fi Easy Connect پشتیبانی میکند یا نه پرسمان میکند.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI): به برنامهها اجازه میدهد «اتصال آسان Wi-Fi» را در جریان آمادهسازی یا راهاندازی خود ادغام کنند.
فعال کردن «اتصال آسان Wi-Fi»
برای فعال کردن «اتصال آسان Wi-Fi» در چارچوب Android، گزینه
CONFIG_DPP تدوین
را در فایل پیکربندی wpa_supplicant
android.config اضافه کنید:
# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y
اعتبارسنجی
برای آزمایش پیادهسازیتان، آزمایشهای زیر را اجرا کنید.
آزمونهای واحد
برای تأیید رفتار پرچمهای قابلیت برای DPP،
DppManagerTest
را اجرا کنید.
atest DppManagerTestآزمایشهای VTS
اگر میانای HIDL پیادهسازی شده است، برای آزمایش عملکرد supplicant HAL v1.2،
VtsHalWifiSupplicantV1_2TargetTest
را اجرا کنید.
اگر میانای AIDL پیادهسازی شده است،
VtsHalWifiSupplicantStaIfaceTargetTest
را برای آزمایش عملکرد HAL درخواستکننده اجرا کنید.