تتيح ميزة اتصال Wi-Fi مباشر ، المعروفة أيضًا باسم "شبكة الند للند" (P2P) عبر Wi-Fi، للأجهزة المتوافقة رصد بعضها والاتصال بها مباشرةً باستخدام بروتوكول Wi-Fi Direct بدون الوصول إلى الإنترنت أو شبكة الجوّال. تستند هذه الميزة إلى مواصفات Wi-Fi Direct التي وضعتها مجموعة Wi-Fi Alliance، وتتيح مشاركة البيانات ذات معدل النقل العالي بين التطبيقات والأجهزة الموثوق بها التي لا تكون متصلة بالشبكة.
الأمثلة والمصدر
لاستخدام هذه الميزة، على المصنّعين تنفيذ واجهات Wi-Fi Vendor وSupplicant HAL.
في Android 13، تستخدم واجهة Supplicant لغة تعريف واجهة برمجة التطبيقات (AIDL) لتعريف HAL. في الإصدار Android 14 والإصدارات الأحدث، تستخدم واجهة Vendor HAL واجهة AIDL. في الإصدار 12 من Android والإصدارات الأقدم، يتم تعريف واجهتَي Supplicant و Vendor HAL باستخدام HIDL.
يجب عرض مساحات العرض التالية لواجهة برمجة التطبيقات لبروتوكول Wi-Fi من أجل استخدام ميزة 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 المباشر": يتطلب ذلك تفعيل علامة ميزة
- توفُّر واجهة برمجة التطبيقات لبروتوكول Wi-Fi Direct (P2P) (يشير ذلك إلى توفُّر البرامج الثابتة)
لتنفيذ هذه الميزة، ينفّذ مصنعو الأجهزة واجهات 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 عشوائيًا في كل مرة يتم فيها إجراء اتصال.
يتم تنفيذ التوزيع العشوائي لعناوين MAC في Wi-Fi Direct في wpa_supplicant ويتم التحكّم فيه
بإعدادَين، p2p_device_random_mac_addr
و
p2p_interface_random_mac_addr
.
لتفعيل هذه الميزة، على المصنّعين استيفاء الشروط التالية:
- تنفيذ واجهة برمجة التطبيقات Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomization
ويكون ذلك في:hardware/interface/wifi/supplicant/1.2
لبروتوكول HIDLhardware/interface/wifi/supplicant/aidl
لـ لغة تعريف واجهة نظام Android (AIDL)
- اضبط
config_wifi_p2p_mac_randomization_supported
على "true" في تراكب مخصّص للجهاز.
التحقُّق
يوفّر Android مجموعة من اختبارات الوحدات واختبارات مجموعة اختبار التوافق (CTS) واختبارات أداة التحقّق من التوافق (CTS Verifier) للتحقّق من صحة ميزة Wi-Fi Direct. يمكن أيضًا اختبار تقنية "اتصال Wi-Fi المباشر" باستخدام مجموعة اختبارات المورّدين (VTS).
اختبارات الوحدة
تحقَّق من حزمة Wi-Fi Direct باستخدام الاختبارات التالية.
اختبارات الخدمة:
atest com.android.server.wifi.p2p
اختبارات الحساب الإداري:
atest android.net.wifi.p2p
اختبارات مجموعة أدوات اختبار التوافق (CTS)
استخدِم اختبارات CTS للتحقّق من صحة ميزة Wi-Fi Direct. يرصد CTS الحالات التي تكون فيها الميزة مفعّلة ويشمل الاختبارات المرتبطة بها تلقائيًا.
لبدء اختبارات CTS، شغِّل:
% atest android.net.wifi.p2p.cts
اختبارات أداة التحقّق من التوافق (CTS Verifier)
تُجري اختبارات أداة التحقّق من توافق الأجهزة مع معيار CTS عمليات التحقّق من سلوك Wi-Fi Direct باستخدام جهازَين: جهاز اختبار وجهاز معروف بأنّه يعمل بشكل سليم. لإجراء الاختبارات، افتح أداة CTS Verifier وانتقِل إلى القسم بعنوان "اختبارات Wi-Fi Direct".