Close
0%
0%

Economical and Automated Home Heating System

Blynk & ESP8266 programed with MicroPython for controlling central heating system.

Similar projects worth following
Winter Is Coming :)
The house is heated by a central heating of 9kW which is a significant blow to my pocket :( That's why I'm making the IoT device that will support the thermostat that regulates the temperature. Normal people set the thermostat to 22°C and leave the house, but I'm not one of them :)
I need to be able to see the temperature in the apartment over the internet and, if necessary, to turn the heating on. The thermostat can only turn on the heating every day at a programmed time, and if I come earlier or do not come home at all ( yeah we all know that's not gonna happen but let the man dream), I need to be able to switch the heating on / off remotely.
That's why I'm making a Blynk application that can independently from the thermostat turn the heating on and also enables me to turn it off in case I decide to go out drinking with friends after work :)
The math is clear - less money for an electric bill,more money for alcohol!

The project consists of an ESP8266 module which is  programmed into MicroPython. For some reason, the Blynk library can not be loaded onto my module for RAM, so I had to use the Blynk API.

The ESP8266 measures the temperature and humidity of the room every minute, and in order to know that the heating is on, I added the DS18S20, which measures the water temperature in the boiler.

Now I always know if the heating has been turned on (I see that the temperature of the water in the system is rising) and if necessary I can always turn the heating on / off.

 Blynk app :

On one graphic I can see all the necessary parameters and with one click  I can turn the heating on or turn it off independently from the thermostat. Each time you update the ESP8266 it reads the RTC data  from the Blynk server, performs all the necessary measurements and it updates the time in the app. This allows me to see if the home router is working or not. If it malfunctions and ESP8266 does not have an internet access and thus control, the thermostat will continue to adjust the temperature according to the parameters set.

Thing Speak :

Blynk is a great thing, but there are some limitations when it comes to graphic display, so I also send everything to Thing Speak where I can use Matlab to make additional improvements. This is the plot of water temperature in the boiler for a period of 24 hours. It looks like the heating was turned on couple times.

  • 1 × ESP8266
  • 1 × DHT22
  • 1 × LM7833
  • 2 × 10uF Capacitor
  • 2 × 0.1uF Capacitor

View all 13 components

  • Data logging with Blynk Terminal

    Marko Dragoslavic11/05/2017 at 19:56 0 comments

    Device should be down only if the internet is down. If sensor causing problems script continuously reset ESP8266 board until a sensor is fixed.  The script should handle problematic sensor and continue to update other sensors. Picture show downtime before handling problems. Each time when sensor fali Blynk update terminal with name of fault sensor and time of fail.

  • Disabling Thermostat Regulation

    Marko Dragoslavic11/01/2017 at 08:23 0 comments

    In rare occasion I want to  block home heating. Thermostat is programed to turn on heating every day at specific time and it operates independently. This circuit can shut down home heating in every moment regardless of thermostat status. 

  • Logging REPL response figure out downtime time

    Marko Dragoslavic10/31/2017 at 16:06 0 comments

    I'm loging data with MicroPython REPL prompt

    2017-10-30 22:24:43 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    017-10-30 22:28:14 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-30 22:37:07 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-30 22:44:56 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-30 22:53:51 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-30 23:12:39 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-30 23:20:20 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-30 23:27:02 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-31 00:00:04 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-31 00:48:16 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-31 10:47:06 ets Jan  8 2013,rst cause:1, boot mode:(3,0)
    2017-10-31 10:53:40 ets Jan  8 2013,rst cause:1, boot mode:(3,0)
    2017-10-31 11:01:31 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-31 11:12:33 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-31 11:16:01 ets Jan  8 2013,rst cause:4, boot mode:(3,0)
    2017-10-31 11:23:41 ets Jan  8 2013,rst cause:4, boot mode:(3,0)

    Writed python script to figure out problem, it seems that watchdog timer reset ESP board.  Trying to increase wdt timeot. Link

    Read more »

  • Downtime 4h

    Marko Dragoslavic10/30/2017 at 16:16 0 comments

    Something is wrong :) ESP should reset after 5 update exception.  I will log serial port  REPL to figure out what happened.

  • Blynk RTC format problem [solved]

    Marko Dragoslavic10/30/2017 at 09:16 0 comments

    I am currently testing the stability of the system . Everything is connected only to monitor the operation of the system.

    I have not yet decoded the Blynk RTC time format. I am working on that instead of this it displays the exact date and time when the measurements were performed.

    Update: 

    Read more »

View all 5 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates