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.

Inzerce: jak se dvě zařízení najdou

Než vznikne kalendář, musí se dva domluvit — a to je jediná část BLE, kde se nic neplánuje. Periferie křičí do prázdna, centrála naslouchá, a jestli se potkají, je otázka pravděpodobnosti.

inzerce — tři kanály po sobě, každý intervalskener — poslouchá jen část času a jen na jednom kanálu0 ms100 ms200 ms300 ms400 msšance na jeden inzerát16,7 %průměrná doba nalezení630 msv 95 % případů do1725 mszatížení rádia inzercí1,07 %Tři kanály znamenají, že i nepřetržitý skener potřebuje průměrně tři inzeráty.
  1. 37 → 38 → 39

    Periferie vyšle inzerát na všech třech kanálech za sebou. Trvá to necelou milisekundu a opakuje se to každý interval.

  2. okno / interval

    Centrála poslouchá — ale jen na jednom kanálu naráz a jen část času. Tomu se říká okno skenování.

  3. p = okno / 3

    Nikdo nic neplánuje. Aby se potkali, musí skener zrovna poslouchat na tom kanálu, na kterém se zrovna křičí.

  4. průměrně 630 ms

    Průměrně tolik intervalů, kolikrát je ta pravděpodobnost menší než jedna. A protože jsou tři kanály, ani nepřetržité skenování to nezvládne napoprvé.

Čtyři kroky. Ve třetím je vidět, proč to není jisté: skener poslouchá jen část času a jen na jednom ze tří kanálů. Jezdci mění, jak často se křičí a jak pilně se poslouchá.
p = (okno / interval skenu) / 3šance, že jeden inzerát bude slyšet

Perioda inzerce je od 20 ms do 10,24 s. Ke každému intervalu se navíc přičítá náhodné zpoždění 0 až 10 ms — a to není šum, to je záměr: bez něj by se dvě zařízení se stejným intervalem mohla trefovat do sebe donekonečna.

interval inzercenalezení (průměr, 50 % skenu)zatížení rádia
20 ms~180 ms4 %
100 ms~660 ms0,8 %
1 000 ms~6 s0,08 %
10 240 ms~minuta0,008 %

Tři čísla, která z toho plynou

  1. Ani nepřetržitý skener nenajde zařízení napoprvé. Kanály jsou tři a skener je na jednom — takže i při stoprocentním okně jsou potřeba průměrně tři inzeráty.
  2. Rychlá inzerce je drahá jen chvíli. Zařízení, které inzeruje po 20 ms první tři vteřiny a pak zpomalí na sekundu, se najde rychle a přitom nevybije baterii. Tenhle vzorec používá skoro každý komerční výrobek.
  3. Skenování je dražší než inzerce. Skener má rádio zapnuté po celé okno; inzerent jen na necelou milisekundu. Proto je centrálou telefon nebo brána napájená ze sítě a periferií čidlo na baterii — a ne naopak.

Souvislost s předchozí kapitolou: inzeruje se na kanálech 37, 38 a 39, a ty se ničemu nevyhýbají. Když jeden z nich leží pod Wi-Fi, ztratí se třetina inzerátů a doba nalezení se prodlouží o polovinu. Tohle je ta situace, kterou uživatel popíše jako „musím to zkoušet třikrát, než se to připojí“.

Vzorce v této kapitole

t_disc — doba nalezení
t ≈ 3·interval / duty [ms] kap. 3