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