Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
OTÁZKA: Mali by ste záujem o novú verziu s použitím Wemos D1 mini a snímača DS18 (pre teplotu) a DHT22 (pre vlhkosť)? Dajte mi vedieť v komentároch. Vďaka!
Ak sa vám tento projekt páči, hlasujte o ňom v súťaži Wireless … Ďakujem vám všetkým veľmi pekne
Čau ľudia, po niekoľkých mesiacoch hrania s ESP8266 som konečne dostal novú verziu TerraControl, s ktorou som spokojný a ochotný sa s vami podeliť. Niektorí z vás si môžu všimnúť, že preskakujem verziu 2.0 … pretože táto verzia používala väčšinou starý kód s niekoľkými dodatkami, ale stále to bolo pekelné. Vďaka Blynkovi som dokázal skrátiť viac ako 600 riadkov kódu na 100 riadkov oveľa jednoduchšieho kódu!
Čo sa zmenilo
- Malé úpravy sú fyzické prepojenia. Hlavne kvôli senzoru DHT, ktorý nebolo možné pripojiť počas zavádzania v starej verzii. Teraz je všetko vyriešené a žiadne výpadky napájania nebudú rušiť vaše nastavenia.
- Žiadny webový server ESP8266. Čo je dobré, v tomto mi dôveruj.
- Úplná kontrola prostredníctvom aplikácie Blynk. Z ľubovoľného miesta na svete môžete ovládať čokoľvek, čo chcete. Viem, že to môže znieť ako reklama, ale naozaj som si Blynka obľúbil.
- Oveľa viac možností - celá domácnosť prepojená a ovládateľná/monitorovaná prostredníctvom jednej aplikácie.
Krok 1: Čo potrebujete…
- Doska NodeMCU 1.0 12E - 3,32 dolára
- Reléová doska - napríklad - 5,90 dolárov
- Snímač teploty a vlhkosti DHT22 (11) - 2,87 dolára
- Vzhľadom na povahu dosky NodeMCU (jej výkon je iba 3,3 V) budete musieť kúpiť dosku relé 3,3 V (v odkaze vyššie), alebo upraviť dosku 5 V alebo kúpiť modul logického prevodníka I2C - napríklad - 0,9 USD
- 5V zdroj (používam staršiu USB nabíjačku)
- drôty
- spájka
- kufrík/krabica
- Arduino IDE
Pripojenia NodeMCU
Dátový pin DHT22/11 D6
reléLight D1relayHeat D2relayHeat2 D5relayFan D9 (RX pin na NodeMCU)
Moduly musíte napájať podľa ich špecifikácií. Ak používate reléovú dosku 3,3 V, môžete ju napájať priamo z NodeMCU, v opačnom prípade musíte použiť externý 5 V.
Používam svoje staré diely a puzdro, potrebné iba na prepnutie dvoch vodičov …
Krok 2: Blynk Setup
Pre tých, ktorí nevedia, čo je Blynk, je to platforma s aplikáciami pre iOS a Android na ovládanie Arduina, Raspberry Pi a podobných aplikácií cez internet. Je to digitálny informačný panel, na ktorom môžete pre svoj projekt vytvoriť grafické rozhranie jednoduchým pretiahnutím miniaplikácií. Možno budete musieť kúpiť nejakú energiu v aplikácii Blynk, ale myslím si, že 4-5 dolárov je dobrá cena pre takýto projekt.
Začnime na zariadení Andorid (verzia pre systém iOS zatiaľ neumožňuje pridávanie miniaplikácií ani úpravu udalostí programu Eventor):
- Stiahnite si aplikáciu Blynk
- Zaregistrujte sa alebo sa prihláste (ak už máte účet)
- Klepnutím na „+“vytvorte nový projekt Pomenujte projekt a vyberte zariadenie, ktoré používate (v našom prípade je to ESP8266) a kliknite na „Vytvoriť“Do vašej poštovej schránky dostanete overovací token, budeme ho potrebovať neskôr
-
Na stránke projektu Blynk klepnite na „+“a pridajte:
- 4 tlačidlá
- 4 LED diódy
- 2 (označené) displejmi
- Hodiny reálneho času
- Oznámenie
- Eventor
- Graf histórie (voliteľné)
- Použite nastavenia miniaplikácií, ako je vidieť na poslednom obrázku (ak ho nastavíte inak, budete musieť zmeniť kód)
- V nastaveniach projektu (ikona matice hore) zapnite „Odoslať príkaz pripojený k aplikácii“.
- Zatvorte nastavenia a otvorte aplikáciu Eventor
Krok 3: Eventor
Pokračujme vo vytváraní udalostí Eventor …
Najprv nastavte ovládanie svetla:
-
Pridať novú udalosť
Keď… TIME (vyberte čas, kedy sa má svetlo rozsvietiť), nastavte kolík… (V10) na 1
-
Pridať novú udalosť
Keď… TIME (vyberte čas, kedy sa má svetlo vypnúť) nastavte kolík… (V10) na 0
Teraz ovládanie tepla
-
Pridať novú udalosť
Keď je teplota V8 nižšia ako 30, nastavte kolík … (V11) na 1
-
Pridať novú udalosť
Keď je teplota V8 vyššia alebo sa rovná 30, nastavte kolík … (V11) na 0
Keď ste hotoví, zatvorte Eventor a kliknite na tlačidlo prehrávania na projekte.
Dúfam, že pochopíte. Ak začnete hrať s Eventorom, objavíte ďalšie možnosti a možnosti. V aktuálnom nastavení je svetlo a teplo automatizované a vykurovanie 2 a ventilátor je ovládané ručne, ale všetky štyri funkcie je možné ovládať jednoducho stlačením tlačidla a až do splnenia ďalšej podmienky prepíše vaše aktuálne nastavenia.
Krok 4: Kód
Pripojte svoju dosku k počítaču a spustite Arduino IDE, otvorte zdrojový kód a poďme sa na to rýchlo pozrieť …
Knižnice
Aby kód fungoval, musíte si stiahnuť tri knižnice:
ESP8266WiFi.hDHT.hBlynkSimpleEsp8266.h (z knižnice Blynk)
Nastavenia (zmena podľa vlastných potrieb)
const char ssid = "VAŠA WIFI SSID"; const char pass = "VAŠE WIFI HESLO"; char auth = "VAŠA BLYNK PROJEKTOVÁ TOKEN"; (dostanete to e-mailom po vytvorení projektu v aplikácii Blynk)
To je všetko! Môžete nahrať kód a skontrolovať na svojom telefóne, či je pripojený.
Na úplné odhalenie stále používam opačné stavy pre relé 3 a 4 (Heat2 a ventilátor) z prvej verzie. Viď obrázok Teplo má stavy VYSOKÉ, keď je tlačidlo Blynk ZAPNUTÉ, NÍZKE, keď je VYPNUTÉ. Heat2 má opačné stavy.
Krok 5: Pracujete …? Skvelé
Môžete prísť s ešte lepším riešením používania programu Eventor. Aby sme objasnili používanie LED widgetov: Keď stlačíte tlačidlo alebo Eventor odošle prepínaciu udalosť, kód najskôr prepne relé do požadovaného stavu a potom odpáli virtuálny disk, aby zodpovedajúcu LED zapol/vypol. Vďaka tomu budete vždy vedieť, či bola vaša akcia úspešná (môže to byť príčinou problémov s pripojením, ale nestalo sa to, keď som túto aplikáciu používal posledné dva mesiace).
Graf histórie nie je potrebný, ale je príjemnou vlastnosťou, pretože používa rovnaké údaje, aké odosielam na hodnoty označené, a ukladá ich na server Blynk. Oveľa viac údajov môžete mať k dispozícii pomocou možnosti exportu, čo pri predchádzajúcej verzii nebolo možné.
Toto nastavenie je univerzálne. Verím, že sa mi podarilo kód vyčistiť čo najviac s rovnakými funkciami a ďalšími. Môžete ním ovládať svoje terárium, akvárium, záhradu, aquafonické systémy, inkubátory, atď. Len sa bavte a ak sa vám tento projekt páči, zanechajte komentár. Ospravedlňujem sa, ak som vynechal niektoré nastavenia alebo niečo nie je dostatočne jasné. V takom prípade mi pošlite PM a opravím to čo najskôr. Ďakujem za čítanie!