نظرة عامة

يقدّم 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.

بنية شبكة Wi-Fi

الشكل 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.