Těžko byste našli v Česku bastlíře, který ještě neslyšel o open-source stavebnici BigClown, na scéně, kde diktuje podmínky Arduino a s ním kompatibilní desky, totiž působí tak trochu jako zjevení. A to hned z několika důvodů.
Tím prvním je skutečnost, že se jedná o český projekt, na jehož počátku stál Jablotron. Tedy, ne že bychom u nás neuměli dělat ve velkém zajímavé věci – za zmínku stojí třeba bezdrátová technologie IQRF z Jičína, ale co naplat, amatérskému bastlení vládne eBay, Alliexpress, Banggood a levné cetky z Číny.
Co kdybychom bastlili trošku jinak?
Druhým důvodem pak byla odvaha k odlišnému přístupu. Za poslední roky jsme si zvykli, že se dá kdejaká prototypovací deska díky komunitní podpoře programovat stejným způsobem jako každé jiné Arduino. Ze základní struktury kódu s klíčovými funkcemi setup a loop a z jednoduchého C/C++ se tak stal nepsaný standard, který převzali i mnozí další výrobci – třeba autoři desek Photon (Wi-Fi) a Electron (2G/3G) z projektu Particle.io.
Časová osa vývoje projektu BigClown, aneb česká stavebnice pro budování chytré bezdrátové domácnosti
BigClown se sice také programuje v C/C++, nicméně struktura jeho kódu je odlišná a lépe integrovaná. Jeho knihovny nabízejí nativní podporu pro hromadu senzorů všeho druhu, a tak člověk nemusí kdesi na internetech hledat funkční ovladač tu pro barometr a tu zase pro jinou součástku, přičemž každou z nich napsal vývojář trošku jiným způsobem, a tak nemají jednotnou štábní kulturu a vy si raději po čase napíšete vlastní.
Moduly a tagy
Česká stavebnice nepodporuje hromadu senzorů jen tak, sama jich totiž zhruba rok po ostrém startu nabízí docela mnoho a to ve formě modulů a tagů. Zatímco moduly lze připodobnit k shieldům ze světa Raspberry Pi, Arduina a dalších, takže je na sebe skládáte jako Lego, tagy jsou drobné pětipinové destičky s jednotným rozměrem a s centrální jednotkou komunikují skrze sběrnici I2C. Vedle pinů SCL a SDA pro I2C a napájení disponují ještě pinem pro přerušení.
Takové drobné tagy o ploše zhruba 1 cm2 pak mohou měřit třeba teplotu, tlak a vlhkost vzduchu, v nabídce je ale i luxmetr a nakonec senzor bezdrátového NFC.
Meteosonda na baterky
Dnes se podíváme, jak taková skládačka BigClown vlastně vypadá, dorazil nám totiž kompletní měřák Comfort Monitor s třemi meteorologickými tagy, kvalitním švédským senzorem CO2 SenseAir LP8 a především modemem Wisol pro odesílání dat skrze mobilní síť Sigfox.
Skládačka BigClown s vysílačem Sigfox, senzoryCO2, teploměrem, vlhkoměrem, barometrem a čtveřicí článků AAA
Jelikož je náš BigClown vybavený i bateriovým modulem na 4 články AA, prostě jej kamkoliv položíte a o veškerou vizualizaci změřených dat se postará analytická služba Grafana. Majitelé klasických arduin, třeba zrovna základní desky Uno, si možná pomyslí, že 4 malé články AAA skončí brzo v koši, tak tomu ale není.
Úsporný armový mozek
Jádrem BigClownu je totiž Core Module, což je vlastně samotná deska mikrokontroleru, která vše řídí pomocí 32MHz úsporného čipu STM32L083CZ (ARM Cortex M0+). K dispozici má 192 kB paměti pro kód programu a 20 kB RAM, tedy desetkrát více než na základním čipu ATmega328p, který pohání základní arduina.
Rozložený BigClown na prvočinitele a základní deska s armovým řídícím čipem
Integrovaný 868MHz vysílač
Ale zpět ke Core Modulu. Jeho armový čip je vlastně jeho nejnudnější částí, specialitou projektu BigClown je totiž integrovaný rádiový vysílač. Na rozdíl od populárních desek s čipy ESP8266/32 to však není Wi-Fi, ale vlastní a energeticky úsporné 868MHz rádio založené na čipu SPIRIT1 (opět od ST) a určené k přenosu jednoduchých stavových zpráviček mezi různými jednotkami BigClowna – třeba meteorologických údajů a tak podobně.
Integrovaný 868MHz vysílač s anténou přímo na desce
Základní deska dále obsahuje kryptočip ATSHA204A, přičemž šifrovaný rádiový přenos má být další silnou stránkou projektu BigClown. I v tomto se velmi liší od toho, co nabízejí ostatní, klasické Arduino a 433/868MHz vysílače za pár kaček z eBaye totiž na vestavěné zabezpečení přenosu příliš nemyslí.
Jistě, možná jen mávnete rukou, že vás doma bude asi jen těžko někdo odposlouchávat, nicméně absence šifrování jakožto standardu, který by měl být naprosto samozřejmý, není ideální vstup do světa IoT, i kdybyste bydleli uprostřed pustiny.
V mém případě to platí dvojnásob, poněvadž bydlím na dohled kolejí brněnského VUT. A odposlouchávat Čížka, který po celém Králově Poli svítí snad na všech nelicencovaných frekvencích a na hraně norem ČTÚ, by mohl být pro leckterého budoucího elektroinženýra zajímavý víkendový čelendž.
Výčet výbavy základní desky by mohl samozřejmě ještě pokračovat, je tam toho opravdu mnoho včetně akcelerometru a teploměru, já však kvituji především absenci POWER LED. Drobné světýlko na většině prototypovacích desek, které svítí jen proto, abyste věděli, že je deska pod napětím, totiž začnete nesnášet ve chvíli, když budete chtít desku napájet baterií a budete hledat úsporu každého miliampéru.
BigClown s během na baterii počítá, takže když jeho čip usne do úsporného režimu, aby se za pár minut opět probudil a přečetl údaje ze senzorů, nebude na jeho desce zbytečně zářit a spalovat energii žádná zbytečná LED dioda.
CO2 Module, anebo proč je kvalitní měření CO2 tak drahé?
Jádrem naší meteostanice je však modul CO2, který vedle samotného senzoru oxidu uhličitého disponuje ještě konektory pro tři tagy. Drobná deska patří k tomu nejdražšímu, co BigClown nabízí, o měření koncentrace CO2 se totiž stará již zmíněný švédský infračervený senzor SenseAir LP8. Ta cena je naprosto opodstatněná, takový co2meter.com totiž prodává totožný a holý senzor za 2 629 korun.
Deska CO2 Module s čidle SenseAir LP8, superkondenzátorem a třemi připojenými meteorologickými tagy
BigClown dodá o něco levnější desku, na které je navíc 0,47F 5V superkondenzátor PowerStor Aerogel, který se postará o to, aby měl senzor k měření vždy dostatek energie, a hlavně obvod k převodu komunikace na rozhraní I2C. Jak už jsem napsal výše, robustní sběrnice I2C je u podobných skládaček s hromadou shieldů v podstatě ideální standard, všechny dohromady totiž spotřebují jen dva společné piny SDA a SCL a bastlíři zbude hromada neobsazených GPIO.
Fajn, ale proč je ten senzor tedy tak drahý? Protože je prostě dobrý. Měření CO2 se dnes těší velké popularitě a je opravdu praktické, lze na něm totiž postavit třeba systém automatické ventilace. Problém spočívá v tom, že jsou všechny detektory až nezvykle drahé. I ty z Číny.
Na trhu najdete hromadu chemických senzorů, které často kvůli vyššímu napětí a odběru proudu nemůžete napájet přímo ze zdroje na prototypovací desce, anebo infračervené senzory, které mohou běžet na 3,3/5V a i odběr proudu je zpravidla pod hranou toho, co utáhne měnič přímo na desce (případně pomůže silný kondenzátor).
Švédský SenseAir LP8 a jeho čínská kopie MH-Z19(B)
Švédský SenseAir nabízí obě konstrukce, přičemž maličký a ULV senzor LP8 patří k naprosté špičce. Nejen že je úsporný, ale i přesný (rozsah 0-10 000 ppm při odchylce do 50 ppm), a tak jej (a jeho předchůdce) zvesela kopíruje zejména čínský výrobce Zhengzhou Winsen Eelctronics Technology, jenž prodává slabší model MH-Z19 (PDF), který čas od času potřebuje kalibraci, a pokročilejší senzor MH-Z19B s automatickou kalibrací (PDF), který už se alespoň papírově trošičku přibližuje švédské předloze.
Suma sumárum, modul CO2 pro BigClown je sice 4-5× dražší než nejlevnější MH-Z19 z Banggoodu, ovšem když jsem oba dva srovnal, zejména při vyšších koncentracích CO2 byl u obou modulů rozdíl až v řádu stovek ppm a základní MH-Z19 bylo třeba alespoň jednou za deset dnů kalibrovat (při otevřeném okně a bez přítomnosti lidí poslat skrze UART příkaz, který aktuální hodnotu nastavil jako základní hladinu 400 ppm, což je typická venkovní koncentrace CO2).
Tagy
Součástí desky s CO2 modulem je i trojice meteorologických tagů s čidly teploty a vlhkosti vzduchu a barometr. Na meteorologii jsem pes, za poslední rok jsem totiž při hledání těch nejpřesnějších senzorů vyzkoušel snad všechno, byl jsem tedy napjatý jako kšandy, pro co se rozhodli pánové z BigClownu.
CO2 Module s trojicí tagů: teploměr, vlhkoměr a barometr
Zatímco já ve svém hledání toho nejlepšího prozatím skončil u SHT31 od Sensirionu s přesností 0,2°C, teplotní tag je vyzbrojený čidlem TMP112 od Texas Instruments. Podle oficiální dokumentace disponuje odchylkou do 0,5 °C, podle BigClownu do 0,1 °C. Realita? Oba měří v podstatě úplně stejně a tyto drobné nuance jsou prakticky nezměřitelné a na úrovni běžného šumu. Teploměr tedy zvolili slušný, ačkoliv já mám jako bonus v jednom čipu i vlhkoměr.
Jednotlivé meteorologické tagy s jednotným rozměrem a hlavně rozhraním –sběrnicí I2C a pinem pro přerušení
Jako senzor relativní vlhkosti vzduchu posloužil čip HDC2080 opět od TI s dnes již obvyklou 2% přesností a konečně jako barometr čip MPL3115A2 od NXP. Na ten jsem byl obzvláště zvědavý, 5 ze 4 domácích bastlířů totiž používá levné čínské moduly s kombinovanými čipy BMP280/BME280 od Bosch Sensortec. Výsledek měření? Opět relativní shoda bez nepříjemného překvapení.
Senzory tedy měří dobře, a jelikož na desce není žádné Wi-Fi či jiný výrazný spotřebič, který by se zahříval, nemají problém s tím, že je vše kompaktní a blízko sebe.
Sigfox a starý dobrý Wisol
Výborně, takže nám už zbývá jediná věc – dostat data z BigClowna kamsi na internet. Od toho tu je Sigfox Module s modemem Wisol WSSFM10R1AT, který jsme si v jeho holé podobě v našem seriálu už vyzkoušeli.
Takže jen zopakuji, že mobilní síť pro internet věcí Sigfox, která dnes pokrývá většinu území Česka, umožňuje na kmitočtu 868 MHz odeslat až 12B zprávu zhruba 140× za den. Do dvanácti bajtů bez problému uložíte přesné údaje o teplotě, tlaku, vlhkosti a koncentraci CO2, modem ji odešle na nejbližší partnerskou BTS (Sigfox u nás skrze operátora SimpleCell spolupracuje s T-Mobile) a z mobilní sítě už skrze běžný internet doputuje na servery Sigfoxu, které ji dle vašeho nastavení předají třeba vaší webové službě.
Sigfox Module pro BigClown a modem Wisol v dalších podobách jako holá deska od francouzského SNOC a destička od českého LPWAN.cz
Vše najdeš na Grafaně
V případě meteostanice, kterou nám BigClown zapůjčil, skončila data na zmíněné vizualizační a mezi bastlíři docela oblíbené službě Grafana, která nabízí vše, co potřebujete včetně zobrazení historie v různém měřítku.
Data skrze mobilní síť Sigfox dorazila na vizualizační službu Grafana, která vykreslila grafy. Růžová plocha vyznačuje koncentraci nad 2 000 ppm, kdy by už měl člověk pořádně vyvětrat. Jak vidno, během noci koncentrace CO2 v nevětrané ložnici dosáhla více než dvojnásobku.
časové filtrování hodnot v Grafaně a další nastavení
A to je vlastně celé. Teď by měl jako v každém dílu našeho seriálu následovat kód, tentokrát jsme si však pohráli s hotovým produktem jako takovým. To však není konec. Exotický BigClown si právě pro svůj odlišný přístup zaslouží více, a tak se k němu na podzim vrátíme a ukážeme si, jak se opravdu programuje, v čem je to jiné než u tradičního Arduina, a proč by to mohlo být lepší.