Autonomous Internet heating with ESP8266

Hello everyone, today I would like to introduce to you my project that I have been doing for 2 years, and I have added something to it from time to time, and today I would like to introduce you to its full functionality. You will learn what the system knows, why it is autonomous, why I chose ESP8266 instead of Arduin and what technology I used for this web-based heating project. The system is capable of controlling home heating, originally designed for a gas boiler room.

The web interface is designed for use by laypersons, so it is suitable for everyone, regardless of the experience of working with a computer or a web browser. What a user needs to know on a page can be found in the menus and sub-pages that the system can manage. I use 6 temperature sensors DS18B20 for recording room temperatures as well as for the water temperature in the radiators or the circulating circuit of the boiler.

The system allows you to control two outputs - physical relays for:
Heating - Optional Hysteresis Boiler with Optional Temperature Sensor for Control, Optional Reference Temperature
Circulation pump - optional reference temperature, optional temperature sensor for control, switch if the temperature is set below - no hysteresis

I can control both these outputs in two basic modes:
Automatic - works autonomously, with hysteresis (boiler), reference temperatures, selected sensors
Manual - manual ON / OFF - fixed for an indefinite period (user warned)

I used the NodeMCU v3 Lolin development board with the ESP8266 chip due to wifi connectivity with good AP reach. It supports an encrypted HTTPS connection to the web where it sells data to a server that processes them further. Besides sending temperatures, the Plate also performs an important function in triggering scripts that allow the system to be autonomous - it can manage itself based on measured temperatures, hysteresis, reference temperatures.

So, at regular intervals, the board triggers the logic of a system that can change the ON / OFF output states (the user runs the same background scripts if they are on the AJAX call). The board also downloads current information about reference temperatures, hysteresis and, in the event of a wifi connection failure, or a web page, the board is further controlled by an autonomous household with the latest known reference temperatures and hysteresis. When you establish a connection to the site, it is updated and managed by the site immediately.

The user interface allows you to:
Change the names of the thermometers, for example by room
View Real-Time Temperature Data (Overview tab: data changes automatically in the table)
Control heating, circulating pump
View 24-hour graphs for minute-minute outputs and 4-minute imaging data
Additional charts with 7-day history
Remote restart boards
Login system
Login log in with IP address (IPv4 and IPv6)
Changes log on the system when the microcontroller switches the heating, shut down, and so on.
Change the login information to the site
The source code for the microcontroller directly on the web
The system is brisk, easy to maintain. The user can also see the day and time when the chart failure occurred, and also when the temperature was measured, or when the output relay was active. The board can also send other important information on the web - processor time, Wifi hotspot signal strength, name of wifi hotspot (option to select multiple in NodeMCU).

These additional values ​​can help the system as such from the point of view of automatically rebooting the board after a month or a week, and so on. The entire web interface uses PHP scripts for functionality, AJAX PHP scripts for user web presence, ControlR template, Bootstrap grid system.
Other interesting projects can also be found on my website: https://arduino.php5.sk
Photo gallery:





Comments

Popular posts from this blog

Web scraper via Arduino & NodeMCU & ESP32

ESP32 control via UDP datagrams

Biking on Google Maps - Arduino Leonardo (32u4) - HID device