IoT | 2. 10. 2017

BigClown – IoT stavebnice nejen pro domácí automatizaci

BigClown[1] je open-source modulární IoT stavebnice pro začínající i pokročilé zájemce o elektroniku a moderní technologie. Stavebnice je vyvíjena českou firmou HARDWARIO s.r.o. [3] Její hlavní předností je bezdrátová komunikace a dlouhá výdrž při provozu z baterií.

Obr. 1 Core Module a jeho rozhraní

Systém se skládá z hlavní programovatelné jednotky Core Module a mnoha dalších rozšiřujících modulů s displejem, tlačítky, relátky, digitálními LED pásky a senzory pro měření několika různých environmentálních veličin, včetně modulu osazeným sofistikovanou technologií pro měření koncentrace CO2. Klíčovou předností na rozdíl od ostatních platforem je možnost sestavovat své produkty bez nutnosti pájení a „drátování“. K celému ekosystému existuje rozsáhlá česká a anglická dokumentace, multiplatformní vývojové prostředí (Windows, Linux, macOS) a poctivě navržené SDK pro rychlý vývoj firmware s ukázkovými projekty. Jak zdrojové kódy, tak dokumentace jsou sdílené prostřednictvím GitHub [1] (odkaz na konci článku).

Core Module kromě Micro-USB konektoru, tlačítka, teploměru a MEMS akcelerometru obsahuje i 868 MHz rádiový modul SPSGRF-868, který komunikačním dosahem pokryje běžný rodinný dům a jeho blízké okolí. Pomocí tohoto rádia lze snadno vytvořit bezdrátovou síť mezi jednotlivými prvky. USB konektor lze využít jak pro nahrání firmware, tak pro komunikaci s počítačem přes virtuální sériovou linku. Díky osazenému security čipu ATSHA204A lze veškerou komunikaci autentizovat a zašifrovat. Security čip obsahuje bezpečné úložiště pro sdílená tajemství a funkcionality generování klíčů a autentizace. Core Module i celá stavebnice je od základu navržena pro úsporný bateriový provoz. V nabídce jsou dva typy bateriových modulů (2× nebo 4× AAA 1,5 V), které mohou zajistit provoz sestavených prvků až na několik let. Moduly lze samozřejmě napájet i trvale z USB, nebo napájecím adaptérem.

Obr. 2 Systémový koncept IoT stavebnice

Jelikož je systém otevřený, můžete si jej sami rozšiřovat. Při provozu není vždy nutná komunikace po internetu. Pokud ale potřebujete tradiční IoT řešení, pak lze použít USB Dongle jako rádiovou gateway a zapojit jej například do Raspberry Pi, nebo jakéhokoliv počítače s internetovou konektivitou. Do Raspberry Pi stačí doinstalovat softwarový balíček „BigClown Gateway“ a rádiové zprávy se budou obousměrně předávat po MQTT (publisher/subscriber protokol pro asynchronní doručování zpráv). Díky MQTT lze potom jednoduše integrovat další nástroje, jako je Grafana pro vizualizaci naměřených dat, Blynk pro ovládání modulů přes mobilní aplikaci, MQTT Dash a další. V grafickém rozhraní Node-RED běžícím na Raspberry Pi si pak můžete jednoduše pomocí grafických bloků a jejich propojením nastavit pravidla chování „pokud se stane toto, proveď toto“.

Další možností, jak posílat data z Core Module do internetu je použít Sigfox Module. Sigfox je globální rádiová IoT síť (868 / 915 MHz), která je ideální pro posílání dat z bateriově napájených modulů na vzdálenost i více jak 100 km. Už nyní síť pokrývá přes 90 % obyvatel ČR a prakticky celou část západní Evropy. BigClown Sigfox Module je certifikovaný přímo francouzskou organizací Sigfox. Díky službě MySigfox.com od BigClown může Sigfox síť vyzkoušet i zákazník bez uzavření smlouvy s poskytovalem (tím je v ČR firma SimpleCell). V ceně modulu máte předplacenou tříletou konektivitu a také obdržíte tzv. token, pomocí kterého můžete přesměrovat Sigfox pakety ze zařízení do vaší vlastní internetové služby (jako HTTP(s) POST volání s JSON obsahem). Výhoda technologie Sigfox je především v tom, že zařízení dokáže pracovat na alkalické baterie až několik let (dle četnosti vysílání).

Správný produkt také potřebuje kvalitní dokumentaci a technickou podporu. V BigClown dokumentaci naleznete všechny potřebné informace jak začít, detailní popis jednotlivých modulů a ukázkové projekty s kompletně popsaným postupem a zdrojovými soubory. Pokud nechcete, nemusíte ani nic programovat – prostě si nahrajete již zkompilovaný firmware přímo do modulů. Pokud chcete vyvinout vlastní firmware, není to o nic složitější, než programování pro Arduino. Protože jsou moduly od počátku navržené pro bateriový provoz, bylo třeba vyvinout nové vlastní low-power SDK v programovacím jazyce C. Velkou výhodou je to, že SDK a jeho plánovač řeší uspávání procesoru zcela automaticky, takže není třeba se zabývat uspáváním senzorů, periferií a rádia. Jednotlivé senzory v jednom modulu mezi sebou používají komunikační sběrnici I2C, ale díky abstrakci v SDK to ani vývojář aplikace nepotřebuje vědět. To samé platí o rádiové komunikaci a uspávání procesoru – o vše se postará plánovač. Díky použití I2C zůstává mnoho volných GPIO pinů pro vaše vlastní periferie. Každý ze senzorů a rozšiřujících modulů má svou podporu v SDK – stačí ho jednou funkcí inicializovat a nadefinovat vlastní uživatelskou funkci, tzv. callback, pro notifikaci událostí z daného prvku (jedná se o tzv. event-driven programování). Plánovač poté zajišťuje uspávání zařízení a v pravidelných intervalech například měří teplotu a naměřenou hodnotu předá vaší uživatelské funkci formou události. Zde může být voláním funkce hodnota hned přeposlána rádiem do gateway (USB Dongle) a z něj na váš telefon.

Výroba celého hardware a nákup komponent pro výrobu probíhá v České republice. Moduly obsahují moderní a kvalitní součástky přímo navržené pro low-power provoz. I proto na moduly dáváme 10letou záruku.

Pro BigClown ekosystém neustále vyvíjíme další moduly. Mezi novinky patří Cloony SoM (System on Module), což je zmenšená verze Core Module, který snadno zapájíte do svého vlastního zákaznického zařízení.

BigClown ekosystém je vhodný pro rychlé prototypování zařízení. Rádi se pobavíme o vašem prototypu složeného z modulů a pomůžeme s optimalizací designu na jednu desku a do mechanické zástavby. Kromě zakázkového vývoje jsme schopni zajistit nákup komponent, výrobu i finální oživení výrobku.

Martin Hubáček, martin.hubacek@hardwario.com

Reference:

[1] Web stavebnice: www.bigclown.cz

[2] GitHub organizace: www.github.com/bigclownlabs

[3] Web výrobce: www.hardwario.com