11.1. Miksi Bluetooth¶
Verkkoyhteys tuo kameran Wi-Fi- tai Ethernet-verkkoon, jolloin se voi keskustella minkä tahansa sieltä tavoitettavan laitteen kanssa. Käytävän päässä olevan kannettavan, toisella mantereella sijaitsevan palvelimen tai mobiiliverkossa liikkuvan puhelimen kanssa. Tämä kantama edellyttää tiettyjä asioita. Verkon on oltava olemassa. Jonkin tukiaseman on oltava kantaman sisällä, joidenkin tunnistetietojen on oltava saatavilla, jonkin reitittimen on oltava valmis antamaan kameralle osoite. Kameran on myös pidettävä radio (tai Ethernet-portti) käynnissä riittävän tehokkaasti yhteyden ylläpitämiseksi.
Bluetooth kattaa päinvastaisen tilanteen – lyhyt kantama, ei infrastruktuuria, vähäinen virrankulutus. Kamera ja samassa huoneessa oleva puhelin vaihtavat dataa suoran radioyhteyden kautta ilman mitään niiden välissä. Ei tukiasemaa, ei reititintä, ei tarvetta kummankaan osapuolen kuulua mihinkään verkkoon lainkaan. Radio pysyy enimmäkseen sammuksissa lyhyiden aktiivisuuspurskeiden välillä, joten akku, joka tuskin kestäisi päivän Wi-Fin kanssa, voi toimia kuukausia.
11.1.1. Milloin Bluetooth on oikea työkalu¶
Yleisimmät käyttötapaukset kamerassa:
Puhelin tai tabletti pariutuu kameran kanssa. Lähellä oleva käyttäjä avaa sovelluksen puhelimessaan ja määrittää kameran, lukee sen tilan tai lataa tuloksia – ilman että molemmat laitteet on ensin liitettävä samaan Wi-Fi-verkkoon. Useimmat puhelimet osaavat Bluetooth Low Energyä natiivisti, joten käyttökokemus on ”avaa sovellus, paina yhdistä”, ei ”liity ensin tähän verkkoon”.
Puettava laite tai sensori raportoi kameralle. Sykevyö, lämpömittari, majakka, kosketuskytkin – kaikki ovat akkukäyttöisiä laitteita, jotka on suunniteltu Bluetooth Low Energyn ympärille. Kamera yhdistää asiakkaana, lukee niiden arvot ja yhdistää datan kaikkeen muuhun, mitä se on tekemässä.
Kamera julkaisee pienen tilasyötteen. Akun varaustaso, viimeksi tunnistettu kohde, kehysnopeus – muutama numero tarjolla mille tahansa lähellä olevalle, joka haluaa lukea ne. Pariutus on valinnaista; arkaluonteettoman datan osalta kamera voi mainostaa arvoja suoraan ilman minkäänlaista yhteyttä.
Kaksi kameraa (tai kamera ja mikrokontrolleri) jakavat dataa ilman verkkoa. Molemmat päät tuntevat toisensa; molemmat päät ovat samassa rakennuksessa; ei ole mitään syytä tavujen matkata pilveen ja takaisin ylittääkseen huoneen.
11.1.2. Milloin verkkoyhteys on oikea työkalu sen sijaan¶
Bluetoothin kompromissit ovat vääriä useissa yleisissä tapauksissa:
Kantaman ulkopuolella olevat vastapuolet. Bluetooth Low Energy yltää käytännössä parin metrin päähän ja parhaimmillaan kymmenien metrien päähän vapaassa tilassa. Mikä tahansa rakennuksen, kaupungin tai internetin toisella puolella oleva tarvitsee Wi-Fin tai Ethernetin.
Suuren kaistanleveyden yhteydet. Bluetooth Low Energy tarjoaa käytännössä kymmeniä tai muutamia satoja kilobittejä sekunnissa. Kehysten suoratoisto tai mikä tahansa mielekäs video tarvitsee Wi-Fin.
Monelta-monelle-ryhmäviestintä jaetussa infrastruktuurissa. Huoneellinen laitteita, jotka kaikki keskustelevat yhden palvelimen kanssa, tai kameroiden verkko, joka jakaa tuloksia – juuri tätä mallia varten IP-verkko on rakennettu.
11.1.3. Low Energy, ei klassinen¶
”Bluetooth” arkikielessä kattaa kaksi erillistä radiopinoa. Klassinen Bluetooth on se, joka on langattomissa kuulokkeissa, autoäänentoistossa sekä näppäimistö- ja hiiriyhteyksissä: ääni- ja audiotason radio, suhteellisen monimutkainen pino ja huomattava virrankulutus. Bluetooth Low Energy (BLE) on erillinen, uudempi protokolla, joka jakaa tuotemerkin ja 2,4 GHz:n taajuusalueen mutta hyvin vähän muuta. Se on rakennettu lyhyiden, harvoin toistuvien radiopurskeiden ympärille pitämään keskimääräinen virrankulutus pienenä, ja avain/arvo-datamallin eikä audion suoratoiston ympärille.
Kameran MicroPython tukee vain BLE:tä. Klassinen Bluetooth ei kuulu API:in lainkaan. ”Bluetooth” alla tarkoittaa BLE:tä.
11.1.4. Mikä muuttuu verkkoyhteysmallista¶
BLE:ssä on sama viisikerroksinen pino kuin verkkoyhteydessä, mutta ylemmät kerrokset käyttäytyvät eri tavalla:
Ei ole ”avaa pistoke ja lähetä tavuja” -abstraktiota. BLE on rakennettu pienen avain/arvo-tietokannan ympärille, jota toinen osapuoli isännöi ja toinen osapuoli lukee, kirjoittaa tai johon se tilaa. Kamera julkaisee nimettyjä arvoja (akun varaustason, lämpötilan, komentorekisterin); vertaislaite lukee tai tarkkailee niitä.
Ei ole nimellä osoittamista. Laitteet tunnistavat itsensä mainostamalla lyhyttä lähetystä, joka kuvaa keitä ne ovat; vertaislaitteet skannaavat näitä lähetyksiä ja valitsevat yhden, johon ne yhdistävät.
Radio on enimmäkseen lepotilassa. Molemmat päät sopivat yhteyden muodostushetkellä, kuinka usein herätä ja keskustella. Välissä molemmat palaavat lepotilaan.
Nämä kolme eroa ovat se, mikä ohjaa loput BLE-API:sta pois pistokemallista.