Ahoj všetci, dnes by som vám rád predstavil môj projekt, ktorý som tvoril 2 roky, čas od času som do neho niečo pridal a dnes by som vám rád predstavil jeho plnú funkcionalitu. Dozviete sa, čo systém vie, prečo je autonómny, prečo som zvolil ESP8266 namiesto Arduina a aké technológie som pre tento webovo orientovaný projekt vykurovania použil. Systém je schopný riadiť vykurovanie v dome, pôvodne navrhnutý pre chatu s plynovým kotlom.
Webové rozhranie je tvorené pre používanie laikami, teda je vhodný pre každého bez ohľadu na skúsenosti s prácou s počítačom, či webovým prehliadačom. To, čo používateľ potrebuje vie na stránke nájsť v menu a na jednotlivých podstránkach, ktorými vie systém riadiť. Používam 6 teplotných senzorov DS18B20 pre záznam teplôt v miestnostiach a taktiež aj pre teplotu vody v radiátoroch, respektíve v obehovom okruhu kotla.
Systém umožňuje riadiť dva výstupy - fyzické relé pre:
- Kúrenie - kotol s voliteľnou hysterézou s voliteľným senzorom teploty pre riadenie, voliteľná referenčná teplota
- Obehové čerpadlo - voliteľná referenčná teplota, voliteľný senzor teploty pre riadenie, spína ak je teplota pod nastavenú - bez hysterézy
Oba tieto výstupy viem ovládať v dvoch základných režimoch:
- Automatický - pracuje sám autonómne, s hysterézou (kotol), s referenčnými teplotami, zvolenými senzormi
- Manuálny - manuálne ZAP/VYP - natvrdo na dobu neurčitú (používateľ je upozornený)
Vývojovú dosku NodeMCU v3 Lolin s čipom ESP8266 som využil z dôvodu wifi konektivity s dobrým dosahom k AP. Podporuje šifrované HTTPS spojenie na web, kde predáva dáta serveru, ktorý ich ďalej spracuje. Doska okrem odosielania teplôt plní aj dôležitú funkciu v spúšťaní scriptov, ktoré umožňujú tomuto systému byť autonómnym - dokáže sa riadiť sám na základe nameraných teplôt, hysterézy, referečných teplôt.
Doska teda v pravidelných intervaloch spúšťa logiku systému, ktorý dokáže zmeniť stavy výstupov ZAP/VYP (používateľ spúšťa rovnaké scripty na pozadí ak je na webe AJAX-ovými volaniami). Doska si sťahuje aj aktuálne informácie o referenčných teplotách, hysteréze a v prípade výpadku wifi spojenia, alebo webstránky doska ďalej riadi autonómne domácnosť s posledne známymi referenčnými teplotami a hysterézou. Pri nadviazaní spojenia s webom sa okamžite aktualizuje a riadi sa podľa webu.
Webové rozhranie z hľadiska používateľa umožňuje:
- Zmeniť názvy teplomerov, napr podľa miestností
- Prezeranie real-time dát o teplotách (Karta Prehľad: dáta sa menia automaticky v tabuľke)
- Riadiť kúrenie, obehové čerpadlo
- Prezerať grafy za 24 hodín pre výstupy s minútovou reprezentáciou a pre teploty so 4 minútovou reprezentáciou nameraných dát
- Doplnkové grafy so 7-dňovou históriou
- Vzdialený reštart dosky
- Login systém
- Log prihlásení so záznamom IP adresy (IPv4 aj IPv6)
- Log zmien v systéme, kedy mikrokontróler prepol kúrenie, vypol, a pod.
- Zmena login informácii do webu
- Zdrojový kód pre mikrokontróler priamo na webe
Systém je svižný, ľahko udržiavateľný. Používateľ si na webe môže pozrieť aj deň a čas, kedy došlo k výpadku dosky v prehľadom grafe a taktiež kedy bola aká teplota nameraná, či kedy bolo ktoré relé výstupu aktívne. Doska môže na web zasielať aj ďalšie dôležité informácie - procesorový čas, sila signálu Wifi hotspotu, názov wifi hotspotu (možnosť navoliť viacero v programe pre NodeMCU).
Tieto doplnkové hodnoty môžu pomôcť systému ako takému z pohľadu plánovania automatického reštartu dosky po mesiaci, či týždni a podobne. Celé webové rozhranie používa PHP scripty pre funkcionalitu, AJAX-ové volania PHP scriptov pri účasti používateľa na webe, šablónu ControlR, grid systém Bootstrap.
Viac o tomto projekte s možnosťou jeho vyskúšania nájdete na adrese:
http://arduino.clanweb.eu/autonomne-vykurovanie.php
Programová implementácia pri záujme u autora: martinius96@gmail.com
Fotogaléria:
Schéma zapojenia pre autonómne vykurovanie s mikrokontrolérom NodeMCU (ESP8266):