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

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

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

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

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

يجب توفير واجهات Wi-Fi HAL التالية لاستخدام ميزة اتصال Wi-Fi مباشر:

  • hardware/interfaces/wifi/aidl أو hardware/interfaces/wifi/1.3 أو إصدار أحدث
  • hardware/interfaces/wifi/supplicant/aidl أو hardware/interfaces/wifi/supplicant/1.2 أو إصدار أحدث

التنفيذ

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

  • إطار العمل:
    • رمز AOSP
    • تفعيل ميزة "اتصال Wi-Fi المباشر": تتطلّب علامة ميزة
  • إتاحة اتصال Wi-Fi مباشر (P2P) HAL (ما يعني إتاحة البرامج الثابتة)

لتنفيذ هذه الميزة، على مصنّعي الأجهزة تنفيذ واجهات Wi-Fi HIDL أو لغة تعريف واجهة نظام Android ‏(AIDL) وتفعيل علامة الميزة الخاصة باتصال Wi-Fi مباشر. في device.mk الموجود في device/<oem>/<device>، عدِّل متغيّر البيئة PRODUCT_COPY_FILES ليشمل إمكانية استخدام ميزة اتصال Wi-Fi مباشر:

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 مباشر في مشروع Android المفتوح المصدر (AOSP).

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

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

  • يجب إنشاء عنوان جهاز &quot;اتصال Wi-Fi مباشر&quot; بشكل عشوائي عند إنشاء الواجهة إذا لم يتم حفظ أي مجموعة دائمة، وإلا يجب أن يواصل عنوان الجهاز استخدام آخر عنوان MAC تم إنشاؤه.
  • يجب أن يتم اختيار عنوان واجهة Wi-Fi Direct، المعروف أيضًا باسم عنوان المجموعة، بشكل عشوائي في كل مرة يتم فيها إنشاء اتصال.

يتم تنفيذ التوزيع العشوائي لعناوين MAC في اتصال Wi-Fi مباشر في 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 مجموعة من اختبارات الوحدات واختبارات مجموعة أدوات اختبار التوافق (CTS) واختبارات CTS Verifier للتحقّق من صحة ميزة Wi-Fi Direct. يمكن أيضًا اختبار اتصال Wi-Fi مباشر باستخدام مجموعة أدوات اختبار المورّد (VTS).

اختبارات الوحدات

تحقَّق من حزمة اتصال Wi-Fi مباشر باستخدام الاختبارات التالية.

اختبارات الخدمة:

atest com.android.server.wifi.p2p

اختبارات المدير:

atest android.net.wifi.p2p

اختبارات مجموعة أدوات اختبار التوافق (CTS)

استخدِم اختبارات CTS للتحقّق من صحة ميزة اتصال Wi-Fi مباشر. يرصد اختبار التوافق (CTS) الحالات التي يتم فيها تفعيل الميزة، ويشمل تلقائيًا الاختبارات المرتبطة بها.

لتشغيل اختبارات CTS، نفِّذ ما يلي:

atest android.net.wifi.p2p.cts

اختبارات CTS Verifier

تتحقّق اختبارات CTS Verifier من صحة سلوك اتصال Wi-Fi مباشر باستخدام جهازَين: جهاز اختباري وجهاز معروف بجودته. لتشغيل الاختبارات، افتح تطبيق CTS Verifier وانتقِل إلى القسم بعنوان "اختبارات اتصال Wi-Fi مباشر".