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
  • Vodič
    • 1. Brzi početak
    • 2. Pregled Pythona
    • 3. Upravljanje hardverom
    • 4. Vizijski senzori
    • 5. Obrada slike
    • 6. NumPy
    • 7. Strojno učenje
    • 8. Asyncio
    • 9. Umrežavanje
    • 10. Web poslužitelji
    • 11. Bluetooth
      • 11.1. Zašto Bluetooth
      • 11.2. BLE stog
      • 11.3. Radio i sloj veze
      • 11.4. Oglašavanje i skeniranje
      • 11.5. Veze
      • 11.6. Usluge i karakteristike
      • 11.7. GATT operacije
      • 11.8. Modul aioble
      • 11.9. Djelovanje kao periferija
      • 11.10. Djelovanje u ulozi centrale
      • 11.11. L2CAP kanali
      • 11.12. Istovremene uloge i višestruke veze
      • 11.13. Uparivanje i povezivanje
      • 11.14. Sažetak
    • 12. Protokol računala
    • 13. Alati
    • 14. Proizvodnja
  • Biblioteke
  • Ploče
  • Štitovi (Shields)
  • Senzori
  • Jezik
  • CPython
  • Interni dijelovi
  • Zapisnik promjena
  • Licenca

On this page

  • 11.3.1. Radio
  • 11.3.2. Sloj veze
  • 11.3.3. Što kamera i suparnik dijele
  • 11.3.4. Što Python vidi od svega ovoga
micropython-doc 0 0
Edit this page
  1. OpenMV MicroPython /
  2. Vodič za OpenMV Cam /
  3. 11. Bluetooth /
  4. 11.3. Radio i sloj veze
View Source Open in ChatGPT Open in Claude Open in Perplexity

11.3. Radio i sloj veze¶

Donja dva sloja BLE stoga gotovo su u potpunosti automatska iz Pythonove perspektive – radio silicij i slojevi koje MicroPython pokreće na njemu obavljaju sve, od odabira kanala do ponovnog slanja izgubljenog paketa. Tri odluke koje donose ipak se probijaju u API vidljiv korisniku: snaga, domet i propusnost.

11.3.1. Radio¶

BLE koristi isti 2,4 GHz Industrijsko-znanstveno-medicinski (ISM) pojas kao Wi-Fi, mikrovalne pećnice i većina drugih bežičnih veza kratkog dometa. Pojas je podijeljen na 40 kanala širine 2 MHz.

  • Tri od 40 kanala rezervirana su za oglašavanje – kratke emisije koje objavljuju prisutnost uređaja svakome tko sluša. Razmaknuti su preko cijelog pojasa kako bi slušatelj mogao brzo pretražiti sva tri i kako bi smetnje na bilo kojem od njih malo vjerojatno potpuno izbacile uređaj iz etera.

  • Trideset i sedam su podatkovni kanali. Kada se dva uređaja povežu, razmjenjuju pakete na njima, skačući između njih po pseudonasumičnom slijedu koji obje strane dogovore u trenutku uspostave veze. Prilagodljivo frekvencijsko skakanje omogućuje bilo kojoj strani da označi kanal kao loš (jake Wi-Fi smetnje, mikrovalna pećnica, susjedna BLE mreža) tako da ga slijed preskoči.

Vodoravna frekvencijska os od 2400 MHz do 2480 MHz s 40 uskih utora kanala iscrtanih na njoj. Tri utora, na donjem rubu, sredini i gornjem rubu pojasa, istaknuta su kao "advertising channels". Preostalih 37 označeno je kao "data channels".

40 BLE kanala na 2,4 GHz pojasu. Tri su za oglašavanje, ostatak nosi promet na otvorenoj vezi.¶

Radio odašilje kratke pakete – najviše par milisekundi duge – i spava između njih. Taj san je ono što tehnologiju čini niskoenergetskom. Tipičan BLE peripheral provodi znatno manje od jedan posto svog vremena u stvarnom odašiljanju; ostatak je radio isključen između zakazanih događaja.

11.3.2. Sloj veze¶

Sloj veze najmanja je jedinica BLE-a koja razgovara sa svojim parnjakom na drugom uređaju. Obavlja četiri posla.

  • Uokvirivanje paketa. Svaki paket nosi kratko zaglavlje (adresa pristupa kanalu, duljina paketa, kontrolni bitovi), korisni teret i CRC. Primatelj provjerava CRC i odbacuje sve oštećeno.

  • Adresiranje. Svaki BLE uređaj ima 48-bitnu adresu uređaja koja ga identificira na radiju. Neke su javne – hardverski identifikator koji je proizvođač dodijelio, sljediv zauvijek. Neke su nasumične – generirane na uređaju, povremeno rotirane i opcionalno šifrirane tako da prisluškivač ne može povezati dva odašiljanja s istim fizičkim hardverom. Adrese se ponovno spominju u Oglašavanje i skeniranje.

  • Raspoređivanje veze. Kada se dva uređaja povežu, sloj veze raspoređuje periodične radio događaje na slijedu skakanja – na razmaku fiksnog intervala veze – i pakira u svaki od njih sve podatke koji su u redu čekanja iz GATT sloja iznad. Obje strane vraćaju se na spavanje između događaja. Interval veze je regulator koji aplikacija može zatražiti (vidi Veze).

  • Pouzdanost. Svaki paket na vezi potvrđuje druga strana. Sloj veze ponovno šalje sve što nije dobilo odgovor, tako da slojevi iznad vide uređeni tok bajtova bez gubitaka. Za razliku od UDP – pošalji paket, nadaj se najboljem na strani umrežavanja, BLE u uobičajenoj upotrebi nema zaseban nepouzdan način rada – svaki paket na otvorenoj vezi ponovno se pokušava poslati dok ne stigne ili dok se veza ne proglasi izgubljenom.

Sloj veze također je mjesto gdje se šifriranje odvija kada se par uređaja dogovorio o ključu tijekom sparivanja (vidi Uparivanje i povezivanje). Svaki paket na šifriranoj vezi dešifrira se na primatelju prije nego što ga slojevi iznad uopće vide.

11.3.3. Što kamera i suparnik dijele¶

Radiji na oba kraja u trenutku uspostave veze dogovaraju se o nekolicini parametara koji upravljaju razgovorom:

  • Interval veze – koliko se često dvije strane bude da razmijene pakete, bilo gdje od 7,5 ms do 4 s.

  • Latencija peripherala – koliko uzastopnih intervala peripheral smije preskočiti ako nema što reći, radi uštede energije.

  • Nadzorno vrijeme isteka – koliko dugo bilo koja strana čeka prije nego što proglasi vezu izgubljenom kada druga utihne.

  • MTU – najveći pojedinačni paket koji će bilo koja strana isporučiti GATT-u (zadano 23 bajta, može se pregovorom povećati).

Radio i sloj veze zajedno odgovorni su za dostavu pouzdanih, uređenih paketa s jednog uređaja na drugi, uz držanje oba radija isključenima što je više moguće. Svaki sloj iznad slobodan je ponašati se kao da između dvije krajnje točke postoji čist, privatan kanal bajtova.

11.3.4. Što Python vidi od svega ovoga¶

Gotovo ništa. API-ji bluetooth i aioble ne izlažu kanale, slijedove skakanja, CRC-ove paketa ili mjerače vremena ponovnog slanja; sve to obrađuje se unutar BLE porta i radija. Dijelovi koji se probijaju su oni koje izlaže pregovor u trenutku uspostave veze – interval veze, MTU, vrsta adrese.

Previous
11.2. BLE stog
Next
11.4. Oglašavanje i skeniranje

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.