الوصول إلى 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)، سهولة مشاركة البيانات عالية الإنتاجية بين الأجهزة والتطبيقات الموثوقة التي تكون خارج الشبكة.

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

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

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

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 أو الأحدث

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

تطبيق

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

  • نطاق:
    • كود AOSP
    • تمكين الوعي: يتطلب كلاً من علامة الميزة وعلامة البناء
  • دعم شبكة Wi-Fi Aware (NAN) HAL (مما يعني دعم البرامج الثابتة)

لتنفيذ هذه الميزة، تقوم الشركات المصنعة للأجهزة بتنفيذ واجهة 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، المعروف أيضًا باسم Round Trip Time (RTT). هذه الميزة الفرعية لـ Wi-Fi Aware مشروطة بأن يدعم الجهاز ميزة Wi-Fi RTT، أي أنها تتطلب أن يدعم الجهاز كلاً من Wi-Fi Aware وWi-Fi RTT. لمزيد من التفاصيل، راجع Wi-Fi RTT .

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

يتم تجاهل علامة WIFI_HIDL_FEATURE_AWARE إذا تم تحديد علامة WIFI_HAL_INTERFACE_COMBINATIONS . لمزيد من المعلومات، راجع تزامن Wi-Fi متعدد الواجهات .

العشوائية MAC

يتطلب Android أن يكون عنوان MAC الخاص باكتشاف Wi-Fi Aware Discovery (NMI) وواجهات البيانات (NDPs) عشوائيًا وألا يكون مطابقًا لعنوان MAC الحقيقي للجهاز. يجب أن تكون عناوين MAC:

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

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

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

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

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

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

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

تصديق

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

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

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

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

atest com.android.server.wifi.aware

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

atest android.net.wifi.aware

اختبارات التكامل (ACTS)

توفر مجموعة اختبار acts/sl4a ، الموضحة في tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md ، اختبارات وظيفية وأداء واختبارات تحمل.

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

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

يمكن تشغيل اختبارات CTS باستخدام:

atest SingleDeviceTest

اختبارات التحقق من CTS

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