Monitor terária pro leguány
Úvod
Ať už máte doma leguána, želvu, hada nebo gekona, určitě chcete, aby se u vás cítil co nejlíp. 👌🦎 Sledujte klima v teráriu a zjistěte, jestli má váš zelený mazlíček ideální podmínky pro život.
S tímto projektem se naučíte měřit čtyři klimatické veličiny a zobrazit je v grafech: teplotu, vlhkost, osvětlenost a tlak vzduchu. Za odměnu vám možná vaši zelení kamarádi povyprávějí historky svých dinosauřích předků. 🦖 Nebo něco takového.
Pokud máte Sadu Start, budete k ní potřebovat ještě Climate Module. Kompletní výbavu najdete v Sadě Clime.
Připravte si krabičku
- Sestavte a spárujte Sadu Clime. Pokud to děláte poprvé, máme pro vás jednoduchou příručku. Postup je stejný jako u Sady Start. Do modulu Core Module potřebujete firmware twr-radio-climate-monitor. Pokud nevíte, jak si firmware stáhnout nebo co to je, najdete to tady.
- Změny teploty, osvětlenosti, vlhkosti a tlaku vzduchu uvidíte v Playgroundu v záložce Messages.

Nastavte si Node-RED
- Programovat začnete v Node-RED. Nejdřív v Playgroundu klikněte na záložku Functions.
- Na prázdnou plochu přetáhněte světle fialový uzel (bublinu) s názvem mqtt in. Najdete ho v sekci network.
- Uzel otevřete dvojklikem. V řádku Topic určíte, co má barevný ukazatel zobrazovat. Teď to bude teplota. Do řádku proto zkopírujte zprávu s teplotou ze záložky Messages (bez čísla). Nebo klidně použijte tuto:
node/climate-monitor:0/thermometer/0:0/temperature

Potvrďte tlačítkem Done.
- Vedle něj umístěte druhý, světle modrý uzel s názvem Gauge (ukazatel). Najdete ho v sekci Dashboard. Tímto uzlem určíte, jak se naměřená teplota zobrazí na obrazovce.
- Na uzel Gauge dvakrát klikněte. V řádku Range nastavíte, jaký rozsah teplot bude ukazatel zobrazovat. Postačí 0 až 40 °C.
V řádku Label ukazatel libovolně pojmenujte a do řádku Value format doplňte jednotku teploty, tedy °C. Pokud chcete, vyberte si v řádku Colour gradient i barvu ukazatele.

Potvrďte tlačítkem Done.
- Měření teploty máte hotové, tak se pusťte do dalších veličin. Pod uzly pro měření teploty přidejte další dva stejné uzly, tedy MQTT a Gauge.
- Do uzlu MQTT tentokrát zkopírujte topic pro měření vlhkosti, který vypadá takto: node/climate-monitor:0/hygrometer/0:4/relative-humidity.
V novém uzlu Gauge nastavte Range 0 až 100 a do Value format zadejte % (vlhkost se totiž měří v procentech). Nezapomeňte ukazatel pojmenovat, případně mu vyberte barvu.

- Teď přijde na řadu ukazatel osvětlenosti. 💡 Postup bude úplně stejný: jeden uzel MQTT a jeden uzel Gauge.
- Do uzlu MQTT zkopírujte tento topic: node/climate-monitor:0/lux-meter/0:0/illuminance V uzlu Gauge tentokrát nastavte rozsah 0 až 10 000 a do Value format zadejte jednotku osvětlenosti lx (lux). Pokud chcete, opět vyberte název a barvu.

- Tři ze čtyř veličin máte za sebou, zbývá poslední: tlak vzduchu. Opět přidejte jeden uzel MQTT a jeden uzel Gauge.
- Do uzlu MQTT zkopírujte Topic pro měření tlaku vzduchu:
node/climate-monitor:0/barometer/0:0/pressure
Do nového uzlu Gauge zadejte rozsah 80 000 až 110 000. Senzor posílá tlak vzduchu v pascalech a při zemi je to kolem 100 000 Pa. Jednotku tentokrát nastavovat nemusíte, ale název a barvu klidně přidejte.

- Abyste neviděli jen aktuální čísla, přidejte ke třem veličinám ještě grafy. Přehledně ukážou, jak se vlhkost, osvětlenost a tlak vzduchu vyvíjely za poslední hodinu. 📈
Pod uzly Gauge pro vlhkost, osvětlenost a tlak proto přidejte po jednom uzlu Chart ze sekce Dashboard.
- Všechny tři uzly postupně otevřete a v Label je pojmenujte stejně jako sousední uzly Gauge. V X-axis pokaždé nastavte, za jaké období chcete výsledky zobrazovat (hodina by tam už měla být nastavená automaticky).
Do Y-axis pak vyplňte stejné rozsahy jako u sousedních uzlů Gauge, tedy u vlhkosti 0 až 100, u osvětlenosti 0 až 10 000 a u tlaku 80 000 až 110 000.

A je to! Než se pustíte do měření, přidejte ještě jednu vychytávku: virtuálního hlídače.
Přidejte kontrolku ideální teploty
Virtuální hlídač vás upozorní pokaždé, když váš plaz nebude mít v teráriu správnou teplotu. 🐍 Sestavíte ho z několika uzlů.
- Nad vše, co jste vytvořili, přidejte uzel Numeric ze sekce Dashboard. Poznáte ho podle nápisu 123.
Otevřete ho a pole Range a Value format vyplňte úplně stejně jako u prvního uzlu Gauge. Pokud si to už nepamatujete, podívejte se na obrázek níže. Nezapomeňte uzel v poli Label pojmenovat, třeba Ideální teplota.

- Hned vedle přidejte další uzel, tentokrát novinku: uzel Change ze sekce Function.
Otevřete ho a nastavte v něm pod sebe flow.optimal a msg.payload (tak jako na obrázku).
K čemu to je: Pomocí těchto dvou uzlů (Numeric a Change) nastavíte ideální teplotu a hlídač vás upozorní, když se od ní naměřená teplota odchýlí. 👮 V uzlu Numeric budete na Dashboardu určovat optimální teplotu a uzel Change ji uloží do proměnné flow.optimal. S tou pracují další uzly, které přidáme teď.

- Teď je čas na uzel Switch, který také najdete v sekci Function. Přetáhněte ho vedle uzlu MQTT pro měření teploty a otevřete ho.
V něm nastavíte tři situace, které můžou při sledování ideální teploty nastat: teplota je akorát, moc nízká nebo moc vysoká.
- Dvakrát klikněte na malé tlačítko +add, abyste měli v uzlu tři možné situace. Pak je upravte přesně podle obrázku níže. Všimněte si, že na každém řádku je „flow.optimal“. Program vždy zkontroluje aktuální hodnotu této proměnné a podle ní pozná, o kterou situaci jde.

- Teď nastavíte zprávy, které vás na všechny tři situace upozorní. Vedle uzlu Switch umístěte pod sebe tři uzly Change.
- Všechny tři uzly Change postupně otevřete a napište do nich zprávy, třeba „Teplota je moc vysoká/nízká/akorát“.
Pokud jste uzel Switch nastavili přesně podle našeho obrázku, napište do horního uzlu Change zprávu pro příliš vysokou teplotu, do prostředního pro příliš nízkou a do spodního pro optimální teplotu.

- A teď už jen jeden uzel a můžeme to celé spustit! 🏎️ Za tři uzly Change přidejte uzel Text ze sekce Dashboard. Ten bude zobrazovat zprávy, které jste nastavili v předchozím kroku.
- Uzel otevřete a v řádku Label ho pojmenujte, třeba Stav teploty.

- A je to! Teď celý flow propojte podle našeho obrázku. Pokud si troufnete, propojte ho sami a podle obrázku ho pak jen zkontrolujte. 💪

- Klikněte na tlačítko Deploy vpravo nahoře a celý tenhle velký flow spusťte. Na Dashboardu se vám naměřené hodnoty zobrazí zhruba takto:
A akce!
- Krabičku pořádně připevněte izolepou do terária svého plazího bratříčka nebo sestřičky. 🏡
- Na Dashboardu najděte nastavení optimální teploty a pomocí dvou šipek zvolte tu, kterou váš leguán, had nebo želva potřebuje. Ideální hodnotu pro svého mazlíčka si dohledejte na internetu.
- Kontrolujte, jestli má váš mazlíček ideální teplotu, a sledujte, jak stoupá a klesá tlak, osvětlenost a vlhkost.
- Pokud se naměřená teplota od ideální příliš liší, zajděte se poradit do zverimexu nebo k veterináři, ať je váš plaz maximálně spokojený. 👌