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

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

أمثلة ومصدر

لاستخدام هذه الميزة، على مصنّعي الأجهزة تنفيذ واجهات HAL الخاصة بمورّد Wi-Fi وSupplicant.

في Android 13، تستخدم واجهة Supplicant لغة تعريف واجهة Android (AIDL) لتعريف طبقة تجريد الأجهزة (HAL). في نظام التشغيل Android 14 والإصدارات الأحدث، تستخدم واجهة Vendor HAL لغة تعريف واجهة Android (AIDL). في الإصدار 12 من نظام التشغيل Android والإصدارات الأقدم، يتم تحديد واجهات 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 أو إصدار أحدث

التنفيذ

على الشركات المصنّعة للأجهزة توفير إمكانية استخدام كلّ من إطار العمل وطبقة تجريد الأجهزة/البرامج الثابتة:

  • إطار العمل:
    • رمز 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 في "مشروع Android مفتوح المصدر" (AOSP).

التوزيع العشوائي لعناوين MAC

يتطلّب نظام التشغيل Android أن يتم إنشاء عنوان الجهاز وعنوان الواجهة لشبكة Wi-Fi Direct بشكل عشوائي. ويجب أن تكون مختلفة عن عنوان MAC الفعلي للجهاز وأن تستوفي المتطلبات التالية:

  • يجب إنشاء عنوان عشوائي لجهاز &quot;اتصال Wi-Fi مباشر&quot; عند إنشاء الواجهة إذا لم يتم حفظ أي مجموعة دائمة، وإلا يجب أن يستمر عنوان الجهاز في استخدام عنوان 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 لغة تعريف واجهة HIDL
    • hardware/interface/wifi/supplicant/aidl لـ AIDL
  • اضبط قيمة config_wifi_p2p_mac_randomization_supported على "true" في طبقة تراكب مخصّصة للجهاز.

التحقُّق

يوفر نظام التشغيل Android مجموعة من اختبارات الوحدات واختبارات مجموعة أدوات اختبار التوافق (CTS) واختبارات CTS Verifier للتحقّق من صحة ميزة Wi-Fi Direct. يمكن أيضًا اختبار ميزة &quot;اتصال Wi-Fi مباشر&quot; باستخدام مجموعة اختبارات المورّد (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 Direct".