menu icon

visual triangle
Czech We are sorry, but the blog is currently available only in czech language.
Blog article image

Jak programátoři (ne)zalévají květiny

Napadlo někdy někoho, jaké by to bylo si vytvořit třeba vlastní Meteostanici?
Víme minimálně o jednom člověku a tím je Tomáš od nás z DAMI. Je prvním kolegou z naší firmy, se kterým děláme rozhovor o tom, čemu se věnuje ve svém volném čase.

Vytvoření takové vychytávky, která bude měřit třeba teplotu na jakémkoliv místě, je ukázkovým příkladem často skloňovaného IoT. Co je to tedy IoT, o co se jedná? Internet of Things neboli Internet věcí je hodně aktuální pojem, se kterým se čím dál častěji můžeme setkávat celkem běžně, například při používání kuchyňských spotřebičů, jízdě v autě, ovládání intenzity světla pro večerní romantiku a mnoho dalšího. Za to všechno může takzvaná síť elektronických (do velké míry autonomních) zařízení, která jsou vzájemně propojena a vyměňují si data.

Ukázka teplotních hodnot naměřených Tomášovou meteostanicí

 


TL;DR: Jedná se o kombinaci několika senzorů a mikropočítače (Raspberry Pi), který má za cíl zaznamenávat hodnoty. Tomáš má už nasbíraná data za dva roky a kromě aktuální informační hodnoty také přemýšlel, že by z nich šla udělat zajímavá statistika.

Klíčová slova článku: IoT, Arduino, Raspberry Pi, senzory, meteostanice


Všechno pěkně popořadě, prozraď nám, proč jsi se tomu začal věnovat?

Vzniklo to tak, že jsem se trochu nudil a obecně se zajímal o tyto technologie a napadlo mě udělat si vlastní domácí meteostanici. Bylo to tedy z čisté zvědavosti a touze vyzkoušet si technologii v praxi. Zprvu jsem měřil pouze teplotu a později jsem přidal i měření tlaku. Co se míst měření týče, jedna stanice byla blízko u domu a druhá měří hodnoty v domě.

To zní zajímavě, jak to všechno funguje dohromady?

Pro každou stanici je potřeba jedno Arduino a senzor. To slouží jako sběrná stanice - neuchovává data, jen se jich ptá na aktuální stav. Další část je poté Raspberry. To mám doma a periodicky se každých 5 – 10 minut zeptá Arduina na aktuální hodnotu a uloží ji k sobě do databáze. K tomu jsem vytvořil jednoduchý prezentační web – už jsem vydal několik generací a hrál si s tím. Do budoucna plánuji přidat časové období a další featury.

Přehled aktuálně měřených hodnot Tomášovou meteostanicí

 

Trošku tě znám, takže tuším, že to není všechno?

Máš pravdu, není. Potom jsem si vytvořil widget na iPhone, který mi zobrazuje aktuální naměřené hodnoty. Meteostanici jsem také napojil na Siri. V praxi to potom vypadá nějak takhle: “Hey Siri, jaká je teplota u mě doma... a většinou mi ráda odpoví.“

Může si to někdo vytvořit sám?

Určitě - kdokoliv. Neobnáší to právě ani velkou finanční investici. Arduino je za hubičku (méně jak 50kč) a senzory jsou také v pohodě (méně jak 100kč). Raspberry už je dražší, ale je možné zvolit alternativu a odesílat data na nějaký server nebo podobně. Troufám si říct, že finančně se zvládne něco podobného postavit přibližně do 200kč.

Jak velká technická znalost je k tomu potřeba?

Co se týče znalostí, tak když jsem s tím začínal, neměl jsem žádné znalosti c++ nebo něčeho podobného, všechno jsem si sám osvojil a naučil se v průběhu. Šlo hlavně o to, že jsem se to sám chtěl naučit, předtím jsem s tím neměl žádné zkušenosti. Dnes už bych udělal pár věcí trošku jinak, napadly mě totiž v průběhu další vychytávky a lepší technický přístup, princip je však pořád stejný.

Jak dlouho to zabere?

Ani moc dlouho ne, spíš jsem tomu nevěnoval moc času. Základní varianta je možná udělat, v případě, když trošku víš, jak to funguje, v řádech pár hodin. Když jsi nic podobného v životě neviděl a snažíš se do toho proniknout, tak je to možné zvládnout za pár večerů (10h).

Zobrazení hodnot vlhkosti naměřených Tomášovou meteostanicí

 

Pomohlo ti to v něčem dál?

Ne přímo v mé oblasti (vývoje mobilních aplikací), ale pomohlo mi to v tom, že už se více orientuji v nízkoúrovňové komunikaci. Člověk se tím pak naučí určité základy, které jde použít dál v různých projektech. Udělal jsem si doma nad stolem LED pásek a můžu přes Homekit/Siri ovládat světlo atd. Je to celkem jednoduché, dáš dohromady nějaké základní reléčko + Arduino a vznikne ti z toho chytré "home made" světlo za stovku. Je hodně věcí, které by takhle levně šly automatizovat.

Co tě takhle z patra napadne, že by šlo dál automatizovat? Nějaké vychytávky?

Z hlediska mého projektu to rozhodně jde, vždy je možné rozšíření o více senzorů, například měřit vlhkost půdy, měřit srážky a spoustu dalších věcí. Takhle by se dala rozšířit ta část sběru dat. Šlo by to rozšířit i na druhé straně - práce s daty a vizualizace výsledků.
 
Ohledně té vlhkosti, je to celkem jednoduché, já jako programátor nejsem úplně pravidelným zalévačem kytek. Stávalo se, že mi v pokoji pravidelně umíraly kytky. Tak mě napadlo, že by šla měřit vlhkost hlíny v květináči. Pokud by tam byla malá vlhkost (napozorované hodnoty klesnou pod určitou hranici – jednoduše tam bude sucho), přišla by mi push notifikace „Zalej kytku na půdě!“. S tím už jsem si trošku hrál, ale zkorodoval mi senzor – bude potřeba ho řešit nějakým kvalitnějším a voděodolným (haha).
 
Dále si můžeš dát čidla kdekoliv po domě, třeba do okna. Odejdeš do práce a necháš otevřené okno – po nějaké době ti přijde notifikace “Vážně? Chceš mít tak dlouho otevřené okno?”. To použití je opravdu dost rozsáhlé. Od senzorů pohybu, přes IP kameru z hlediska bezpečnostního projektu po světelné senzory atd.

Názorná ukázka Tomášova Arduina a čidla