Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
DOTAZ: Měli byste zájem o novou verzi využívající Wemos D1 mini a snímač DS18 (pro teplotu) a DHT22 (pro vlhkost)? Dejte mi vědět v komentářích. Dík!
Pokud se vám tento projekt líbí, hlasujte pro něj v soutěži Wireless … Všem vám moc děkujeme
Hej lidi, po několika měsících hraní s ESP8266 jsem konečně dostal novou verzi TerraControl, se kterou jsem spokojený a ochotný se s vámi podělit. Někteří z vás si možná všimli, že přeskakuji verzi 2.0 … to proto, že tato verze používala většinou starý kód s několika doplňky, ale stejně to bylo sakra nepořádné. Díky Blynku jsem byl schopen snížit přes 600 řádků kódu na 100 řádků mnohem jednoduchého kódu!
Co se změnilo?
- Malé úpravy jsou fyzické spojení. Především kvůli senzoru DHT, který se při bootování ve staré verzi nepodařilo připojit. Nyní je vše opraveno a žádné výpadky napájení nebudou narušovat vaše nastavení.
- Žádný webový server ESP8266. Což je dobře, v tom mi věř.
- Úplná kontrola prostřednictvím aplikace Blynk. Z libovolného místa na světě můžete ovládat cokoli, co chcete. Vím, že to může znít jako reklama, ale opravdu jsem si Blynka oblíbil.
- Mnohem více možností - celá domácnost připojena a ovladatelná/monitorována prostřednictvím jedné aplikace.
Krok 1: Co potřebujete…
- Deska NodeMCU 1.0 12E - 3,32 $
- Reléová deska - například - 5,90 $
- Snímač teploty a vlhkosti DHT22 (11) - 2,87 $
- Vzhledem k povaze desky NodeMCU (její výkon je pouze 3,3 V) budete buď muset koupit reléovou desku 3,3 V (v odkazu výše), nebo upravit desku 5 V nebo koupit modul logického převodníku I2C - například - 0,9 USD
- 5V zdroj (používám starší USB nabíječku)
- dráty
- pájka
- pouzdro/krabice
- Arduino IDE
Připojení NodeMCU
Datový pin DHT22/11 D6
reléLight D1relayHeat D2relayHeat2 D5relayFan D9 (RX pin na NodeMCU)
Moduly musíte napájet podle jejich specifikací. Pokud používáte reléovou desku 3,3 V, můžete ji napájet přímo z NodeMCU, v opačném případě musíte použít externí 5 V.
Používám své staré díly a pouzdro, stačí přepnout dva vodiče …
Krok 2: Nastavení Blynk
Pro ty, kteří nevědí, co je Blynk, je to platforma s aplikacemi pro iOS a Android pro ovládání Arduina, Raspberry Pi a podobných přes internet. Je to digitální řídicí panel, kde můžete pro svůj projekt vytvořit grafické rozhraní pouhým přetažením widgetů. Možná budete muset koupit nějakou energii v aplikaci Blynk, ale myslím, že 4-5 $ je dobrá cena pro takový projekt.
Začněme na zařízení Andorid (verze pro iOS zatím neumožňuje přidávání widgetů ani úpravy událostí Eventor):
- Stáhněte si aplikaci Blynk
- Zaregistrujte se nebo se přihlaste (pokud již máte účet)
- Klepnutím na „+“vytvoříte nový projekt Pojmenujte projekt a vyberte zařízení, které používáte (v našem případě je to ESP8266) a klepněte na „Vytvořit“Do vaší poštovní schránky obdržíte ověřovací token, budeme ho potřebovat později
-
Na stránce projektu Blynk klepněte na „+“a přidejte:
- 4 tlačítka
- 4 LED diody
- Zobrazí se 2 (označené)
- Hodiny reálného času
- Oznámení
- Eventor
- Graf historie (volitelně)
- Použijte nastavení widgetu, jak je vidět na posledním obrázku (pokud jej nastavíte jinak, budete muset upravit kód)
- V nastavení projektu (ikona matice nahoře) „Odeslat příkaz připojený k aplikaci“na ZAPNUTO.
- Zavřete nastavení a otevřete Eventor
Krok 3: Eventor
Pokračujme ve vytváření událostí Eventor…
Nejprve nastavte ovládání světla:
-
Přidat novou událost
Když… TIME (vyberte čas, kdy se má světlo rozsvítit) nastavte pin… (V10) na 1
-
Přidat novou událost
Když… TIME (vyberte čas, kdy se má světlo vypnout) nastavte pin… (V10) na 0
Nyní ovládání tepla
-
Přidat novou událost
Když je teplota V8 nižší než 30, nastavte pin… (V11) na 1
-
Přidat novou událost
Když je teplota V8 vyšší nebo rovna 30, nastavte pin… (V11) na 0
Až budete hotovi, zavřete Eventor a stiskněte tlačítko Přehrát na projektu.
Doufám, že pochopíte. Pokud začnete hrát s Eventorem, objevíte další možnosti a možnosti. V aktuálním nastavení je světlo a teplo automatizované a Heat2 a ventilátor ovládané ručně, ale všechny čtyři funkce lze ovládat jednoduše stisknutím tlačítka a vaše aktuální nastavení bude přepsáno, dokud nebudou splněny další podmínky.
Krok 4: Kód
Připojte desku k počítači a spusťte Arduino IDE, otevřete zdrojový kód a pojďme se na to rychle podívat…
Knihovny
Aby kód fungoval, musíte si stáhnout tři knihovny:
ESP8266WiFi.hDHT.hBlynkSimpleEsp8266.h (z knihovny Blynk)
Nastavení (změna podle vašich vlastních potřeb)
const char ssid = "VAŠE WIFI SSID"; const char pass = "VAŠE WIFI HESLO"; char auth = "VAŠE BLYNK PROJECT TOKEN"; (toto obdržíte e-mailem po vytvoření projektu v aplikaci Blynk)
A je to! Můžete nahrát kód a na telefonu zkontrolovat, zda je připojen.
Pro úplné odhalení stále používám opačné stavy pro relé 3 a 4 (Heat2 a ventilátor) od první verze. Viz obrázek. Teplo má stavy VYSOKÉ, když je tlačítko Blynk ZAPNUTO, NÍZKÉ, když je VYPNUTO. Heat2 má opačné stavy.
Krok 5: Pracujete …? Skvělý
Možná vymyslíte ještě lepší řešení používání Eventoru. Abychom objasnili používání LED widgetů: Když stisknete tlačítko nebo Eventor odešle událost sepnutí, kód nejprve přepne relé do požadovaného stavu a poté spustí virtuálníWrite pro zapnutí/vypnutí příslušné LED. Tímto způsobem vždy víte, zda byla vaše akce úspěšná (může to být příčinou problémů s připojením, ale nestalo se to, když jsem tuto aplikaci používal poslední dva měsíce).
Graf historie není nutný, ale je příjemnou funkcí, protože používá stejná data, která posíláme k označeným hodnotám, a ukládá je na server Blynk. Pomocí možnosti exportu můžete mít k dispozici mnohem více dat, což u předchozí verze nebylo možné.
Toto nastavení je univerzální. Věřím, že se mi podařilo vyčistit kód co nejvíce se stejnými funkcemi a dalšími. Můžete jím ovládat své terárium, akvárium, zahradu, aqua-phonic systémy, inkubátory atd. Jen se bavte a pokud se vám tento projekt líbí, zanechte komentář. Omlouvám se, pokud jsem přeskočil nějaké nastavení nebo něco není dostatečně jasné. V takovém případě mi pošlete PM a já to co nejdříve opravím. Děkuji za přečtení!