Hlavní navigace

BigClown: často kladené otázky

Martin Malý

V posledních týdnech jsme představili koncept BigClown naživo mnoha lidem z oboru. Bavili jsme se s odborníky na IoT, s odborníky na bezpečnost i s vývojáři hardware. Díky tomu jsme získali cennou zpětnou vazbu.

V tomto posledním článku naší série odpovíme na nejčastěji kladené otázky.

Zatím jsme se nijak blíž nevěnovali tomu, co je „za hardware“. Tedy různým cloudovým službám a nadstavbám, co hrají v IoT roli toho velkého I. Bylo to i trošku záměrně. My se totiž rozhodli, že nebudeme tříštit naši pozornost; že nebudeme, jak se říká, střílet na mnoho zajíců najednou, protože to je téměř jistá cesta do pekel (kde takové týmy čeká nekonečné vyvíjení všeho možného a nulový výsledný produkt). Namísto toho jsme se rozhodli zaměřit na jednu specifickou oblast – totiž na hardware pro lokální instalace (domácí systémy například) a bezpečnou komunikaci.

Nestavíme se do role firmy, která vyvíjí IoT produkty od A do Z. To není náš cíl. Nechceme dodávat „systém domácí automatizace“ nebo něco podobného. To je, když dovolíte, „vaše věc“. My jsme o jeden krok níž – firmám, které chtějí takové systémy rychle vyvinout a nabídnout, nebo domácím kutilům, kteří si rádi staví systémy sami, dodáme hotový a odladěný hardware formou modulární stavebnice.

Hardware lze snadno napojit na vlastní nebo cizí softwarovou nadstavbu, a tím si rychle postavit třeba svůj systém domácí automatizace. Stejně tak si mohou firmy nad naším řešením rychle vyvinout vlastní IoT produkt, a to klidně za jedno dopoledne (a odpoledne jej předvést potencionálním zákazníkům). Jak kutilové, tak firmy navíc mohou využít pro dosažení svých cílů naší nadstandardní záruky a podpory.

Důvod takového rozhodnutí je prostý: zatímco existuje spousta lidí, kteří dokáží vymyslet, postavit a prodat skvělý produkt nad nějakým hardware, lidí, kteří jsou schopni takový hardware dobře navrhnout, vyrobit a dodat je řádově míň. Spousta firem a startupů má nápady, jak by mělo jejich zařízení fungovat, ale narazí právě na tuto hranici – sami si zařízení nenavrhnou a nevyrobí. O to se postaráme my.

Nechceme rozhodně vytvářet komplexní cloudové služby, namísto toho pracujeme na integraci s těmi nejčastějšími a nejpoužívanějšími – Azure, AWS, Blynk, IFTTT, Domoticz, Home Assistant a podobnými. Ostatně se můžete přijít podívat sami – 9. srpna budeme demonstrovat propojení BigClown s Azure IoT.

Jak jsme se zmiňovali v minulém dílu, od BigClown do cloudu vedou standardní protokoly – MQTT over TLS, WebSocket over TLS, REST atd., takže integrace je poměrně přímočará a díky široké podpoře těchto protokolů i snadná.

Pro programátory bude jistě zajímavá část okolo Hubu. Jak jsme si v minulých dílech říkali, Hub je softwarová komponenta, která běží na linuxovém serveru (primárně Raspberry Pi a Turris, ale obecně jakýkoli). Hub je centrálním bodem, přes který procházejí veškeré zprávy, co v systému vznikají. Hub se stará o jejich tok v systému, předává je mezi zařízeními a MQTT brokerem, a díky konceptu Hub Packů je rozšiřitelný o funkce softwarového agenta, jak jsme si ji popisovali v kapitole o MQTT.

Hub Pack je program, napsaný v libovolném jazyce (Python, Go, JavaScript, …) a spustitelný v linuxovém prostředí. Musí implementovat MQTT protokol verze 3.1.1. Hub tento program spustí s dvěma parametry – první je připojení k MQTT brokeru, druhý je subtopic. Výstupy stdout a stderr jsou Hubem brány jako log, resp. chybový log (jedna zpráva na řádek). Hub Pack komunikuje s okolím právě přes MQTT protokol; samotný Hub nabízí přes tento protokol nějaké vlastní funkce, typicky přístup ke konfiguraci, k jednoduché databázi typu klíč-hodnota a k dalším funkcím (hodiny apod.) Hub zároveň spravuje registrované HubPacky a stará se o jejich „životní cyklus“ – o jejich spouštění, znovuspouštění v případě pádů apod.

Výhodou Hub Packů je standardizované řešení, co se týče práce s daty – vše se odehrává v rámci MQTT topiců a JSON payloadu. Hub Pack může data přijímat a zpracovávat, může je opět odesílat, může je dokonce generovat, a na druhou stranu není nijak omezen tím, co smí dělat – klidně může fungovat jako jednoduchý schodišťový automat, nebo nabídnout komplexní servis, třeba webové rozhraní pro uživatele.

Hub komunikuje s Gateway (připomeňme si: Gateway komunikuje rádiově s jednotlivými Nody a předává data po USB CDC Hubu) prostřednictvím sériové linky. Pro tento účel jsme navrhli protokol Red Nose, který nám umožňuje předávat MQTT zprávy po sériové lince. Technicky se jedná o jejich zabalení do JSON (a samozřejmě nezbytná sanitizace znaků, které mají v JSON vlastní význam) a přidání některých servisních informací (například směrování nebo stavové informace).

V této sérii článků jsme vás, čtenáře Roota, obrazně řečeno nechali nakouknout do kuchyně v době, kdy se začíná péct. Za několik týdnů přijde ostré spuštění, a teď tedy ze všech sil finišujeme, ustalují se protokoly, algoritmy, vzniká dokumentace, datasheety, upravujeme detaily… Chtěli jsme vám přiblížit tento dynamický proces a kvas a opět vás zveme: chcete-li přispět k technické diskusi nad dokumentací (specifikace, schémata, diagramy, …), napište nám (support@bigclown.com).

Těšíme se na vás i při ostrém spuštění.

Našli jste v článku chybu?

28. 7. 2016 2:02

ebík (neregistrovaný)

> (samozřejmě nezbytná sanitizace znaků, které mají v JSON vlastní význam)

Nutnost toto zmínit mi trochu vyrazila dech.

Podle mne má JSON jasně definovaný encoding/escapování znaků a cokoli jiného již není JSON ale jen jeho rozbitá napodobenina. Dokonce je potřeba dát pozor na unikód - JSON je totiž dle specifikace vždy v unikódu, pouze si můžete vybrat, jestli národní znaky budou v utf-8, nebo budou kódované \uxxxx escape sekvencemi.

27. 7. 2016 20:25

GW půjde koupit samostatně nebo v kitu s nějakým Node a senzory. Pro malý počet Nodů (např. do 8) a pro menší dosahy (nebude potřeba externí anténa) lze teoreticky použít Node jako GW (na Node půjde zkopilovat upravený kód pro GW), jen jí bude scházet NFC čtečka pro deployment Node - bylo by třeba NFC čtečku doplnit nebo deployment udělat po USB. Budeme nicméně primárně podporovat řešení popsané výše.

Senzory si můžete připojit jakékoli, jen musíte dát pozor na napájení, standardně používáme 2,…

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

DigiZone.cz: Test Philips 24PFS5231 s Bluetooth repro

Test Philips 24PFS5231 s Bluetooth repro

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny