الاستفادة من شبكات Wi-Fi

تتيح ميزة Wi-Fi Aware التي تمت إضافتها في Android 8.0 للأجهزة المتوافقة اكتشاف الأجهزة وربطها ببعضها وربطها ببعضها (المُضافة في Android 9) مباشرةً باستخدام بروتوكول Wi-Fi Aware بدون الاتصال بالإنترنت أو شبكة الجوّال. تستند هذه الميزة إلى مواصفات Wi-Fi Alliance (WFA) مواصفات Wi-Fi Aware (الإصدارات 2.0 و3.0 و3.1 و4.0)، وتتيح مشاركة البيانات العالية السرعة بسهولة بين الأجهزة والتطبيقات الموثوق بها التي تكون خارج الشبكة.

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

لاستخدام هذه الميزة، يجب على الشركات المصنّعة للأجهزة تنفيذ اتفاقية HAL لمورّد Wi-Fi. في Android 14 والإصدارات الأحدث، يتم تحديد واجهة HAL للبائع باستخدام AIDL. بالنسبة إلى نظام التشغيل Android 13 والإصدارات الأقدم، يتم تحديد واجهة HAL للبائع باستخدام HIDL.

اتبع واجهة Wi-Fi لاستخدام ميزة Wi-Fi Aware. اعتمادًا على الواجهة التي يتم تنفيذها، يكون ذلك إمّا:

  • لغة تعريف الهوية (AIDL): hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 أو أحدث

يمكنك الرجوع إلى واجهة HAL القديمة لشبكة Wi-Fi لمعرفة كيفية ارتباطها بواجهة AIDL وHIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h.

التنفيذ

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

  • إطار العمل:
    • رمز AOSP
    • تفعيل خدمة Aware: تتطلب هذه الميزة وضع علامة على الميزة وعلامة إصدار
  • التوافق مع طبقة تجريد الأجهزة (HAL) لخدمة Wi-Fi Aware (NAN) (يعني ذلك دعم البرامج الثابتة)

لتطبيق هذه الميزة، تنفّذ الشركات المصنِّعة للأجهزة واجهة Wi-Fi وتُفعّل علامتَي الميزات:

  • في BoardConfig.mk أو BoardConfig-common.mk في device/<oem>/<device>، أضِف العلامة التالية:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • في device.mk المتوفّر في device/<oem>/<device>، عدِّل متغيّر بيئة PRODUCT_COPY_FILES ليشمل إتاحة ميزة "الوعي بشبكات Wi-Fi":

    PRODUCT_COPY_FILES +=
    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
    

تشمل خدمة Wi-Fi Aware النطاق الذي يشمل الأجهزة المشابهة باستخدام بروتوكول IEEE 802.11mc، والمعروف أيضًا باسم ميزة "وقت الإرسال والاستقبال". هذه الميزة الفرعية لخدمة Wi-Fi Aware مشروطة بميزة "مراسلة نصية في الوقت الفعلي" في الجهاز الذي يتوافق مع هذه الميزة، أي أنّها تتطلب أن يتوافق الجهاز مع كل من خدمة Wi-Fi Aware وميزة "المراسلة النصية في الوقت الفعلي" مع Wi-Fi. لمزيد من التفاصيل، راجِع المراسلة النصية في الوقت الفعلي لشبكة Wi-Fi.

وبخلاف ذلك، يتم تضمين كل ما هو مطلوب لهذه الميزة في AOSP.

يتم تجاهل العلامة WIFI_HIDL_FEATURE_AWARE في حال تحديد العلامة WIFI_HAL_INTERFACE_COMBINATIONS. لمزيد من المعلومات، يُرجى الاطّلاع على تزامن واجهات Wi-Fi المتعددة.

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

يتطلب نظام التشغيل Android توزيع عنوان MAC لـ "اكتشاف Wi-Fi" (NMI) وواجهات البيانات (NDP) عشوائيًا وألا يكونا متطابقين مع عنوان MAC الحقيقي للجهاز. يجب أن تكون عناوين MAC كما يلي:

  • يتم توزيعها عشوائيًا عند تفعيل Wi-Fi Aware أو إعادة تفعيلها.
  • عند تفعيل خدمة Wi-Fi Aware، يجب اختيار عنوان MAC عشوائيًا من خلال فاصل زمني منتظم يتم ضبطه من خلال مَعلمة NanConfigRequest.macAddressRandomizationIntervalSec. ويتم ضبطه من خلال إطار العمل تلقائيًا على 30 دقيقة.

التعليق والاستئناف

في نظام التشغيل Android 14 والإصدارات الأحدث، تتيح خدمة Wi-Fi Aware إمكانية تعليق واستئناف جلسات الاكتشاف النشطة للتطبيقات المتميزة (بما في ذلك جميع مسارات البيانات المرتبطة بهذه الجلسات). وتتيح إتاحة هذه الميزة للأجهزة إمكانية استئناف جلسات الاستكشاف بشكل أسرع واستخدام طاقة أقل لأنّه قد يتم تعليق جلسات الاستكشاف.

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

عندما يستأنف تطبيق امتياز جلسة اكتشاف معلّقة، يعيد إطار العمل الجلسة إلى حالته السابقة، بما في ذلك جميع جلسات NDP المرتبطة. يكون استئناف جلسة الاكتشاف المعلَّقة أسرع من إظهار Wi-Fi Aware وإنشاء جلسة اكتشاف جديدة.

لإتاحة إمكانية تعليق جلسات الاكتشاف واستئنافها، يجب على الشركات المصنّعة للأجهزة توفير التوافق مع طبقة تجريد الأجهزة (HAL) والبرامج الثابتة. لمعرفة التفاصيل، يُرجى الاطّلاع على IWifiNanIface.java.

يمكن للشركات المصنّعة للأجهزة استخدام الاتصالات خارج النطاق (على سبيل المثال، تقنية BLE) لمزامنة التعليق والاستئناف على أجهزة متعددة.

التحقُّق

يوفّر Android مجموعة من اختبارات الوحدات واختبارات مجموعة أدوات اختبار التوافق (CTS) واختبارات CTS Verifier للتحقّق من صحة ميزة "الوعي باتصال Wi-Fi". يمكن أيضًا اختبار خدمة Wi-Fi Aware باستخدام مجموعة اختبار المورّدين (VTS).

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

يتم تنفيذ اختبارات حزمة Wi-Fi Aware باستخدام:

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

atest com.android.server.wifi.aware

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

atest android.net.wifi.aware

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

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

يمكن بدء اختبارات CTS باستخدام:

atest SingleDeviceTest

اختبارات CTS Verifier

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