تتيح ميزة Wi-Fi Direct ، المعروفة أيضًا باسم Wi-Fi P2P، للأجهزة الداعمة اكتشاف الاتصال ببعضها البعض مباشرةً باستخدام بروتوكول Wi-Fi Direct دون الوصول إلى الإنترنت أو الشبكة الخلوية. تسمح هذه الميزة، المبنية على مواصفات Wi-Fi Direct التابعة لـ Wi -Fi Alliance (WFA)، بمشاركة البيانات عالية الإنتاجية بين الأجهزة والتطبيقات الموثوقة التي تكون خارج الشبكة.
الأمثلة والمصادر
لاستخدام هذه الميزة، يجب على الشركات المصنعة للأجهزة تنفيذ واجهات Wi-Fi Vendor وSupplicant HAL.
في Android 13، تستخدم واجهة Supplicant AIDL لتعريف HAL. في Android 14 والإصدارات الأحدث، تستخدم واجهة Vendor HAL تقنية AIDL. في نظام التشغيل Android 12 والإصدارات الأقدم، يتم تحديد واجهات Supplicant وVendor HAL باستخدام HIDL.
أسطح Wi-Fi HAL التالية مطلوبة لاستخدام ميزة Wi-Fi Direct:
-
hardware/interfaces/wifi/aidl
أوhardware/interfaces/wifi/1.3
أو أعلى -
hardware/interfaces/wifi/supplicant/aidl
أوhardware/interfaces/wifi/supplicant/1.2
أو أعلى
تطبيق
تحتاج الشركات المصنعة للأجهزة إلى توفير إطار العمل ودعم HAL/البرامج الثابتة:
- نطاق:
- كود AOSP
- تمكين Wi-Fi Direct: يتطلب علامة ميزة
- دعم Wi-Fi Direct (P2P) HAL (مما يعني دعم البرامج الثابتة)
لتنفيذ هذه الميزة، تقوم الشركات المصنعة للأجهزة بتنفيذ واجهات Wi-Fi HIDL أو AIDL وتمكين علامة الميزة لـ Wi-Fi Direct. في device.mk
الموجود في device/<oem>/<device>
، قم بتعديل متغير البيئة PRODUCT_COPY_FILES
ليشمل دعم ميزة Wi-Fi Direct:
```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```
تم تضمين جميع المتطلبات الأخرى لدعم Wi-FI Direct في AOSP.
العشوائية MAC
يتطلب Android أن يكون عنوان جهاز Wi-Fi Direct وعنوان الواجهة عشوائيًا. ويجب أن تكون مختلفة عن عنوان MAC الحقيقي للجهاز ويجب أن تستوفي المتطلبات التالية:
- يجب أن يكون عنوان جهاز Wi-Fi Direct عشوائيًا عند إنشاء الواجهة إذا لم تكن هناك مجموعة ثابتة محفوظة؛ وإلا فيجب أن يستمر عنوان الجهاز في استخدام آخر عنوان MAC تم إنشاؤه.
- يجب أن يكون عنوان واجهة Wi-Fi Direct، المعروف أيضًا باسم عنوان المجموعة، عشوائيًا في كل مرة يتم فيها إنشاء اتصال.
يتم تنفيذ التوزيع العشوائي لـ Wi-Fi Direct MAC في 'wpa_supplicant' ويتم التحكم فيه من خلال تكوينين، p2p_device_random_mac_addr
و p2p_interface_random_mac_addr
.
لتمكين هذه الميزة، يجب على الشركات المصنعة للأجهزة:
- تنفيذ واجهة برمجة التطبيقات Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomization
API. اعتمادًا على الواجهة المطبقة، يتم ذلك في:-
hardware/interface/wifi/supplicant/1.2
لـ HIDL -
hardware/interface/wifi/supplicant/aidl
لـ AIDL
-
- قم بتعيين
config_wifi_p2p_mac_randomization_supported
على "true" في التراكب المخصص للجهاز.
تصديق
يوفر Android مجموعة من اختبارات الوحدات، واختبارات التكامل (مجموعة اختبار اتصال Android، أو ACTS)، واختبارات مجموعة اختبار التوافق (CTS) ، واختبارات التحقق من CTS للتحقق من صحة ميزة Wi-Fi Direct. يمكن أيضًا اختبار Wi-Fi Direct باستخدام Vendor Test Suite (VTS) .
اختبارات الوحدة
تحقق من حزمة Wi-Fi Direct باستخدام الاختبارات التالية.
اختبارات الخدمة:
atest com.android.server.wifi.p2p
اختبارات المدير:
atest android.net.wifi.p2p
اختبارات التكامل (ACTS)
مجموعة اختبار ACTS Wi-FI Direct، الموجودة في tools/test/connectivity/acts_tests/tests/google/wifi/p2p
، تنفذ اختبارات وظيفية لـ Wi-Fi Direct.
اختبارات مجموعة اختبار التوافق (CTS).
استخدم اختبارات CTS للتحقق من صحة ميزة Wi-Fi Direct. تكتشف CTS متى يتم تمكين الميزة وتتضمن الاختبارات المرتبطة بها تلقائيًا.
لتشغيل اختبارات CTS، قم بتشغيل:
% atest android.net.wifi.p2p.cts
اختبارات التحقق من CTS
تتحقق اختبارات CTS Verifier من صحة سلوك Wi-Fi Direct باستخدام جهازين: جهاز اختبار وجهاز جيد معروف . لإجراء الاختبارات، افتح CTS Verifier وانتقل إلى القسم الذي يحمل عنوان اختبارات Wi-Fi Direct.