Wi-Fi Aware

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

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

لاستخدام هذه الميزة، على المصنّعين تنفيذ حزمة 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
    • تفعيل خدمة 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 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 " (NMI) والبيانات اختيار عشوائي للواجهات (NDP) وعدم تطابقها مع عنوان MAC الحقيقي الجهاز. يجب أن تستوفي عناوين MAC الشروط التالية:

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

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

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

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

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

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

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

التحقُّق

يوفّر Android مجموعة من اختبارات الوحدات واختبارات مجموعة اختبار التوافق (CTS) واختبارات أداة التحقّق من CTS للتحقّق من صحة ميزة إعلامات 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".