Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
gpoa2019:calm-thermostat [2019/05/02 09:10] Martin Ptáček vytvořeno |
gpoa2019:calm-thermostat [2019/05/02 11:29] (aktuální) Martin Ptáček |
||
---|---|---|---|
Řádek 4: | Řádek 4: | ||
===== Assignment ===== | ===== Assignment ===== | ||
- | The project should make use of: DHT22 (digital temperature, humidity sensor), Relay switch (output for the boiler), LCD HT1621 (7-seg display; create new universal library), Photoresistor (for brightness settings), Quadrature encoder and capacitive buttons (for control; create custom library for ESP32), Connectivity with Home Assistant IoT platform. The final solution consisting of hardware, electronics & software should be compliant with the CALM Concept, namely with regards to reliability, easy and logic of use. | + | The project should make use of: DHT22 (digital temperature, humidity sensor), Relay switch (output for the boiler), LCD HT1621 (7-seg display; acreate new universal library), Photoresistor (for brightness settings), Quadrature encoder and capacitive buttons (for control; create custom library for ESP32), Connectivity with Home Assistant IoT platform. The final solution consisting of hardware, electronics & software should be compliant with the CALM Concept, namely with regards to reliability, easy and logic of use. |
---- | ---- | ||
Řádek 16: | Řádek 16: | ||
{{esp32.jpg|ESP32 DevKitC}} | {{esp32.jpg|ESP32 DevKitC}} | ||
- | For temperature sensing I have chosen DHT22 module. Even though it is definitely not the cheapest solution, it provides sufficient temperature accuracy, +- 0.5°C as advertised. Moreover, it provides als relative humidity measurement, which is very handy. The boiler that is connected to thermostat is controlled by simple relay connecting two wires together. For control of desired temperature in the old-days way I used a standard quadratic encoder, the same that is today often used in 3D printers. There is a necessity of putting a capacitor at least on the CLK signal (but better both quadrature signals) because the testing of software filtration didn't succeed and I reckon it's not worth the work. | + | For temperature sensing I have chosen DHT22 module. Even though it is definitely not the cheapest solution, it provides sufficient temperature accuracy, +- 0.5°C as advertised. Moreover, it provides also relative humidity measurement, which is very handy. The boiler that is connected to thermostat is controlled by simple relay links two wires together. For control of desired temperature in the old-days way I used a standard quadratic encoder, the same that is today often used in 3D printers. There is a necessity of putting a capacitor at least on the CLK signal (but better both quadrature signals) because the testing of software filtration didn't succeed and I reckon it's not worth the work. |
A lot of attention was placed on choosing the right display for the thermostat. The [[https://www.aliexpress.com/item/LCD-Module-2-4-inch-6-Digit-7-Segment-LCD-Display-Module-HT1621-LCD-Driver-IC/32885549612.html?spm=a2g0s.9042311.0.0.27424c4dBDDfXT|HT1621 LCD Display]] is not only reasonably priced but also provides conveniently large digits. The downside is the software available for the IC. Unfortunately none of the few available libraries possessed the necessary features I demanded, therefore I started the development of my own (not from scratch). | A lot of attention was placed on choosing the right display for the thermostat. The [[https://www.aliexpress.com/item/LCD-Module-2-4-inch-6-Digit-7-Segment-LCD-Display-Module-HT1621-LCD-Driver-IC/32885549612.html?spm=a2g0s.9042311.0.0.27424c4dBDDfXT|HT1621 LCD Display]] is not only reasonably priced but also provides conveniently large digits. The downside is the software available for the IC. Unfortunately none of the few available libraries possessed the necessary features I demanded, therefore I started the development of my own (not from scratch). | ||
Řádek 30: | Řádek 30: | ||
===== IoT Integration ===== | ===== IoT Integration ===== | ||
- | Originally I used a MQTT broker-client architecture using [[flespi.io|flespi.io]]. The problem with this solution was an inconvenient scalability and user interface solution. Then I noticed a very elabora project of [[hass.io| Home Assistant]] that provides many problems elegantly solved. On the other hand, it has also some downsides. At the end, I was using a combination of MQTT client (ESP32) that is connected to Home Assistant centre (Raspberry Pi 3). | + | Originally I used a MQTT broker-client architecture using [[flespi.io|flespi.io]]. The problem with this solution was an inconvenient scalability and user interface solution. Then I noticed a very elaborate project of [[hass.io| Home Assistant]] that provides many problems elegantly solved. On the other hand, it has also some downsides. Its development, especially [[https://esphome.io/|ESPHome]] integration platfrom, is still in rapid progress, which caused me many problems. At the end, I was using a combination of MQTT client (ESP32) that is connected to Home Assistant (Raspberry Pi). |
===== Summary ===== | ===== Summary ===== | ||
- | Many of the problems of CalmFire thermostat were solved in this project and the thermostat is already in the state of capability to regulate temperature in a building. On the other hand, there are still problems to be solved and especially, to concentrate to fulfil the CALM technology resolution, which has so far not been deeply considered. | + | Many of the problems of CalmFire thermostat were solved in this project and the thermostat is already capable of regulating temperature in a building. On the other hand, there are still problems to be solved and especially, to concentrate on reaching the CALM technology goal, which has so far not been deeply considered. |
{{currentState.jpg|Current state of CalmFire thermostat}} | {{currentState.jpg|Current state of CalmFire thermostat}} | ||
===== Further Development ===== | ===== Further Development ===== | ||
- | In the future development, there will be a construction of a PCB board (probably DIY to be accessible to everyone) and construction of a 3Dprinted/laser cuted case and mounts. | + | In the future development, there will be a construction of a PCB board (probably DIY to be accessible to everyone) and construction of a 3Dprinted/laser cutted case and mounts. |
- | ===== References ===== | + | ===== Sources ===== |
- | https://github.com/Brunez3BD/WIFIMANAGER-ESP32 | + | * https://github.com/Brunez3BD/WIFIMANAGER-ESP32 |
- | https://github.com/adafruit/Adafruit_Sensor | + | * https://github.com/adafruit/Adafruit_Sensor |
- | https://github.com/adafruit/DHT-sensor-library | + | * https://github.com/adafruit/DHT-sensor-library |
- | https://github.com/knolleary/pubsubclient | + | * https://github.com/knolleary/pubsubclient |
- | https://github.com/skorokithakis/kicad-lib | + | * https://github.com/skorokithakis/kicad-lib |
- | https://hackaday.io/project/13483-esp32-kicad-library | + | * https://hackaday.io/project/13483-esp32-kicad-library |
+ | * http://www.14core.com/wiring-the-6-digit-7-segment-2-4-inch-ht1621-lcd-display-module-on-microcontroller/ |