Moje nejstarší dcera bydlí v bytě, který jsme rekonstruovali. Součástí rekonstrukce byla i výměna kotle za modernější, ale z důvodů ceny zůstal zachovaný původní termostat, který sice plní základní funkci termostatu, ale s nikterak velkým komfortem. Napadlo mě tedy, že by bylo zajímavé zkonstruovat termostat vlastní s možností propojení s případnou budoucí domácí automatizací. Další úvaha pak byla, že když už budu vyvíjet takové zařízení, tak by si zasloužilo i reprezentativní vzhled. No a protože můj syn a nejmladší dcera mají ve svých bytech kotle Baxi, zatímco nejstarší dcera má Junkers, napadlo mě, že by bylo príma, kdyby temostat dokázal komunikovat s oběma typy přes jejich nativní sběrnice…
Jako námět pro vzhled a jednoduchost ovládání jsem vybral Nest termostat, který se mi vždycky hodně líbil, ale problémem byla mechanická konstrukce krabičky. Naštěstí jsem objevil (tehdejší) novinku od firmy Italtronic, která začala nabízet prakticky vzhledově identické krabičky EYEBox a objevil jsem, že zastoupení pro Českou republiku má firma Enika.Objednal jsem tedy díly stavebnice krabičky a Italtronic požádal o poskytnutí mechanických výkresů a 3D modelů pro konstrukci. 3D modely jsem sice nedostal, protože prý nejsem firma, ale výkresy pro jednotlivé varianty ano, takže jsem mohl začít s designem.
Bohužel se ale velmi brzy ukázal problém – díky omezené dostupnosti sortimentu variant krabičky jsem nemohl mít verzi s mřížkou, nebo otvory pro přívod vzduchu k čidlu teploty, takže jsem musel vymyslet nějaké jiné řešení měření. Nakonec jsem přišel s následující filozofií, která pak určila výslednou podobu elektoniky:
Těleso termostatu neobsahuje čidlo teploty – vím, je to divné a ve schématu nějaké čidlo teploty zůstalo, ale ve skutečnosti není ani osazené. Termostat pro získávání teploty používá buď Bluetooth senzory Xiaomi Mijia , nebo teploty, získané z Bluetooth hlavic RT2000BT z Lídlu (bohužel už vyprodané), nebo z levných 433MHz čidel z Číny. Tahle změna paradigmatu ohledně celého systému termostatu vyřeší i požadavek na centrální řízení všech radiátorů a umožní termostatu řídit kotel dle požadavků na teplo z každé místnosti a ne jen jedné, referenční. Takovéto schopnosti už originální Nest nemá.
Tedy zpět ke konstrukci elektroniky. Vzhledem k použití grafického LCD a Bluetooth komunikace nebude možné použít ESP8266, ale je třeba sáhnout po něčem výkonnějším – volba padla na ESP32, se kterým už pár projektů mám za sebou. Protože grafické operace jsou hodně náročné na paměť RAM a také proto, že Bluetooth knihovny do ESP32 jsou notoricky známé svojí velikostí, vybral jsem jako základ modul ESP32Wrover-B 16MB, který ke vnitřní RAM obvodu ESP32 přidává navíc 4MB PSRAM a je osazený 16MB paměti Flash. Elektroniku bylo – vzhledem ke konstrukci krabičky – třeba rozdělit na dvě části. Na horní desce je LCD, ESP32, SD karta (pro strýčka Příhodu), laserový dálkoměr VL53L0x, který používám jako detektor, že před termostatem někdo stojí (řízení podsvícení LCD), audio zesilovač a rádiové moduly. Schéma vypadá takto:a osazená deska pak takto:Na spodní desce pak je napájecí zdroj, rotační enkodér, tlačítka, obvody pro rozhraní ke kotli EMS (Buderus/Nefit/Junkers), OpenTherm (Baxi) a relé (pro obyčejné/starší kotle). Schéma vypadá takto:A osazená deska pak takto:Obě desky před montáží antén pak vypadají takto:Po montáži 433MHz rádia a antén pro 433 a 868MHz už ve spodní části krabičky moc prostoru nezbývá.Instalace do krabičky a sesazení obou desek na mezideskovém konektoru šlo naprosto bez problému, takže musím Italtronic pochválit za přesné výkresy. Problém ovšem byl, jak krabičku překrýt, protože (jak už jsem psal) díky omezené dostupnosti jsem koupil krycí sklíčko celé čiré. První pokus byl se samolepící fólií, který nedopadl příliš dobře. Pro zajímavost – na fotografii je krásně patrný pracující dálkoměr. Naštěstí mi v Enice nabídli potisk sklíčka dle zadání, takže výsledek pak vypadal podstatně lépe. Přesto jsem se ale neubránil chybám – FPC kabel z LCD modulu je vyosený o cca 1mm (což sice nijak nevadí, ale mě to štve) a footprint akčního tlačítka má prohozené vývody, takže jsem musel škrábat a přepojit jednu cestu. Jinak je ale vše, co zatím bylo třeba použít funkční, takže s hardware jsem spokojený. No a o software snad někdy příště, protože s tím moc spokojený nejsem (ale to jen proto, že nemám tolik času, abych se mu mohl věnovat a využít celého potenciálu této konstrukce…).
Po dlouhé době se mi rozsvítila čtečka s tím, že tu je nový příspěvek, který opět nezklamal. Prima nápad, velmi příjemné počtení! 🙂
Díky Petře. 🙂
Čtečka? To je něco, co sleduje stránky a když je nový článek, tak to dá vědět? To by se mi moc líbilo, jak se to, prosím, jmenuje?
Jinak termostat je moc pěkný, jen ten potisk sklíčka xpablo.cz bych si asi odpustil, působí jaksi lacině.
Čtečka je RSS/Atom reader. 😀
Děkuji, vyzkouším.
I am happy to say it’s an exciting post to read. I learn new information from your article. You are doing a great job. Keep it up
Thank You.
Super tip na krabičku. Sice to není nic extra levného, ale hezké krabičky prostě nejsou levné.
Štve mě, že nikdo nedělá „levný“ ovladač k termostatu. Tj. jen krabička s displejem, která bude ovládat termostat, který je umístěn někde jinde. A bude to zobrazovat třeba jen nastavenou teplotu a aktuální teplotu (z jiného čidla, umístěného na příhodném místě v místnosti).
Asi si to budu muset navrhnout a vyrobit 😉
Dobrý den, Italtronic vyrobil jednodušší krabičku EYEbox Simple, která sice neobsahuje otvor pro displej, ale lze jej CNC upravit (stejně tak i „mřížku“ atd.)
Dobrý den, děkuji za krásný návod na využití krabiček EYEbox.
Dobry den, moc pekne. Resim neco podobneho. respektive opentherm my jiz funguje. A vsak je napajen externim zdrojem a mam to stejne jako vy galvanicky oddelene. A vsak mam invenci dodelat i dalsi protocol eBus. Mel bych jeden dotaz. Resil jste napajeni zarizeni primo sbernici? Nebo je bezpecnejsi to napajet externim zdrojem? Uz i z povahy ceny kotle 🙂
Dekuji
S pozdravem
Marek
Dobrý den, musel jsem použít externí zdroj – wifi a podsvit displeje mají přece jen celkem odběr a nechtěl jsem přetížit/odpálit zdroj v kotli.