تتيح ميزة Wi-Fi Aware المضافة في Android 8.0 للأجهزة المتوافقة إمكانية اكتشاف الأجهزة الأخرى والاتصال بها وتحديد نطاقها (تمت إضافة هذه الميزة في Android 9) بشكل مباشر باستخدام بروتوكول Wi-Fi Aware بدون الحاجة إلى الاتصال بالإنترنت أو بشبكة الجوّال. تستند هذه الميزة إلى مواصفات Wi-Fi Aware الصادرة عن اتحاد Wi-Fi (WFA) (الإصدارات 2.0 و3.0 و3.1 و4.0)، وتتيح مشاركة البيانات ذات معدل النقل العالي بسهولة بين الأجهزة والتطبيقات الموثوق بها التي تكون غير متصلة بالشبكة.
أمثلة ومصدر
لاستخدام هذه الميزة، على الشركات المصنّعة للأجهزة تنفيذ Wi-Fi Vendor HAL. في نظام التشغيل Android 14 والإصدارات الأحدث، يتم تحديد واجهة Vendor HAL باستخدام لغة تعريف واجهة Android (AIDL). في Android 13 والإصدارات الأقدم، يتم تحديد واجهة Vendor 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/+/android16-release/include/hardware_legacy/wifi_nan.h
.
التنفيذ
على الشركات المصنّعة للأجهزة توفير إمكانية استخدام كلّ من إطار العمل وطبقة تجريد الأجهزة/البرامج الثابتة:
- إطار العمل:
- رمز AOSP
- تفعيل Aware: يتطلّب ذلك توفّر كلّ من علامة ميزة وعلامة إصدار
- إتاحة 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، المعروف أيضًا باسم "وقت الاستجابة" (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 (NMI) وواجهات البيانات (NDP)، وألا تكون هذه العناوين مطابقة لعنوان MAC الفعلي للجهاز. يجب أن تكون عناوين MAC:
- يتم إنشاء عنوان MAC عشوائي كلّما تم تفعيل ميزة Wi-Fi Aware أو إعادة تفعيلها.
عند تفعيل Wi-Fi Aware، يجب اختيار عنوان MAC بشكل عشوائي على فترات منتظمة يتم ضبطها باستخدام المَعلمة
NanConfigRequest.macAddressRandomizationIntervalSec
. يتم ضبط هذه القيمة تلقائيًا على 30 دقيقة من خلال إطار العمل.
التعليق والاستئناف
في نظام التشغيل Android 14 والإصدارات الأحدث، تتيح خدمة Wi-Fi Aware للتطبيقات التي لديها امتيازات تعليق جلسات البحث النشطة واستئنافها (بما في ذلك جميع مسارات البيانات المرتبطة بهذه الجلسات). يتيح توفير هذه الإمكانية للأجهزة استئناف جلسات البحث بشكل أسرع واستخدام طاقة أقل لأنّه يمكن تعليق جلسات البحث.
إذا كان الجهاز يتيح إمكانية الإيقاف المؤقت والاستئناف، توقف البرامج الثابتة جلسة Wi-Fi Aware مؤقتًا عندما يوقف تطبيق ذو امتيازات جلسة البحث مؤقتًا. عندما تكون جلسة البحث في حالة تعليق، لا يرسل الجهاز أو يستقبل أي إطارات لتلك الجلسة، بما في ذلك أي بروتوكولات NDP نشطة في تلك الجلسة. في حال تم تعليق جميع جلسات البحث عن الأجهزة المجاورة، لن يرسل الجهاز أو يستقبل أي إطارات Wi-Fi Aware.
عندما يستأنف تطبيق ذو امتيازات جلسة بحث معلّقة، يعيد إطار العمل الجلسة إلى حالتها السابقة، بما في ذلك جميع جلسات NDP المرتبطة بها. تكون استئناف جلسة اكتشاف معلّقة أسرع من عرض Wi-Fi Aware وإنشاء جلسة اكتشاف جديدة.
لإتاحة إمكانية إيقاف جلسات البحث مؤقتًا واستئنافها، يجب أن يوفّر مصنّعو الأجهزة دعمًا للطبقة المجردة من الأجهزة (HAL) والبرامج الثابتة. للحصول على التفاصيل، يُرجى الاطّلاع على
IWifiNanIface.java
.
يمكن لمصنّعي الأجهزة استخدام الاتصالات خارج النطاق (مثل BLE) لمزامنة عمليات التعليق والاستئناف على أجهزة متعددة.
التحقُّق
يوفر نظام التشغيل Android مجموعة من اختبارات الوحدات واختبارات مجموعة أدوات اختبار التوافق (CTS) واختبارات CTS Verifier للتحقّق من صحة ميزة Wi-Fi Aware. يمكن أيضًا اختبار 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".