اتصال Wi-Fi مباشر

تتيح ميزة اتصال Wi-Fi مباشر ، المعروفة أيضًا باسم Wi-Fi P2P، للأجهزة المتوافقة رصد بعضها والاتصال بها مباشرةً باستخدام بروتوكول Wi-Fi Direct بدون الوصول إلى الإنترنت أو شبكة الجوّال. تستند هذه الميزة إلى مواصفات Wi-Fi Direct التي وضعتها مجموعة Wi-Fi Alliance، وتتيح مشاركة البيانات ذات معدل النقل العالي بين التطبيقات والأجهزة الموثوق بها التي لا تكون متصلة بالشبكة.

الأمثلة والمصدر

لاستخدام هذه الميزة، يجب على الشركات المصنّعة للأجهزة تنفيذ واجهة مورّد شبكة Wi-Fi وواجهة "سطح المكتب المُرفَق" (HAL).

في Android 13، تستخدم واجهة Supplicant AIDL لتعريف HAL. في الإصدار Android 14 والإصدارات الأحدث، تستخدم واجهة Vendor HAL واجهة IDE. في الإصدار 12 من Android والإصدارات الأقدم، يتم تعريف واجهات Supplicant و Vendor HAL باستخدام HIDL.

يجب توفّر مساحات HAL التالية لشبكة 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 المباشر" عند إنشاء الواجهة إذا لم يتم حفظ مجموعة دائمة، وإلا يجب أن يستمر عنوان الجهاز في استخدام عنوان MAC الذي تم إنشاؤه مؤخرًا.
  • يجب توزيع عنوان واجهة Wi-Fi Direct عشوائيًا في كل مرة يتم فيها إجراء اتصال.

يتم تطبيق التوزيع العشوائي لعنوان Wi-Fi المباشر على نظام التشغيل "wpa_supplicant" ويتم التحكّم فيه من خلال إعدادين، هما p2p_device_random_mac_addr وp2p_interface_random_mac_addr.

لتفعيل هذه الميزة، على المصنّعين استيفاء الشروط التالية:

  • تنفيذ واجهة برمجة التطبيقات Wi-Fi Supplicant ISupplicantP2pIface::setMacRandomization ويكون ذلك في:
    • hardware/interface/wifi/supplicant/1.2 لبروتوكول HIDL
    • hardware/interface/wifi/supplicant/aidl لـ لغة تعريف واجهة نظام Android ‏(AIDL)
  • اضبط config_wifi_p2p_mac_randomization_supported على "صحيح" في التراكب المخصّص على الجهاز.

التحقُّق

يوفّر 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".