OpenMV MicroPython OpenMV MicroPython OpenMV MicroPython
  • Home
  • Tutorial
  • Libraries
  • Boards
  • Shields
  • Sensors
  • Language
  • CPython
  • Internals
  • Changelog
  • License
/
  • English
  • 简体中文
  • 繁體中文
  • Deutsch
  • 日本語
  • Español
  • Русский
  • Français
  • 한국어
  • Italiano
  • Português
  • Nederlands
  • Română
  • Hrvatski
  • Čeština
  • Polski
  • Suomi
  • Svenska
  • Magyar
  • Türkçe
  • Discussion
  • Útmutató
    • 1. Gyors kezdés
    • 2. Python áttekintés
    • 3. Hardvervezérlés
    • 4. Képérzékelők
    • 5. Képfeldolgozás
    • 6. NumPy
    • 7. Gépi tanulás
    • 8. Asyncio
    • 9. Hálózatkezelés
    • 10. Webszerverek
    • 11. Bluetooth
      • 11.1. Miért Bluetooth
      • 11.2. A BLE verem
      • 11.3. A rádió és a kapcsolati réteg
      • 11.4. Hirdetés és pásztázás
      • 11.5. Kapcsolatok
      • 11.6. Szolgáltatások és karakterisztikák
      • 11.7. GATT műveletek
      • 11.8. Az aioble modul
      • 11.9. Periféria szerepkörben
      • 11.10. Központként való működés
      • 11.11. L2CAP-csatornák
      • 11.12. Egyidejű szerepek és több kapcsolat
      • 11.13. Párosítás és kötés
      • 11.14. Összegzés
    • 12. Gazdagép-protokoll
    • 13. Eszközök
    • 14. Gyártás
  • Könyvtárak
  • Lapok
  • Bővítőlapok
  • Érzékelők
  • Nyelv
  • CPython
  • Belső működés
  • Változásnapló
  • Licenc

On this page

  • 11.3.1. A rádió
  • 11.3.2. A kapcsolati réteg
  • 11.3.3. Mit oszt meg a kamera és egy társ
  • 11.3.4. Mit lát ebből a Python
micropython-doc 0 0
Edit this page
  1. OpenMV MicroPython /
  2. OpenMV Cam oktatóanyag /
  3. 11. Bluetooth /
  4. 11.3. A rádió és a kapcsolati réteg
View Source Open in ChatGPT Open in Claude Open in Perplexity

11.3. A rádió és a kapcsolati réteg¶

A BLE-verem alsó két rétege Python szempontjából szinte teljesen automatikus – a rádió-szilícium és a rétegek, amelyeket a MicroPython felette futtat, mindent kezelnek a csatorna kiválasztásától az elveszett csomag újraküldéséig. Az általuk hozott választások közül három mégis átlátszik a felhasználó felé eső API-ba: a teljesítmény, a hatótávolság és az átviteli teljesítmény.

11.3.1. A rádió¶

A BLE ugyanazt a 2,4 GHz-es ipari-tudományos-orvosi (ISM) sávot használja, mint a Wi-Fi, a mikrohullámú sütők és a legtöbb más rövid hatótávolságú vezeték nélküli technológia. A sávot 40 darab, 2 MHz széles csatornára osztják.

  • A 40 csatorna közül három a hirdetés számára van fenntartva – rövid közvetítések, amelyek bejelentik egy eszköz jelenlétét bárkinek, aki figyel. Ezek szét vannak osztva a sávban, hogy egy hallgató mindhármat gyorsan végigpásztázhassa, és hogy az egyiken jelentkező zavar valószínűleg ne tegye teljesen némává az eszközt.

  • Harminchét adatcsatorna. Miután két eszköz csatlakozik, ezeken cserélnek csomagokat, közöttük egy ál-véletlenszerű sorozaton ugrálva, amelyben a két oldal a kapcsolat létrejöttekor megállapodik. Az adaptív frekvenciaugrás lehetővé teszi, hogy bármelyik oldal rossznak jelöljön egy csatornát (erős Wi-Fi-zavar, mikrohullámú sütő, szomszédos BLE-hálózat), így a sorozat kihagyja azt.

Egy vízszintes frekvenciatengely 2400 MHz-től 2480 MHz-ig, rajta 40 keskeny csatornarés. Közülük három, a sáv alsó szélén, közepén és felső szélén, ki van emelve "advertising channels" felirattal. A maradék 37 "data channels" felirattal van ellátva.

A 40 BLE-csatorna a 2,4 GHz-es sávon. Három a hirdetésre szolgál, a többi a forgalmat viszi egy nyitott kapcsolaton.¶

A rádió rövid csomagokat továbbít – legfeljebb néhány ezredmásodperc hosszúakat –, és közöttük alszik. Ez az alvás teszi a technológiát alacsony fogyasztásúvá. Egy tipikus BLE-peripheral az idejének jóval kevesebb mint egy százalékát tölti tényleges átvitellel; a többi az ütemezett események közötti kikapcsolt rádió.

11.3.2. A kapcsolati réteg¶

A kapcsolati réteg a BLE legkisebb egysége, amely egy másik eszközön lévő párjával kommunikál. Négy feladatot kezel.

  • Csomagkeretezés. Minden csomag egy rövid fejlécet (csatorna-hozzáférési cím, csomaghossz, vezérlőbitek), egy hasznos terhelést és egy CRC-t hordoz. A vevő ellenőrzi a CRC-t, és eldob mindent, ami sérült.

  • Címzés. Minden BLE-eszköznek van egy 48 bites eszközcíme, amely azonosítja a rádióban. Némelyik nyilvános – egy hardverazonosító, amelyet a gyártó rendelt hozzá, örökre nyomon követhető. Némelyik véletlenszerű – az eszközön generálva, időszakosan forgatva, és opcionálisan titkosítva, hogy egy lehallgató ne tudjon két átvitelt ugyanahhoz a fizikai hardverhez kötni. A címek újra előkerülnek itt: Hirdetés és pásztázás.

  • Kapcsolatütemezés. Miután két eszköz csatlakozik, a kapcsolati réteg periodikus rádióeseményeket ütemez az ugrási sorozaton – egy fix kapcsolati intervallummal egymástól –, és minden eseménybe becsomagolja a felette lévő GATT-rétegtől sorban álló adatokat. Mindkét oldal visszaalszik az események között. A kapcsolati intervallum egy szabályozó, amelyet az alkalmazás kérhet (lásd Kapcsolatok).

  • Megbízhatóság. Egy kapcsolaton lévő minden csomagot a másik oldal nyugtáz. A kapcsolati réteg újraküld mindent, ami nem kapott választ, így a felette lévő rétegek egy rendezett, veszteségmentes bájtfolyamot látnak. A hálózati oldalon lévő UDP – küldj egy csomagot, remélj a legjobbat-vel ellentétben a BLE-nek normál használat során nincs külön megbízhatatlan módja – egy nyitott kapcsolaton lévő minden csomagot újrapróbál, amíg meg nem érkezik, vagy a kapcsolatot elveszettnek nem nyilvánítják.

A kapcsolati réteg az is, ahol a titkosítás fut, miután egy eszközpár megegyezett egy kulcsban a párosítás során (lásd Párosítás és kötés). Egy titkosított kapcsolaton lévő minden csomagot a vevőnél visszafejtenek, mielőtt a felette lévő rétegek egyáltalán látnák.

11.3.3. Mit oszt meg a kamera és egy társ¶

A két végen lévő rádiók a kapcsolat létrejöttekor megegyeznek néhány paraméterben, amelyek a kommunikációt szabályozzák:

  • A kapcsolati intervallum – milyen gyakran ébred fel a két oldal a csomagok cseréjére, 7,5 ms-tól 4 s-ig bárhol.

  • A peripheral latency – hány egymást követő intervallumot hagyhat ki a peripheral, ha nincs mondanivalója, az energiamegtakarítás érdekében.

  • A felügyeleti időtúllépés – meddig vár bármelyik oldal, mielőtt elveszettnek nyilvánítja a kapcsolatot, ha a másik elnémul.

  • Az MTU – a legnagyobb egyetlen csomag, amelyet bármelyik oldal átad a GATT-nak (alapértelmezetten 23 bájt, felfelé egyeztethető).

A rádió és a kapcsolati réteg együtt felelős azért, hogy megbízható, rendezett csomagokat juttasson el az egyik eszközről a másikra, miközben mindkét rádiót a lehető legtöbbet kikapcsolva tartja. Minden felette lévő réteg szabadon úgy viselkedhet, mintha egy tiszta, privát bájtcsatorna létezne a két végpont között.

11.3.4. Mit lát ebből a Python¶

Szinte semmit. A bluetooth és aioble API-k nem tárnak fel csatornákat, ugrási sorozatokat, csomag-CRC-ket vagy újraküldési időzítőket; ezeket mind a BLE-port és a rádió belsejében kezelik. A valóban átlátszó részek azok, amelyeket a kapcsolat-időbeli egyeztetés feltár – kapcsolati intervallum, MTU, címtípus.

Previous
11.2. A BLE verem
Next
11.4. Hirdetés és pásztázás

For OpenMV firmware v5.0.0 · based on MicroPython v1.28 · docs built 16 Jun 2026 · Copyright © 2014-2026 by OpenMV, Damien P. George, and others.

Made with Sphinx using the Shibuya theme.