BleLab spojení je kalendář

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

BLE je kalendář, ne kanál

Wi-Fi soutěží o médium: kdo se dřív dopočítá, ten vysílá, a nikdo dopředu neví kdy. Bluetooth Low Energy dělá pravý opak. Dvě zařízení se domluví na intervalu a scházejí se v přesně daných okamžicích. Mezi schůzkami je rádio vypnuté a čip odebírá jednotky mikroampér.

schůzky — mezi nimi je rádio vypnuté0 ms40 ms80 ms120 ms160 ms200 msnejhorší zpoždění30,0 mszapnuté rádio4,93 %průměrný proud280 µAna CR2032 vydrží33 dníDelší interval = menší proud a větší zpoždění. Je to jedna páka, ne dvě.
Modré proužky jsou schůzky. Táhni intervalem a sleduj, jak zároveň roste zpoždění a klesá proud — je to jedna páka. Druhým jezdcem povol vynechávání schůzek.

Z toho plyne úplně všechno ostatní:

  • Interval je zpoždění. Při stomilisekundovém intervalu čeká zpráva až sto milisekund, ať je rychlost rádia jakákoli.
  • Interval je spotřeba. Zdvojnásobit ho znamená přesně poloviční proud.
  • Interval je propustnost. Ta je počet paketů na schůzku děleno intervalem.

Jedna páka, tři důsledky, a všechny táhnou proti sobě. Celá tahle labka je o tom, kam ji nastavit.

Proti čemu se to vymezuje

Wi-FiBLE
přístup k médiusoutěž (CSMA/CA)plán
proud při provozustovky mAjednotky mA
průměrný prouddesítky mAjednotky až desítky µA
propustnostdesítky až stovky Mb/sdesítky až stovky kb/s
zpoždění2 ms průměr, ocas do desítekrovno intervalu, vždy
předvídatelnostmalávysoká

Ten poslední řádek je pro robotiku zajímavější než všechny ostatní. BLE je pomalé, ale ví se, jak pomalé — a to je vlastnost, kterou Wi-Fi nemá za žádnou cenu.

A co Bluetooth Classic?

Je to jiný protokol se stejným jménem. Classic (BR/EDR) drží spojení nepřetržitě, přeskakuje 1600× za sekundu a umí 1–3 Mb/s — sluchátka, hands-free, sériový port. Odebírá desítky miliampér a na baterii z knoflíku by běžel hodiny. LE není jeho rychlejší verze; je to jiný stroj postavený pro jiný účel a jediné, co mají společné, je pásmo a značka.

Kde se dělá první chyba: zvolit interval podle propustnosti. Skoro nikdy nejde o data — jde o to, jak rychle má dorazit zpráva a jak dlouho má vydržet baterie. Interval se vybírá z těch dvou a propustnost je, co zbude.

Vzorce v této kapitole

t_max — zpoždění z intervalu
t = interval · (1 + latency) [ms] kap. 1