يقدّم Android تنفيذًا تلقائيًا لإطار عمل Android يتضمّن دعمًا لأوضاع وبروتوكولات Wi-Fi المختلفة، بما في ذلك:
- البنية الأساسية لشبكة Wi-Fi (STA)
- نقطة اتصال Wi-Fi (نقطة اتصال افتراضية) في وضعَي "الاتصال بجهاز آخر" أو "الأجهزة المحلية فقط"
- اتصال Wi-Fi المباشر (p2p)
- Wi-Fi Aware (الاتصال المباشر بمحطات لاسلكية مجاورة)
- وقت استجابة الإرسال والتلقي في شبكة Wi-Fi (IEEE 802.11mc FTM)
يتواصل التطبيق الذي يستخدم خدمات Wi-Fi مباشرةً مع خدمات Wi-Fi المختلفة من خلال Binder. يتم تشغيل خدمات Wi-Fi في خدمة النظام، و تتم معالجة المحادثات مع HAL من خلال واجهات HIDL وAIDL المقدَّمة. يعرض هذا المخطّط البياني البنية العامة لحزمة Wi-Fi في Android.
الشكل 1: بنية Wi-Fi في Android
إطار عمل التطبيق
على مستوى إطار عمل التطبيق، يكون رمز التطبيق الذي يستخدم واجهات برمجة التطبيقات المختلفة android.net.wifi للتفاعل مع إطار عمل Wi-Fi والأجهزة. داخليًا، يُطلِق هذا الرمز البرمجي عملية Wi-Fi من خلال آلية Binder IPC.
خدمات Wi-Fi
يتم تشغيل خدمات Wi-Fi في "خدمة النظام"، ويمكن العثور عليها في
packages/modules/Wifi/service/
. تتواصل خدمة Wi-Fi مع
Wi-Fi HAL عبر AIDL.
هناك خدمات مختلفة لشبكة Wi-Fi:
- خدمة Wi-Fi: الآلية الأساسية للتحكّم في أوضاع البنية الأساسية لشبكة Wi-Fi (كل من محطة العمل ونقطة الوصول)
- خدمة Wi-Fi P2P: تدير وضع Wi-Fi Direct.
- خدمة Wi-Fi Aware: تدير وضع Wi-Fi Aware.
- خدمة RTT لشبكة Wi-Fi: تدير وظيفة FTM في IEEE 802.11mc.
يتضمّن إطار عمل Wi-Fi أيضًا عملية مستقلة، وهي wificond، والتي يمكن العثور عليها
في system/connectivity/wificond
. تتواصل عملية wificond مع
برنامج تشغيل Wi-Fi من خلال أوامر nl80211
العادية.
واجهات برمجة التطبيقات لشبكة Wi-Fi
يتضمّن إطار عمل Wi-Fi ثلاث مساحات عرض HAL لشبكة Wi-Fi يتم تمثيلها من خلال ثلاث واجهتَين مختلفتَين: Vendor HAL وSupplicant HAL وHostapd HAL.
للحصول على تفاصيل حول عمليات تنفيذ واجهات برمجة التطبيقات المختلفة، يُرجى الاطّلاع على Wi-Fi HAL.