Vícezónový termostat
Vícezónový termostat s Wemos D1 mini
Jak to začalo?
V obýváku máme krb a o víkendu si v něm zatopíme. Jenže pak je v obýváku vedro a ve zbytku baráku zima. Hlavně děti si stěžovaly, že mají v patře zimu. Je tam sice průduch z krbu, ale ten ne vždy stačí. Koukal jsem se po různých bezdrátových termostatech, ale přišly mi moc drahé. Zároveň se v mém okolí začaly objevovat různé Raspberry, Arduina, ESP... a Aliexpress.Tak jsem začal přemýšlet o tom, že bych si mohl takový termostat vyrobit.
Zadání v 1.0
Nic víc než klasický týdenní termostat, ale s možností přepínat referenční místnost. Tzn. topit podle teploty ve zvolené místnosti.Problém: termostatické hlavice na radiátorech. Počítám s ukázněností uživatelů, že v referenční místnosti otevřou ventily dokořána a naopak v druhé je nastaví podle potřeby.
Tápání
Začal jsem od píky a koupil si na Aliexpress UNO R3 starter kit (čínský klon Arduina).Rozblikal jsem diodu, pohrál si s různými čidly, prošel tutoriály třeba na: arduino8.cz a pak jsem našel člověka, který řešil podobný problém a vyřešil: https://plus.google.com/+MartinMikala/posts/SK7BnVkZW7L. Koupil jsem si teploměry Sencor SWS T25 a přijímač RXB6 433MHz s Arduinem to fungovalo, jenže s ESP8266 konkrétně Wemos D1 ne, protože Arduino jede na 5V a ESP na 3,3V. A to byl pro mě, spíše programátora než elektrikáře, nepřekonatelný problém.
Proč raději ESP než Arduino? Protože s ESP se jednodušeji připojím na WiFi a má i souborový systém SPIFFS.
A proč chci termostat cpát do sítě? Přijde mi jednodušší vytvořit uživatelské rozhraní přes web než přes display a tlačítka přímo na termostatu. A pak můžu sledovat teploty třeba na thingspeak.com.
Zadání v 1.1
1. WiFi teploměr založený na ESP8266 s teplotním čidlem2. termostat ESP8266 s teplotním čidlem a relátkem, s webovým rozhraním pro programování týdenního termostatu a přepínáním referenční místnosti, případně ruční změny požadované teploty.
Řešení
Nakonec je všechno trochu jinak. Již dříve jsem narazil na Domoticz. Odradila mě ale potřeba serveru. Funguje to i na Raspberry, kterou mám, ale provozuji na ní Libreelec s KODI a tam by bylo komplikované přidávat Domoticz. A pak jsem si udělal radost a pořídil Synology, nebyl tedy důvod nevyzkoušet Domoticz.Nakonec se to ukázalo snadné. Kdyby to někoho zajímalo, zde je návod, spíše tedy popis, jak jsem postupoval já.
Seznam součástek je jednoduchý:
Teploměr:
1x Wemos D1 mini (ESP-12N)
1x BME280 (čidlo teploty, vlhkosti a tlaku vzduchu)
Termostat:
1x Wemos D1 mini
1x BME280
1x relé
Ještě jsem si vyrobil teploměr, který mi měří teplotu trubek (provrtat trubku, abych změřil teplotu vody, jsem se neodvážil) vstup do topení, vracečka z topení, vstup do bojleru a vracečka z bojleru.
1x Wemos D1 mini
1x odpor 4k7
4x DS18B20
čidla se připojí na I2C sběrnici a relé na libovolný GPIO
SW:
ESPEasy
Domoticz (Arm 32/64bit, Windows, Linux, MacOSX)
Wemos je potřeba přeflešovat, je tam návod, jak přeflešovat a jak ho připojit k síti. Zvládl jsem to já, zvládnete to taky. 😉
Vyberete zařízení, a je to. Jen zde uvedu, že tady můžete čidlo kalibrovat. Připojíte se na zařízení a v Devices - Edit zapíšete vzorec do pole Formula. Ono se to dá i v Domoticz, ale tam mi to nefungovalo.
To máme zařízení a teď vše připojit k Domoticz, abychom mohli naprogramovat termostat. Šikovný návod je zde:
Je tam i příklad, jak nakreslit program pro termostat v Blockly. Jenže v Blockly se nedá použít hystereze. Tak jsem se vrhnul na LUA a našel kód, který jsem si upravil.
Ale popořadě.
Dle výše uvedeného videa jsem si přidal HW:
a zařízení:
ESP-BME-01 - Wemos s BME280 a relé připojený ke spínači kotle v obýváku
ESP-BME-02 - Wemos s BME280 umístěný v pokoji
ESP-DS18B20 - Wemos s teplotními čidly na kotli a bojleru
Dummy - obecné zařízení na němž lze vytvořit virtuální čidla zde Termostat a Přepínač termostatu.
Zde je upravený program. Podle hodnoty Přepínače termostatu a teploty nastavené na Termostatu spíná relé (Spínač kotle).
A teď ještě nastavit týdenní program. To se dělá tak, že u Termostatu nastavíte časovač.
A to je vše. Vlastně není.
Závěr
Výhody:- jednoduché a funkční
- ovládání přes web i z mobilu
- máte-li otevřenou domácí síť (já ne) můžete ovládat i vzdáleně
- Domoticz ukládá historii, vidíte grafy s průběhem teplot apod.
Nevýhody:
- potřeba serveru
- závislost na WiFi (přišli jsme domů a byla zima - vypadl WiFi router)
Toto je vlastně můj první projekt dovedený do funkčního konce. Zbývá to nejtěžší. Uzavřít těch pár součástek do nějaké krabičky. Hnízdo z drátů dlouhodobě neprojde.
Nyní bych to chtěl zkombinovat, abychom při výpadku WiFi nezmrzli. Zatím mám vedle položený původní termostat, který bych mohl v případě nouze během 5 minut vrátit.
A co mi ten rok s Arduinem a Wemos přinesl? Mám nového koníčka. Zjistil jsem, že se u mě začíná projevovat stařecká vetchozrakost. Nevidím na pájení. Levnější to moc není. Už jsem utratil na Ali skoro 3 000,-.
Super poučný článek. Taky teď uvažujeme nad novým termostatem, protože mi přijde, že ten současný neodpovídá našim požadavkům. Trochu mě u toho vašeho ale děsí ta závislost na Wi-Fi. Když vypadne Wi-Fi a zpátky naskočí, termostat se srovná nebo je potřeba něco znovu nastavit? Jde o to, že bydlíme na vesnici na konci světa a to internetové připojení je tady... no prostě vesnické. :) Teď ale ještě chci vyměnit termostatické ventily a termostat jako takový budu řešit až posléze v létě. Nicméně díky za tip! :)
OdpovědětVymazatPozor! WiFi nerovná se internet. Právě jsem to dělal tak, aby to na internetu bylo nezávislé.
VymazatPo naskočení WiFi by se to srovná. On ten termostat je vlastně "hloupý", jen posílá data na Domoticz a přijímá pokyny k sepnutí kotle.