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
  • Opastus
    • 1. Pika-aloitus
    • 2. Pythonin yleiskatsaus
    • 3. Laitteiston ohjaus
    • 4. Konenäkösensorit
    • 5. Kuvankäsittely
    • 6. NumPy
    • 7. Koneoppiminen
    • 8. Asyncio
    • 9. Verkkotoiminta
    • 10. Web-palvelimet
    • 11. Bluetooth
      • 11.1. Miksi Bluetooth
      • 11.2. BLE-pino
      • 11.3. Radio ja linkkikerros
      • 11.4. Mainostus ja skannaus
      • 11.5. Yhteydet
      • 11.6. Palvelut ja ominaisuudet
      • 11.7. GATT-operaatiot
      • 11.8. aioble-moduuli
      • 11.9. Oheislaitteena toimiminen
      • 11.10. Toimiminen keskusyksikkönä
      • 11.11. L2CAP-kanavat
      • 11.12. Rinnakkaiset roolit ja useat yhteydet
      • 11.13. Pariutuminen ja sidonta
      • 11.14. Yhteenveto
    • 12. Isäntäprotokolla
    • 13. Työkalut
    • 14. Tuotanto
  • Kirjastot
  • Kehitysalustat
  • Lisäkortit
  • Sensorit
  • Kieli
  • CPython
  • Sisäiset toiminnot
  • Muutosloki
  • Lisenssi

On this page

  • 11.3.1. Radio
  • 11.3.2. Linkkikerros
  • 11.3.3. Mitä kamera ja vertaislaite jakavat
  • 11.3.4. Mitä Python näkee kaikesta tästä
micropython-doc 0 0
Edit this page
  1. OpenMV MicroPython /
  2. OpenMV Cam -opastus /
  3. 11. Bluetooth /
  4. 11.3. Radio ja linkkikerros
View Source Open in ChatGPT Open in Claude Open in Perplexity

11.3. Radio ja linkkikerros¶

BLE-pinon kaksi alinta kerrosta ovat lähes täysin automaattisia Pythonin näkökulmasta – radiopiiri ja sen päällä MicroPythonin ajamat kerrokset hoitavat kaiken kanavan valinnasta kadonneen paketin uudelleenlähetykseen. Kolme niiden tekemistä valinnoista näkyy silti käyttäjälle näkyvään API:in asti: teho, kantama ja läpäisykyky.

11.3.1. Radio¶

BLE käyttää samaa 2,4 GHz:n ISM-kaistaa (Industrial-Scientific-Medical) kuin Wi-Fi, mikroaaltouunit ja useimmat muut lyhyen kantaman langattomat. Kaista on jaettu 40 kanavaan, jotka ovat 2 MHz leveitä.

  • Kolme 40 kanavasta on varattu mainostukseen – lyhyisiin lähetyksiin, jotka ilmoittavat laitteen läsnäolosta kaikille kuunteleville. Ne on sijoitettu hajalleen kaistalle, jotta kuuntelija voi pyyhkäistä kaikki kolme nopeasti ja jotta häiriö millä tahansa yhdellä ei todennäköisesti pudota laitetta kokonaan pois eetteristä.

  • Kolmekymmentäseitsemän on datakanavia. Kun kaksi laitetta on yhdistetty, ne vaihtavat paketteja näillä hyppien niiden välillä pseudosatunnaisessa järjestyksessä, josta osapuolet sopivat yhteyden muodostushetkellä. Adaptiivinen taajuushyppely sallii kummankin osapuolen merkitä kanavan huonoksi (raskas Wi-Fi-häiriö, mikroaaltouuni, naapurin BLE-verkko), jolloin järjestys ohittaa sen.

Vaaka-akselilla esitetty taajuus 2400 MHz:stä 2480 MHz:iin, ja siihen piirrettynä 40 kapeaa kanavapaikkaa. Kolme paikkaa, kaistan alareunassa, keskellä ja yläreunassa, on korostettu "advertising channels" -kanaviksi. Loput 37 on nimetty "data channels" -kanaviksi.

40 BLE-kanavaa 2,4 GHz:n kaistalla. Kolme on mainostukseen, loput kuljettavat liikennettä avoimessa yhteydessä.¶

Radio lähettää lyhyitä paketteja – korkeintaan parin millisekunnin mittaisia – ja nukkuu niiden välillä. Tuo uni on se, mikä tekee teknologiasta vähäenergisen. Tyypillinen BLE-periferinen viettää selvästi alle yhden prosentin ajastaan tosiasiallisesti lähettäen; loppu on radion sammuttamista ajoitettujen tapahtumien välillä.

11.3.2. Linkkikerros¶

Linkkikerros on pienin BLE:n yksikkö, joka puhuu vastineelleen toisessa laitteessa. Se hoitaa neljä tehtävää.

  • Pakettien kehystys. Jokainen paketti kantaa lyhyen otsakkeen (kanavan käyttöosoite, paketin pituus, ohjausbitit), hyötykuorman ja CRC:n. Vastaanotin tarkistaa CRC:n ja pudottaa kaiken vioittuneen.

  • Osoitteet. Jokaisella BLE-laitteella on 48-bittinen laiteosoite, joka tunnistaa sen radiossa. Jotkin ovat julkisia – valmistajan määrittelemä laitteistotunniste, jäljitettävissä ikuisesti. Jotkin ovat satunnaisia – laitteessa generoituja, ajoittain kierrätettyjä ja valinnaisesti salattuja niin, ettei salakuuntelija voi liittää kahta lähetystä samaan fyysiseen laitteistoon. Osoitteet tulevat uudelleen esiin sivulla Mainostus ja skannaus.

  • Yhteyden ajoitus. Kun kaksi laitetta on yhdistetty, linkkikerros ajoittaa säännöllisiä radiotapahtumia hyppysarjaan – kiinteän yhteysvälin päähän toisistaan – ja pakkaa kuhunkin sen mitä yläpuolisesta GATT-kerroksesta on jonossa. Molemmat osapuolet palaavat uneen tapahtumien välillä. Yhteysväli on säädin, jota sovellus voi pyytää (katso Yhteydet).

  • Luotettavuus. Jokainen yhteyden paketti kuitataan toisen osapuolen toimesta. Linkkikerros lähettää uudelleen kaiken, mikä ei saanut vastausta, joten yläpuoliset kerrokset näkevät järjestetyn, häviöttömän tavuvirran. Toisin kuin UDP – lähetä paketti ja toivo parasta verkkopuolella, BLE:llä ei ole erillistä epäluotettavaa tilaa normaalikäytössä – jokainen avoimen yhteyden paketti yritetään uudelleen, kunnes se saapuu tai linkki julistetaan menetetyksi.

Linkkikerros on myös se, missä salaus ajetaan sen jälkeen, kun laitepari on sopinut avaimesta parituksen aikana (katso Pariutuminen ja sidonta). Jokainen salatun linkin paketti puretaan vastaanottimessa ennen kuin yläpuoliset kerrokset koskaan näkevät sen.

11.3.3. Mitä kamera ja vertaislaite jakavat¶

Molempien päiden radiot sopivat yhteyden muodostushetkellä kourallisesta parametreja, jotka hallitsevat keskustelua:

  • Yhteysväli – kuinka usein osapuolet heräävät vaihtamaan paketteja, missä tahansa 7,5 ms:stä 4 s:iin.

  • Periferinen viive – kuinka monta peräkkäistä väliä periferinen saa ohittaa, jos sillä ei ole mitään sanottavaa, tehon säästämiseksi.

  • Valvonnan aikakatkaisu – kuinka kauan kumpikin osapuoli odottaa ennen kuin julistaa linkin menetetyksi, kun toinen hiljenee.

  • MTU – suurin yksittäinen paketti, jonka kumpikaan osapuoli toimittaa GATT:lle (oletuksena 23 tavua, voidaan neuvotella suuremmaksi).

Radio ja linkkikerros ovat yhdessä vastuussa luotettavien, järjestettyjen pakettien viemisestä laitteelta toiselle pitäen samalla molemmat radiot sammuksissa mahdollisimman paljon. Jokainen yläpuolinen kerros voi vapaasti toimia ikään kuin kahden päätepisteen välillä olisi puhdas, yksityinen tavukanava.

11.3.4. Mitä Python näkee kaikesta tästä¶

Lähes ei mitään. bluetooth- ja aioble-API:t eivät paljasta kanavia, hyppysarjoja, pakettien CRC:itä tai uudelleenlähetysajastimia; ne kaikki hoidetaan BLE-portin ja radion sisällä. Osat, jotka näkyvät läpi, ovat ne, jotka yhteyden muodostushetken neuvottelu paljastaa – yhteysväli, MTU, osoitetyyppi.

Previous
11.2. BLE-pino
Next
11.4. Mainostus ja skannaus

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.