Hello everyone , I would like to present a project which I'm going for some months, it is a thermostat for home with touch Nextion screen interface.
In addition to performing the normal functions it takes care of downloading the local weather by wunderground.com.
It will be implemented on an outdoor unit equipped with a temperature sensor , humidity and a solenoid valve for irrigation.
Obviously, the system is integrated with Blynk , which allows it to be controlled by its app.
It is a work in progress but the system is functioning , apart from the outdoor unit that will be available shortly.
Here the link to github for code and the necessary files.
And here the video.
Great project Thomas! Did you consider using a Particle Photon instead of the Mega/ESP8266 combination? Thank you for sharing!
Nice, planning geofence for it?
thomas, check for instance tado.com .. it would most likely require a dedicated android app though since you need location of the user (willing to help with android dev)
I understand, this is not planned function, I use the app Blynk that does not have this functionality, maybe in the future ...
could you also please attache library files, some of them are missing.
Thanks in advance
Hi, I've added them on repository and update Blynk library need after domain change.
Hello Thomas! I did it in your project. Thanks you for sharing!
- Here the temperature is below freezing. The negative numbers do not appear correctly on the screen Nextira (65535). Yet the Nextira Editor. v0.41
- // Blynk.syncVirtual (V11); It does not work, freeze program.
- My Aruino 1280 Mega Panel can not handle the watchdog reset. Endless reset cycles produce.
- Regular synchronization program Freezes associated with 50% of cases. The first synchronization is usually succeed.
Stabilizing the problem:
BLYNK_WRITE(V11)//se vengono scritti valori su pin virtuale 11 ovvero il pin del meteo dal rapberry
Week0 = param.asStr();
meteo0 = icontonumber(param.asStr());
t0max = param.asInt();
t0min = param.asInt();
ws0 = param.asInt();
Tchw0 = param.asStr();
Week1 = param.asStr();
meteo1 = icontonumber(param.asStr()); //7
t1max = param.asInt(); //8
t1min = param.asInt(); //9
ws1 = param.asInt();
Tchw1 = param.asStr();
Week2 = param.asStr();
meteo2 = icontonumber(param.asStr()); //13
t2max = param.asInt(); //14
t2min = param.asInt(); //15
ws2 = param.asInt();
Tchw2 = param.asStr();
Week3 = param.asStr();
meteo3 = icontonumber(param.asStr()); //19
t3max = param.asInt(); //20
t3min = param.asInt(); //21
ws3 = param.asInt();
Tchw3 = param.asStr();