Programování | Pojďme programovat elektroniku | Raspberry Pi | BigClown

Pojďme programovat elektroniku: Když už vás ten chumel součástek prostě nebaví

  • Levné cetky z Asie stojí dolar
  • Postavíte s nimi skoro vše od teploměru po spínač zavlažování
  • Má to ale jeden háček. Bude to ošklivé a povětšinou nekvalitní

Za těch pár let jsme si v našem seriálu o programování elektroniky už vyzkoušeli ledacos od levného čínského spínače 230V Sonoff po drobné destičky Wemos D1 Mini s Wi-Fi čipem ESP8266, ke kterému jsme připojovali třeba nejrůznější meteorologická čidla.

A hráli jsme si také s rádiem – vedle Wi-Fi také s Bluetooth, Sigfoxem a nejrůznějšími čínskými moduly pracujícími na frekvenci 868 MHz. Suma sumárum, každý začínající čtenář dostal jednoduchý vhled do problematiky a další vlastní pílí si mohl postavit v podstatě cokoliv.

Když poprvé skrze Bluetooth, Wi-Fi apod. sepnete spínač, který na váš povel spustí třeba zavlažování na zahradě, nebo čerpadlo v bazénu, které do něj začne vhánět rozehřátou vodu z kolektoru na rozpálené střeše, leckoho napadne, že především vyzrál nad prodejci profesionálních řešení, bastlíř si totiž to samé složí a naprogramuje doslova za pár desetikorun. Stačí dvě destičky s čipem ESP8266, čidlo teploměru a elektromagnetické relé.

Ultralevné cetky z Číny nemusejí být vůbec levné

Ultralevné bastlení má však i své stinné stránky. Tou nejpodstatnější je mnohdy pochybná kvalita tištěných spojů a součástek a často i samotného návrhu elektrického obvodu na desce. A tak to nezřídka dopadne tak, že ta skvělá destička z AliExpressu bude sloužit jen pár měsíců a venkovní teploměr, který jste si hrdě postavili, spolehlivě zabije první zima.

52015361-d375-45f8-bc6c-4b96515946d1
Bastlení je levná kratochvíle jen zdánlivě. Laciné cetky z Číny sice stojí dolar, ale vy si přeci nepořídíte jen jednu. Po několika letech tedy vaše provizorní dílna může vypadat podobně. Ano, přesně takto vypadá v podstatě celý eBay pro elektrokutily.

Často si tedy ve skutečnosti koupíte celou hromadu nejrůznější elektroniky, než přijdete na to, která vám vyhovuje nejlépe. Z tří dolarů se za chvíli stane třicet, pak padesát, a když si po pár letech spočítáte, kolik jste za to bastlení vlastně utratili, možná se zhrozíte.

Prototypování je zpravidla nevzhledné

Druhou stinnou stránkou je pak často nevzhledný chumel… Čehosi. Každá prototypovací elektronika na trhu je totiž už podle svého názvu navržena tak, abyste na ni snadno a často bez potřeby jakéhokoliv pájení zapojili to, co potřebujete – abyste prototypovali. Problém spočívá v tom, že je i sebejednodušší výsledek zpravidla opravdu hodně velký.

c38f186a-0934-469b-97be-90dcd760ad37
Moje někdejší centrála chytré domácnosti. Tedy Raspberry Pi Zero W, bezpečnostní širokoúhlá kamera, 868MHz vysílač s anténou a nepájivé pole s meteorologckými čidly, senzorem CO2 a infračerveným detektorem pohybu HC-SR501. Fungovalo to, ale něco tak ošklivého chce mít uprostřed bytu asi jen málokdo.

Ostatně byla tu řeč třeba o nejrůznějších meteorologických čidlech. Jejich samotné čipy mají titěrné rozměry několika milimetrů čtverečních, z Číny vám však dorazí prototypovací destička velikosti poštovní známky, protože jsou na ni vyvedené ony piny se standardní prototypovací roztečí 2,54 milimetrů.

Takže zatímco venkovní bezdrátová sonda meteostanice, kterou seženete v obchodě za pár stovek, je titěrná a budou ji pohánět obvykle dvě tužkové baterie AAA, když si to samé postavíte na Arduinu, výsledkem bude mnohem větší zařízení, pro které, aby to vypadalo opravdu alespoň trošku k světu, budete muset někde splašit krabičku z 3D tiskárny na míru.

Prototypovací elektronika má zpravidla problém s během na baterii

Do třetice, drtivá většina laciných prototypovacích desek má docela vážný problém se spotřebou elektrické energie. Tedy, ne že by se vám snad měl elektroměr roztočit na plné obrátky, ale většina desek se naprosto nehodí pro dlouhodobé napájení z běžné alkalické baterie. Budete muset použít lithiový dobíjecí článek a solární panel.

1692dc72-302c-4677-9358-75f265714ad9
Arduino Uno v bdělém stavu a po přepnutí do úsporného režimu pomocí knihovny Low-Power. Spotřeba je v obou případech poměrně vysoká. Destička se tedy bez dalších úprav v žádném případě nehodí k dlouhodobému běhu na baterii.

Dnes se tedy podíváme, jak by to celé mohlo vypadat jinak. Tak, aby se vám návštěva nesmála, že zatímco ona má doma překrásné Netatmo, vy jen ten ošklivý chumel drátů.

I bastlířská chytrá domácnost přitom může vypadat k světu, nebude to ale zadarmo. Spíše naopak – pokud budete požadovat miniaturizaci, spotřebu až o několik řádů nižší, než je tomu zvykem ve světě Arduina, finální kompletaci v krabičce na míru a zároveň nejste zrovna nejzdatnější elektroinženýr, který si to celé navrhne a osadí na vlastní tištěný spoj svépomocí, připlatíte si.

f0771a9e-64bd-4bb1-8dd6-67e00ab17da1
Pokud mají běžné prototypovací destičky běžet delší dobu na baterii, musíte použít dobíjecí lithiovou baterii a ideálně solární panel, pokud se jako v tomto případě jedná o venkovní instalaci.

Suma sumárum, taková chytrá domácnost může být ve výsledku klidně i mnohem dražší než ten nejluxusnější set zmíněného Netatma, bude ale vaše, vámi naprogramovaná, a tedy bez jakýchkoliv funkčních kompromisů.

Drahý BigClown, který ve skutečnosti až tak drahý není. Záleží na úhlu pohledu.

O čem tu tedy celou dobu píšu? O českém BigClownu. Už jsme si jej představili loni, kdy jsme si prohlédli jeho největší a také nejdražší set v červeném kufříku. Pro člověka odkojeného čínskými e-shopy bude BigClown na první pohled opravdu zjevení a možná i špatný vtip, cena těch nejlevnějších destiček totiž začíná na několika stech korunách. Výstavba chytré domácnosti se tedy nafoukne na tisíce korun, což pochopitelně mnohé odradí.

003343fb-154d-4ef0-8d5d-dacbb519abbf65cd755e-c621-43f1-8214-e4a05fb5197cd311aafe-ba92-4466-8393-f8ac618b6909d69fc292-1f03-4746-86ef-89178a6962ee
Základní destička Core Module s řídícím armovým čipem 1. a 2. generace, která dostala USB/UART převodník. Destička je dražší než Arduino, ale nabízí integrovaný 868MHz šifrovaný vysílač pro svoji vlastní síť, dále na destičce najdete teploměr, akcelerometr, programovatelné tlačítko a LED.

Proč bych měl proboha kupovat jeho základní destičku Core Module s armovým čipem STM32L083CZ (Cortex-M0+), když si mohu na RPIshopu za tři stovky pořídit třeba Raspberry Pi Zero W s Linuxem a Wi-Fi, na čínském e-shopu Wemos nebo NodeMCU za stovku, případně klon základního Arduina Una za podobnou částku?

Jediná stavebnice, která poběží rok na baterii

Dobrá otázka. Odpověď? Core Module s vlastním šifrovaným rádiovým vysílačem (868 MHz) můžete strčit do plastové krabičky na míru, kterou si koupíte, nebo sami vytisknete na 3D tiskárně, neboť oficiální návrhy jsou na GitHubu.

Za druhé, BigClown je v podstatě jediná stavebnice bastlířského světa, která je už od svého počátku navržena pro co nejnižší spotřebu, a tak ji může klidně i rok pohánět dvojice 1,5V alkalických baterií AAA opět v pouzdře navrženém na míru, které do destičky jednoduše zacvaknete.

ac0ab2a7-1e89-45bd-b509-190455ceb72e
Stavebnice je kompaktní, rozšiřující desky které na sebe můžete vršit, totiž mají rozměry dvou tužkových baterií AAA. Z černé, červené a žluté destičky na obrázku byste tedy postavili meteostanici s teploměrem, vlhkoměrem, tlakoměrem, luxmetrem a akcelerometrem, který by vás mohl varovat třeba před pádem sondy na zem, krádeží apod.

Raději to ještě zopakuji: BigClown může běžet na dvě mikrotužkovky klidně i rok. Jen tak, bez jakýchkoliv zásahů do desky, bez hledání knihoven pro low-power a dalšího speciálního kódu.

Zatímco u ostatních stavebnic se průměrný provozní odběr proudu počítá na:

  • ampéry: velké Raspberry Pi
  • stovky miliampérů: malé Raspberry Pi Zero W
  • desítky až cirka 150 miliampérů: ESP8266 připojený k Wi-Fi
  • jednotky až desítky miliampérů: destičky z rodiny Arduino

V případě BigClownu se průměrný odběr pohybuje v řádu mikroampérů!

A to především díky tomu, že čip po většinu času odpočívá ve velmi efektivním spánku (dle výrobce < 5 uA) a probouzí se jen tehdy, když má něco vykonat. Třeba přečíst hodnoty z neméně úsporných čidel a odeslat změřené údaje skrze svoji rádiovou síť.

476f0095-382b-4b43-8545-64871bd3dde4
Sendvič BigClownu v plastové krabičce z 3D tiskárny na míru. Buď si ji koupíte v jeho e-shopu, nebo stáhnete návrh a vytisknete svépomocí.

Možná mi teď budete chtít napsat něco o tom, že populární Wi-Fi čipy ESP8266 a ESP32 přeci také umějí usínat a zejména ESP32 si v deep-sleepu vezme jen 10 uA a v ještě hlubší hibernaci 5 uA (viz datasheet), problém ale spočívá v tom, že prakticky neexistuje komerčně-dostupná prototypovací deska, která by se tomuto číslu byť jen přibližovala.

Jedna věc je totiž spotřeba čipu a druhá věc pak spotřeba dalších komponent okolo (měniče, diody apod.). V praxi tak má většina čínských bezejmenných destiček i o několik řádů vyšší spotřebu a diskuze jsou plné udivených bastlířů s dotazy, proč jim multimetr měří i ve spánku odběr proudu v řádu stovek mikroampérů (v lepším případě) nebo i celých miliampérů.

Jistě, můžete namítnout, že v interiéru přeci o nic nejde – maličký Wemos D1 Mini přeci můžete napájet pomocí USB zdroje, skutečně ale chcete v celém bytě obsadit všechny elektrické zásuvky nabíječkami ze starých telefonů?

Provoz na baterii umožňuje svobodu v umístění krabiček po bytě

V tomto směru vám dá BigClown díky bateriovému návrhu napájení mnohem větší svobodu. Jedna z mých domácích krabiček má například na čelní stěně velmi úsporný PIR detektor pohybu Excelitas DigiPyro PYQ-1648-7053 s dosahem až okolo pěti metrů a odběrem proudu, teď se raději něčeho podržte, v řádu jednotek uA!

6b8c2a04-1a9a-4040-b34b-8a14b6400b28ec4f09b6-a36d-4a34-8a0e-0bfeab92f46ef3e9c825-803d-4a82-80be-a8bd7fe4e97c
Infračervený detektor pohybu PIR vyrobený ze stavebnice BigClown. Krabičku napájí dvě tužkové baterie AAA, takže ji mohu umístit na jakékoliv místo v bytě, aniž by z ní vedl kabel napájení. Detekovaný pohyb posílá díky 868MHz vysílači do mikropočítače Raspberry Pi.

Jen pro srovnání, běžný bastlíř na e-shopech zpravidla najde jen prototypovací moduly s PIR čidlem HC-SR501. Na první pohled vypadá skvělé. Vždyť stojí jen pár korun, ale za cenu toho, že občas detekuje pohyb i tam, kde není (bez stínění jej může zmást EM vlny i Slunce) a odběr proudu se bez problému vyšplhá až na desítky mA!

Zatímco já mohu svoji krabičku BigClownu elegantně postavit třeba někam na vyvýšenou poličku, odkud bude oko PIRu snímat celý pokoj, majitel HC-SR501 bude muset detektor i prototypovací destičku napájet výhradně ze sítě (pokud tedy nehodlá každých pár desítek hodin až dnů měnit baterie) a zároveň investuje dlouhé hodiny a další koruny do návrhu a tisku krabičky na míru.

f7546330-2251-464b-82dc-d5087e3a7f6b
A toto je už výsledek práce této malé krabičky. Každé dvě minuty posílá do centrály počet sekund, ve kterých detekovala pohyb. Centrála pak může kreslit tyto grafy pro posledních několik dnů s rozlišením 15 minut. 100% aktivita znamená, že se celých patnáct minut v blízkosti detektoru někdo pohyboval. Další software z těchto dat může odhadovat, kdy doma nikdo není, kdy osoby spí, ráno vstávají do práce a školy apod.

Elegantní chytrá domácnost

PIR je však pouhý začátek. Další bezdrátovou krabičkou postavenou na stavebnici BigClown, kterou byste u mě doma našli, je bytová meteostanice. Tu tentokrát pohánějí rovnou čtyři tužkové baterie AAA zasazené do velkého Battery Module.

Na něj je připojený zdaleka nejdražší kus hardwaru, který BigClown nabízí – CO2 Module, do něj je konečně připojená základní deska Core Module, ale také čidla barometru, vlhkoměru a okolního osvětlení (luxmetr) – tzv. tagy. Samostatné čidlo teploměru nepotřebuji, součástí základní desky je totiž čip TMP112 s přesností 0,1-0,5 °C.

c77b6029-68dd-4912-85f7-70a631743c4176b1e150-2273-4f88-8362-53f0c0e18682882779ab-649d-4748-919b-89285d0e6f95
Kompletní domácí meteostanice s čidle CO2. Vejde se do dlaně, s centrálou komunikuje rádiově, a přesto ji k běhu na dlouhé měsíce stačí čtyři baterie AAA.

Teploměr přímo na desce blízko řídícího čipu? Vždyť to je kvůli zahřívání hotová katastrofa, ne? Ne, není. BigClown není ESP8266, které kvůli energetické náročnosti Wi-Fi zvýší teplotu celé destičky i o několik stupňů, ale energetický úsporný ARM. Má pokojovou teplotu, po většinu času totiž spí.

Celý sendvič konečně uzavírá destička LCD Module s monochromatickým 1,28“ (128×128 px) LCD displejem od Sharpu, o kterém už v našem seriálu byla také řeč, jeho specialitou je totiž opět velmi nízká spotřeba – spaluje okolo 15 uA, což je o dva až tři řády méně než v případě populárních maličkých 0,96“ OLEDů za necelou stokorunu.

A to celé je opět uvnitř krabičky na míru.

ccb3c662-4388-46d3-971b-37da99758164
Kompletní meteostanice vše v jednom, za kterou si ale pořádně připlatíte. Spolehlivá alternativa k BigClownu na trhu ale v podstatě neexistuje.

Takže si to spočtěme. V krabičce je energeticky úsporné čidlo koncentrace CO2 (švédský SenseAir LP8, technologie NDIR), čidlo atmosférického tlaku, teploměr, vlhkoměr, luxmetr, řídící jednotka s 868MHz rádiovou šifrovanou komunikací a zcela nahoře monochromatický grafický displej se dvěma tlačítky, kterými mimochodem dálkově ovládám dvě domácí světla. Velkou ambientní lampu na podlaze a barevný LED proužek nalepený na zadní hraně televizního stolku.

Zapínání světel tlačítky na meteostanici:

Toto celé budou dlouhé měsíce pohánět čtyři tužkové baterie AAA. Krabičku tedy mohu mít položenou opět kdekoliv, aniž by působila rušivým dojmem. Mohu ji kdykoliv vzít do roku, stisknout knoflík a zase položit.

Za produktovou kvalitu se holt platí

V tomto světle už ta zdánlivě ďábelská cena není tak ďábelská. Záleží výhradně na vašich prioritách. Aneb jev, kdy si začínající bastlíř první roky vše zkouší a hraje si s těmi nejlevnějšími součástkami, dává naprosto smysl, avšak leckoho po pár letech napadne: „Fajn, už to umím všechno programovat, a teď z toho potřebuji udělat finální produkt s průmyslovou kvalitou – ne změť drátků na nepájivém poli.“

Jedno „ale“ by se však našlo

Jedno „ale“ tu však přeci jen je. BigClown sice nabízí skvělou elektroniku, oproti Arduinu však přirozeně trpí v tomto srovnání zanedbatelnou komunitou a komunitní podporou. Jinými slovy, zatímco u Arduina najdete na webu tisíce a tisíce příkladů a knihoven, v případě BigClownu jste odkázaní buď na:

  • Hotové firmwary od tvůrců stavebnice pro několik typických scénářů, které jen nahrajete do řídícího čipu
  • Nebo na přečtení celého jejich GitHubu a dokumentace, pokud si to vše chcete udělat po svém s tím, že mnohé vedlejší funkce stále nejsou dobře popsané, a tak se až podle jejich zdrojového kódu dozvíte, jak vlastně fungují a čemu slouží. Touto cestou jsem se vydal i já.
f544fadb-2dc7-41d8-9a65-b6d8aaadcda2
Jazykem fóra je pochopitelně angličtina, ale díky českým tvůrcům se dozvíte odpověď i v rodném jazyce. Pokud však chcete nad BigClownem psát vlastní firmware, stejně si budete muset pročíst celý GitHub BigClownu, jehož hotové projekty jsou nejlepší učebnicí.

Pokud se rozhodnete pro první možnost, nemusíte ani tušit, jak BigClown v nitru vlastně funguje. Pokud si jej naopak budete chtít programovat sami, budete se jej muset opravdu naučit od A do Z, což se zejména v počátcích neobejde bez občasných ostrých nadávek, i když je pravda, že se na komunitním fóru od tvůrců vždy dočkáte odpovědi.

Co je však nejdůležitější, za pár týdnů (nebo měsíců) budete nitro BigClownu znát lépe, než jste kdy rozuměli zdánlivě jednoduchému Arduinu.

Zajímavou integraci BigClownu a ESP8266 najdete na webu Chiptron.cz. Štěpán Bechynský pak na svém GitHubu popisuje propojení s Microsoft Azure a třeba i zasílání dat do Excel Online.

Zapomeňte na C++, BigClown se programuje v C

A zároveň si osvěžíte čisté C, které BigClown používá. Pro začínající uživatele zvyklé na objektové C++ z Arduina to může být obtíž zejména při práci s textovými řetězci, urychleně totiž budou muset zapomenout na třídu String pro jednoduchou manipulaci s textem.

V BigClownu sestoupíte až na samotnou dřeň, která je však stále jednoduchá, BigClown nabízí hromadu svých funkcí a případně lze použít i knihovny armového podloží (STM32 HAL), nad kterým je BigClown postavený.

71fcba08-cd64-4bcd-8ded-aacda1d081d5
Bigclown nemá na rozdíl od Arduina vlastní vývojové prostředí, dobře ale poslouží jakýkoliv editor zdrojového kódu – velmi dobře třeba BigClownem do jisté míry podporovaný Visual Studio Code. Jak vidno, celý uživatelský kód meteostanice výše má směšných 123 řádků kódu, ve kterých je obsaženo jak periodické měření, tak odeslání dat rádiovou sítí a vypsání několika údajů na LCD displej.

Pro úplný začátek skvěle poslouží sekce Firmware nápovědy BigClownu s hromadou příkladů pro práci s piny GPIO, I2C apod. Stejně jako v případě Arduina i zde bude mít základní program jen několik málo řádků kódu.

Kompaktními sondami to jen začíná, chytrá domácnost ještě potřebuje svůj elegantní palubní počítač

Na závěr nesmím zapomenout ještě na jednu věc – domácí ovládací počítač. Ačkoliv i titěrný Wemos D1 Mini bez problému utáhne třeba jednoduchý webový server, který data ze všech sond složí dohromady a pošle kamsi na web, jako centrála přeci jen lépe poslouží něco univerzálnějšího a výkonnějšího – Raspberry Pi.

8514a20d-5985-4935-b1f4-118012b7f9d3420e8f09-ead3-44d8-89f8-b9dd92ee6669f7465503-ce3e-49ba-bed0-8f34cdf7b078
Radio Dongle, tedy BigClown Core Module upravený pro připojení k USB, a po spojení s velkým Raspberry Pi 3 a malým Raspberry Pi Zero W

V případě BigClownu do jednoho z jeho čtyř USB portů připojíte Radio Dongle, což je ve své podstatě Core Module s velkým USB konektorem. V Radio Donglu poté bude nahraný program, který bude neustále poslouchat, přijímat zprávy ze všech bezdrátových jednotek stavebnice a skrze sériové rozhraní je předá vyšší aplikaci běžící na Raspberry Pi.

To už může být díky jeho možnostem třeba jednoduchý program v populárním Pythonu, skript napsaný v PHP, Javě a tak podobně. Záleží na vás. I zde BigClown nabízí vlastní řešení takovým způsobem, aby stavebnici rozjeli i ti, kteří nic programovat prostě nechtějí za žádnou cenu.

Dotyková obrazovka

Pokud chcete mít svoji chytrou domácnost opravdu stylovou, k Raspberry Pi můžete dokoupit třeba i oficiální 7“ (800×480 px) kapacitní dotykový displej a stojánek. Samotné Raspberry Pi bude poté přišroubované na jeho záda, takže displej bude působit poměrně dobře.

7d89e84e-b01d-4763-9794-1ffc1162672cbc3ff157-c091-4bee-a474-c9915f7ab35a21011dc3-8f17-4c2c-8ab1-16b44a8d9715a302a2f4-bde3-411b-9d77-a0c6c462f028
Oficiální kapacitní 7" displej pro Raspberry Pi, na jehož záda lze přišroubovat Raspberry Pi. Poté stačí kvalitním microUSB zdrojem (2,5 A) napájet přímo displej a teprve z něj skrze piny 5V a GND samotné Raspberry Pi a jeho případné USB komponenty jako na obrázku. Obraz a dotyky se posílají skrze rozhraní pro DSI displej. Port HDMI na Raspberry Pi zůstává volný.

Na webu přitom seženete i mnohem dražší stojánky, které celé Raspberry Pi schovají pod plastový kryt a výsledkem je tak v podstatě cosi, co už vypadá jako tablet nebo fotorámeček – tedy opět finální produkt, který se nemusíte stydět postavit i na exkluzivnější místo u vás doma.

872f27e4-aa18-4d0b-9d1f-00084af7f14842f63a4b-9841-40bf-8f61-d5d220cece2f7621e2fb-f783-4e70-b8e5-db5d3bfb0b2f
I zbastlená centrála chytré domácnosti může vypadat docela dobře, co myslíte? GUI displeje tvoří běžná HTML stránka zobrazená v Chromiu v režimu kiosk, kdy se skryjí všechny ovládací prvky. Kurzor myši skryje program unclutter.
8f9e9c65-c157-4b16-a910-01ca8ff80e433ffe491f-0f22-4089-9142-cc45a17f3dd3
K Raspberry Pi je připojený přijímač stavebnice BigClown a čínský modul dálkového 868MHz přijímače LoRa (nepřehlédnutelná anténa). Nahoře si všimněte ještě bezpečnostní kamery. Centrála nezobrazuje jen teplotu. Umí také díky luxmetru a detekci pohybu sama ovládat osvětlení v bytě, funguje jako bezpečnostní kamerový systém a její řídící aplikace je celá napsaná v Pythonu 3.

V dnešním pokračování našeho seriálu o programování elektroniky jsme tedy sice nenapsali ani řádku kódu, ale ukázali si, že jsou na trhu řešení i pro ty, kteří po letech bastlení hodlají svoji snahu konečně dovršit a z prototypovací elektroniky udělat hezký produkt.

Je to možné, funguje to, ale už to pochopitelně nebude stát tři dolary.

Diskuze (16) Další článek: Nokia z Londýna: „Pětifoťákový trumf vám ještě neukážeme, ale ve střední třídě válíme“

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,