OpenMV MicroPython OpenMV MicroPython OpenMV MicroPython
  • الرئيسية
  • البرنامج التعليمي
  • المكتبات الأساسية
  • اللوحات
  • الدروع
  • المستشعرات
  • اللغة
  • CPython
  • الداخلية
  • سجل التغييرات
  • الرخصة
/
  • English
  • العربية
  • 简体中文
  • 繁體中文
  • Hrvatski
  • Čeština
  • Nederlands
  • Suomi
  • Français
  • Deutsch
  • עברית
  • Magyar
  • Italiano
  • 日本語
  • 한국어
  • Polski
  • Português
  • Română
  • Русский
  • Español
  • Svenska
  • Türkçe
  • نقاش
  • البرنامج التعليمي
    • 1. البدء السريع
    • 2. نظرة عامة على Python
    • 3. التحكم في العتاد
    • 4. مستشعرات الرؤية
    • 5. معالجة الصور
    • 6. NumPy
    • 7. التعلّم الآلي
    • 8. Asyncio
    • 9. الشبكات
    • 10. خوادم الويب
    • 11. Bluetooth
      • 11.1. لماذا Bluetooth
      • 11.2. مكدّس BLE
      • 11.3. الراديو وطبقة الرابط
      • 11.4. الإعلان والمسح
      • 11.5. الاتصالات
      • 11.6. الخدمات والخصائص
      • 11.7. عمليات GATT
      • 11.8. وحدة aioble
      • 11.9. العمل كطرفية
      • 11.10. العمل كجهاز مركزي
      • 11.11. قنوات L2CAP
      • 11.12. الأدوار المتزامنة والاتصالات المتعددة
      • 11.13. الإقران والربط
      • 11.14. الخلاصة
    • 12. بروتوكول المضيف
    • 13. الأدوات
    • 14. الإنتاج
  • المكتبات
  • اللوحات
  • الدروع (Shields)
  • المستشعرات
  • اللغة
  • CPython
  • الأجزاء الداخلية
  • سجل التغييرات
  • الترخيص

في هذه الصفحة

  • 11.3.1. الراديو
  • 11.3.2. طبقة الرابط
  • 11.3.3. ما تتشاركه الكاميرا ونظيرها
  • 11.3.4. ما يراه Python من كل هذا
micropython-doc 0 0
تعديل هذه الصفحة
  1. OpenMV MicroPython /
  2. دليل تعليمي لـ OpenMV Cam /
  3. 11. Bluetooth /
  4. 11.3. الراديو وطبقة الرابط
عرض المصدر فتح في ChatGPT فتح في Claude فتح في Perplexity

11.3. الراديو وطبقة الرابط¶

الطبقتان السفليتان من حزمة BLE تلقائيتان بالكامل تقريبًا من منظور Python -- إذ تتولى رقاقة الراديو والطبقات التي يعمل فوقها MicroPython كل شيء من اختيار قناة إلى إعادة إرسال حزمة مفقودة. ومع ذلك، تظهر ثلاثة من الاختيارات التي تتخذها في الواجهة البرمجية الموجهة للمستخدم: الطاقة والمدى والإنتاجية.

11.3.1. الراديو¶

يستخدم BLE نطاق 2.4 جيجاهرتز الصناعي-العلمي-الطبي (ISM) نفسه الذي يستخدمه Wi-Fi وأفران الميكروويف ومعظم الأجهزة اللاسلكية الأخرى قصيرة المدى. ويُقسَّم النطاق إلى 40 قناة بعرض 2 ميجاهرتز لكل منها.

  • ثلاث من القنوات الأربعين محجوزة لـ الإعلان -- وهي بثوث قصيرة تعلن عن حضور جهاز لأي مستمع. وهي موزَّعة عبر النطاق بحيث يستطيع المستمع مسح الثلاث جميعًا بسرعة وبحيث يصعب أن يقطع التشويش على أي واحدة منها وصول الجهاز إلى الأثير كليًّا.

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

A horizontal frequency axis from 2400 MHz to 2480 MHz with 40 narrow channel slots drawn on it. Three of the slots, at the bottom edge, middle, and upper edge of the band, are highlighted as "advertising channels". The remaining 37 are labelled "data channels".

قنوات BLE الأربعون على نطاق 2.4 جيجاهرتز. ثلاث للإعلان، والباقي تحمل حركة المرور على اتصال مفتوح.¶

يُرسِل الراديو حزمًا قصيرة -- بضع مللي ثوانٍ على الأكثر -- وينام بينها. وذلك النوم هو ما يجعل التقنية منخفضة الطاقة. فطرفية BLE نموذجية تقضي ما يقل كثيرًا عن واحد بالمئة من وقتها في الإرسال فعليًّا؛ والباقي هو الراديو مُطفأ بين الأحداث المجدولة.

11.3.2. طبقة الرابط¶

طبقة الرابط هي أصغر وحدة في BLE تتحدث مع نظيرتها على جهاز آخر. وهي تتولى أربع مهام.

  • تأطير الحزم. تحمل كل حزمة ترويسة قصيرة (عنوان وصول القناة، طول الحزمة، بتات تحكم)، وحمولة، وCRC. ويتحقق المستقبِل من CRC ويُسقط أي شيء تالف.

  • العنونة. لكل جهاز BLE عنوان جهاز بطول 48-بت يحدده على الراديو. بعضها عام -- مُعرّف عتاد عيّنته الشركة المصنِّعة، قابل للتتبع إلى الأبد. وبعضها عشوائي -- يُولَّد على الجهاز، ويُدوَّر دوريًا، ويُشفَّر اختياريًا بحيث لا يستطيع متنصت ربط إرسالين بالعتاد الفعلي نفسه. وتظهر العناوين مجددًا في الإعلان والمسح.

  • جدولة الاتصال. بمجرد اتصال جهازين، تجدول طبقة الرابط أحداث راديو دورية على تسلسل القفز -- على بُعد فترة اتصال ثابتة -- وتحزم في كل حدث ما هو مُصطَفّ من بيانات من طبقة GATT الأعلى. ويعود الطرفان إلى النوم بين الأحداث. وفترة الاتصال مقبض يستطيع التطبيق طلبه (انظر الاتصالات).

  • الموثوقية. يُقَرّ الطرف الآخر استلامَ كل حزمة على الاتصال. وتعيد طبقة الرابط إرسال أي شيء لم يتلقَّ ردًا، فترى الطبقات الأعلى دفق بايتات مرتبًا وخاليًا من الفقد. وخلافًا لـ UDP -- أرسل حزمة وتمنّ الأفضل على جانب الشبكات، لا يملك BLE وضعًا غير موثوق منفصلًا في الاستخدام العادي -- فكل حزمة على اتصال مفتوح يُعاد محاولتها حتى تصل أو يُعلَن فقدان الرابط.

طبقة الرابط هي أيضًا حيث يعمل التشفير بمجرد أن يتفق زوج من الأجهزة على مفتاح أثناء الاقتران (انظر الإقران والربط). فكل حزمة على رابط مشفَّر تُفك تشفيرها عند المستقبِل قبل أن تراها الطبقات الأعلى إطلاقًا.

11.3.3. ما تتشاركه الكاميرا ونظيرها¶

يتفق الراديوان على الطرفين وقت الاتصال على حفنة من المعاملات التي تحكم المحادثة:

  • فترة الاتصال -- كم مرة يستيقظ الطرفان لتبادل الحزم، وتتراوح من 7.5 ms إلى 4 s.

  • زمن استجابة الطرفية -- كم فترة متتالية يجوز للطرفية أن تتخطاها إن لم يكن لديها ما تقوله، توفيرًا للطاقة.

  • مهلة الإشراف -- كم تنتظر أي من الجهتين قبل إعلان فقدان الرابط حين يصمت الآخر.

  • MTU -- أكبر حزمة منفردة سيسلمها أي من الطرفين إلى GATT (افتراضيًا 23 بايت، ويمكن التفاوض على رفعها).

يتحمل الراديو وطبقة الرابط معًا مسؤولية نقل حزم موثوقة ومرتبة من جهاز إلى آخر مع إبقاء كلا الراديوين مُطفأين قدر الإمكان. وكل طبقة أعلى حرة في التصرف كما لو أن قناة بايتات نظيفة وخاصة موجودة بين الطرفين.

11.3.4. ما يراه Python من كل هذا¶

لا شيء تقريبًا. فواجهتا bluetooth وaioble لا تكشفان عن القنوات أو تسلسلات القفز أو CRC الحزم أو مؤقتات إعادة الإرسال؛ فكل تلك تُعالَج داخل منفذ BLE والراديو. أما الأجزاء التي تظهر فهي تلك التي يكشفها التفاوض وقت الاتصال -- فترة الاتصال، MTU، نوع العنوان.

السابق
11.2. مكدّس BLE
التالي
11.4. الإعلان والمسح

لإصدار OpenMV v5.0.0 · مبني على MicroPython v1.28 · التوثيق بُنيت 18 يونيو 2026 · حقوق النشر © 2014-2026 لـ OpenMV، Damien P. George، وآخرين.

مصنوع بـ Sphinx باستخدام Shibuya theme.