از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
Wi-Fi Easy Connect
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اندروید 10 از پروتکل Wi-Fi Easy Connect که به عنوان پروتکل تأمین دستگاه (DPP) نیز شناخته می شود، پشتیبانی می کند. Wi-Fi Easy Connect توسط Wi-Fi Alliance (WFA) به عنوان جایگزینی برای Wi-Fi Protected Setup (WPS) معرفی شد. WPS در اندروید 9 منسوخ شد.
Wi-Fi Easy Connect یک روش ساده و ایمن برای موارد زیر ارائه می دهد:
- دستگاههای Wi-Fi داخلی (از جمله دستگاههای بدون هد) به شبکه بدون وارد کردن رمز عبور.
- بدون دانستن یا وارد کردن رمز عبور به شبکه های Wi-Fi بپیوندید.
بوت استرپینگ و احراز هویت با استفاده از یک URI پیکربندی میشود که با اسکن یک کد QR (با استفاده از دوربین) به دست میآید، یا خارج از باند، برای مثال، با استفاده از BLE یا NFC پیکربندی میشود.
Wi-Fi Easy Connect از یک کانال رمزگذاری شده برای ارسال اعتبار وای فای بین دستگاه ها استفاده می کند و از آنجایی که از فریم های عمل عمومی استفاده می شود، دستگاه ها می توانند از نقاط دسترسی موجود استفاده کنند.
اندروید 10 از Wi-Fi Easy Connect فقط در حالت آغازگر پشتیبانی می کند (حالت پاسخگو پشتیبانی نمی شود). این حالت های عملکرد پشتیبانی می شوند:
- Initiator-Configurator: اعتبار شبکه را با اسکن کد QR به یک دستگاه جدید ارسال کنید.
- Initiator-Enrollee: با اسکن کد QR شبکه به یک شبکه بپیوندید.
اندروید 10 از پروتکل کلید مشترک (PSK) برای WPA2 و احراز هویت همزمان پروتکل برابر (SAE) برای WPA3 پشتیبانی می کند.
Wi-Fi Easy Connect فقط در حالت کلاینت پشتیبانی می شود (حالت SoftAP پشتیبانی نمی شود).
پیاده سازی
برای پشتیبانی از Wi-Fi Easy Connect، رابط درخواستی ارائه شده در پروژه منبع باز Android (AOSP) را پیاده سازی کنید. بسته به رابطی که پیاده سازی شده است، این در:
برای پشتیبانی از DPP موارد زیر مورد نیاز است:
وصله های هسته لینوکس برای پشتیبانی از DPP:
wpa_supplicant
با پشتیبانی از DPP
درایور Wi-Fi با پشتیبانی از DPP
سیستم عامل Wi-Fi با پشتیبانی از DPP
API های عمومی در Android 10 برای استفاده توسط برنامه ها در دسترس هستند:
Wi-Fi Easy Connect را فعال کنید
برای فعال کردن Wi-Fi Easy Connect در چارچوب Android، گزینه کامپایل CONFIG_DPP
را در فایل پیکربندی wpa_supplicant
، android.config
قرار دهید:
# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y
اعتبار سنجی
برای تست پیاده سازی خود، تست های زیر را اجرا کنید.
تست های واحد
DppManagerTest
را اجرا کنید تا رفتار پرچمهای قابلیت DPP را بررسی کنید.
atest DppManagerTest
تست های VTS
اگر رابط HIDL پیاده سازی شده است، VtsHalWifiSupplicantV1_2TargetTest
را برای آزمایش رفتار درخواست کننده HAL v1.2 اجرا کنید.
اگر رابط AIDL پیاده سازی شده است، VtsHalWifiSupplicantStaIfaceTargetTest
را برای آزمایش رفتار HAL درخواست کننده اجرا کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Wi-Fi Easy Connect\n\nAndroid 10 introduces support for the Wi-Fi Easy\nConnect protocol, also known as the device provisioning protocol (DPP).\n[Wi-Fi Easy Connect](https://www.wi-fi.org/discover-wi-fi/wi-fi-easy-connect)\nwas introduced by the Wi-Fi Alliance (WFA) as an alternative to\nWi-Fi Protected Setup (WPS). WPS was deprecated in Android 9.\n\nWi-Fi Easy Connect provides a simple and secure method to:\n\n- Onboard Wi-Fi devices (including headless devices) to a network without entering a password.\n- Join Wi-Fi networks without knowing or entering a password.\n\nBootstrapping and authentication is configured using a URI, which is acquired\nby scanning a QR code (using a camera), or is configured out-of-band,\nfor example, using BLE or NFC.\n\nWi-Fi Easy Connect uses an encrypted channel to send Wi-Fi credentials between\ndevices, and because public action frames are used, devices can use existing\naccess points.\n\nAndroid 10 supports Wi-Fi Easy Connect only in\ninitiator mode (responder mode is\nnot supported). These modes of operation are supported:\n\n- **Initiator-Configurator:** Send network credentials to a new device by scanning its QR code.\n- **Initiator-Enrollee:** Join a network by scanning the network QR code.\n\nAndroid 10 supports the pre-shared key (PSK) protocol\nfor WPA2 and the simultaneous authentication of equals (SAE) protocol for WPA3.\n\nWi-Fi Easy Connect is only supported in client mode (SoftAP mode is not\nsupported).\n\nImplementation\n--------------\n\nTo support Wi-Fi Easy Connect, implement the supplicant interface\nprovided in the Android Open Source Project (AOSP).\nDepending on the interface that was implemented, this is at:\n\n- [`hardware/interfaces/wifi/supplicant/1.2/`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/wifi/supplicant/1.2/) or a later version for HIDL\n- [`hardware/interfaces/wifi/supplicant/aidl/`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/wifi/supplicant/aidl/android/hardware/wifi/supplicant) for AIDL\n\nThe following are required to support DPP:\n\n- Linux kernel patches to support DPP:\n\n - cfg80211\n - nl80211\n- [`wpa_supplicant`](https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/main)\n with support for DPP\n\n- Wi-Fi driver with support for DPP\n\n- Wi-Fi firmware with support for DPP\n\nPublic APIs are available in Android 10 for use by\napps:\n\n- [`WifiManager#isEasyConnectSupported`](https://developer.android.com/reference/android/net/wifi/WifiManager#isEasyConnectSupported()): Queries the framework to determine whether the device supports Wi-Fi Easy Connect.\n- [`Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)`](https://developer.android.com/reference/android/provider/Settings.html#ACTION_PROCESS_WIFI_EASY_CONNECT_URI): Allows apps to integrate Wi-Fi Easy Connect into their onboarding/setup flow.\n\n### Enable Wi-Fi Easy Connect\n\nTo enable Wi-Fi Easy Connect in the Android framework, include the\n`CONFIG_DPP` compilation\noption in the `wpa_supplicant` configuration file,\n[`android.config`](https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/android16-release/wpa_supplicant/android.config): \n\n```\n# Easy Connect (Device Provisioning Protocol - DPP)\nCONFIG_DPP=y\n```\n\nValidation\n----------\n\nTo test your implementation, run the following tests.\n\n### Unit tests\n\nRun\n[`DppManagerTest`](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Wifi/service/tests/wifitests/src/com/android/server/wifi/DppManagerTest.java)\nto verify the behavior of the capability flags for DPP. \n\n```\natest DppManagerTest\n```\n\n### VTS tests\n\nIf the HIDL interface is implemented, run\n[`VtsHalWifiSupplicantV1_2TargetTest`](https://cs.android.com/android/platform/superproject/+/android-latest-release:hardware/interfaces/wifi/supplicant/1.2/vts/functional/supplicant_sta_iface_hidl_test.cpp)\nto test the behavior of the supplicant HAL v1.2.\n\nIf the AIDL interface is implemented, run\n[`VtsHalWifiSupplicantStaIfaceTargetTest`](https://cs.android.com/android/platform/superproject/+/android-latest-release:hardware/interfaces/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp)\nto test the behavior of the supplicant HAL."]]