يقدّم Android تنفيذًا تلقائيًا لإطار عمل Android يتضمّن دعمًا لأوضاع وبروتوكولات Wi-Fi المختلفة، بما في ذلك:
- البنية الأساسية لشبكة Wi-Fi (STA)
- نقطة اتصال Wi-Fi (نقطة اتصال افتراضية) في وضعَي "الاتصال بجهاز آخر" أو "الأجهزة المحلية فقط"
- اتصال Wi-Fi المباشر (p2p)
- الاتصال بشبكة Wi-Fi (NAN)
- وقت استجابة الإرسال والتلقي في شبكة 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 (في كل من STA وAP).
- خدمة Wi-Fi P2P: لإدارة وضع Wi-Fi Direct.
- خدمة Wi-Fi Aware: تدير وضع Wi-Fi Aware.
- خدمة Wi-Fi RTT: تدير وظائف IEEE 802.11mc FTM.
يتضمّن إطار عمل 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.