11.1. Zašto Bluetooth

Umrežavanje povezuje kameru na Wi-Fi ili Ethernet mrežu kako bi mogla komunicirati sa svime što je s nje dostupno. Prijenosno računalo niz hodnik, poslužitelj na drugom kontinentu, telefon koji se kreće mobilnom mrežom. Taj doseg dolazi s preduvjetima. Mreža mora postojati. Neka pristupna točka mora biti u dometu, neki podaci za prijavu moraju biti dostupni, neki usmjerivač mora biti voljan dodijeliti kameri adresu. Kamera također mora držati radio (ili Ethernet priključak) dovoljno aktivnim da održi vezu.

Bluetooth pokriva suprotan slučaj – kratki doseg, bez infrastrukture, niska potrošnja. Kamera i telefon u istoj prostoriji razmjenjuju podatke putem izravne radio veze, bez ičega između njih. Bez pristupne točke, bez usmjerivača, bez potrebe da bilo koja strana bude na ikakvoj mreži. Radio ostaje uglavnom isključen između kratkih naleta aktivnosti, pa baterija koja bi jedva preživjela dan na Wi-Fiju može raditi mjesecima.

11.1.1. Kada je Bluetooth pravi alat

Uobičajeni slučajevi na kameri:

  • Telefon ili tablet uparuje se s kamerom. Korisnik u blizini otvara aplikaciju na svom telefonu i konfigurira kameru, čita njezino stanje ili preuzima rezultate – bez da prethodno oba uređaja stavi na istu Wi-Fi mrežu. Većina telefona izvorno govori Bluetooth Low Energy, pa je korisničko iskustvo „otvori aplikaciju, pritisni spoji”, a ne „prvo se pridruži ovoj mreži”.

  • Nosivi uređaj ili senzor javlja kameri. Pojas za mjerenje otkucaja srca, termometar, signalni odašiljač, kontaktni prekidač – svi su to uređaji na bateriju osmišljeni oko Bluetooth Low Energyja. Kamera se spaja kao klijent, čita njihove vrijednosti i uklapa podatke u sve ostalo što radi.

  • Kamera objavljuje mali statusni tok. Razina baterije, posljednje detektirani objekt, broj sličica u sekundi – nekoliko brojeva izloženih za sve u blizini što ih želi pročitati. Uparivanje je opcionalno; za neosjetljive podatke kamera može oglašavati vrijednosti izravno bez ikakve potrebne veze.

  • Dvije kamere (ili kamera i mikrokontroler) dijele podatke bez mreže. Obje strane se međusobno poznaju; obje su strane u istoj zgradi; nema razloga da bajtovi putuju gore u oblak i natrag dolje da bi prešli prostoriju.

11.1.2. Kada je umjesto toga umrežavanje pravi alat

Bluetoothovi kompromisi pogrešni su za nekoliko uobičajenih slučajeva:

  • Sugovornici izvan dometa. Bluetooth Low Energy u praksi doseže nekoliko metara, a u slobodnom prostoru u najboljem slučaju desetke metara. Sve preko zgrade, preko grada ili preko interneta zahtijeva Wi-Fi ili Ethernet.

  • Veze visoke propusnosti. Bluetooth Low Energy u praksi isporučuje desetke do nekoliko stotina kilobita u sekundi. Strujanje sličica ili bilo kakav smisleni video zahtijeva Wi-Fi.

  • Skupna komunikacija više sudionika s više sudionika na zajedničkoj infrastrukturi. Prostorija puna uređaja koji svi razgovaraju s jednim poslužiteljem, ili mreža kamera koje dijele rezultate – taj je obrazac upravo ono za što je IP mreža izgrađena.

11.1.3. Low Energy, ne klasični

„Bluetooth” u svakodnevnoj uporabi pokriva dva različita radio sloja. Klasični Bluetooth je onaj u bežičnim slušalicama, automobilskom zvuku te vezama tipkovnice / miša: radio razine glasa i zvuka, razmjerno složen sloj i primjetna potrošnja energije. Bluetooth Low Energy (BLE) zaseban je, noviji protokol koji dijeli ime marke i pojas od 2,4 GHz, ali vrlo malo toga drugog. Izgrađen je oko kratkih, rijetkih radio naleta kako bi prosječna potrošnja bila sitna, te oko modela podataka ključ/vrijednost umjesto strujanja zvuka.

MicroPython na kameri podržava samo BLE. Klasični Bluetooth uopće nije dio API-ja. „Bluetooth” u nastavku znači BLE.

11.1.4. Što se mijenja u odnosu na model umrežavanja

BLE ima isti petoslojni sloj kao i umrežavanje, ali se gornji slojevi ponašaju drugačije:

  • Ne postoji apstrakcija „otvori utičnicu i pošalji bajtove”. BLE je izgrađen oko male baze podataka ključ/vrijednost koju jedna strana udomljuje, a druga strana čita, piše ili se na nju pretplaćuje. Kamera objavljuje imenovane vrijednosti (razinu baterije, temperaturu, registar naredbi); sudionik ih čita ili promatra.

  • Ne postoji adresiranje po imenu. Uređaji se identificiraju oglašavanjem kratkog odašiljanja koje opisuje tko su; sudionici skeniraju ta odašiljanja i biraju jedno za spajanje.

  • Radio je uglavnom u mirovanju. Obje se strane pri uspostavi veze dogovaraju koliko često će se buditi i razgovarati. Između toga obje se vraćaju na spavanje.

Te tri razlike potiču ostatak BLE API-ja dalje od modela utičnice.