Wi-Fi Aware

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

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

لاستخدام هذه الميزة، على المصنّعين تنفيذ حزمة HAL الخاصة بمورّدي Wi-Fi. في الإصدار 14 من Android والإصدارات الأحدث، يتم تعريف واجهة HAL الخاصة بالمطوّر باستخدام AIDL. في الإصدار 13 من نظام التشغيل Android والإصدارات الأقدم، يتم تعريف واجهة 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
    • تفعيل ميزة "الوعي": يتطلب ذلك كلّ من علامة ميزة وعلامة إصدار
  • توفُّر حزمة 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 Aware:

    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، ويُعرف هذا البروتوكول أيضًا باسم "وقت الرحلة ذهابًا وإيابًا" (RTT). تعتمد هذه الميزة الفرعية لميزة "الاستشعار عبر Wi-Fi" على توفّر ميزة "قياس زمن الاستجابة عبر Wi-Fi" على الجهاز، أي أنّها تتطلّب توفّر كلّ من ميزة "الاستشعار عبر Wi-Fi" وميزة "قياس زمن الاستجابة عبر Wi-Fi" على الجهاز. لمزيد من التفاصيل، يُرجى الاطّلاع على وقت استجابة Wi-Fi.

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

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

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

يتطلّب نظام التشغيل Android أن يكون عنوان MAC لاكتشاف Wi-Fi Aware (NMI) وواجهات data (NDPs) عشوائيًا وألا يكون مطابقًا لعنوان MAC الحقيقي للجهاز. يجب أن تستوفي عناوين MAC الشروط التالية:

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

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

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

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

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

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

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

التحقُّق

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

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

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

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

atest com.android.server.wifi.aware

اختبارات الحساب الإداري:

atest android.net.wifi.aware

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

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

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

atest SingleDeviceTest

اختبارات أداة التحقّق من التوافق (CTS Verifier)

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