Hello I am new with Blynk… I am programming on ESP8266 Wifi module and I am using iOS App …
I am trying to create multiple thermostats and I want to optimize code, you will understand me If you see the code…
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <TimeLib.h>
#include <WidgetRTC.h>
#include <DallasTemperature.h>
#include <OneWire.h>
BlynkTimer timer;
WidgetRTC rtc;
OneWire oneWire(2), tep2(0);
DallasTemperature sensors(&oneWire);
DallasTemperature sensors2(&tep2);
char auth[] = "xxxx";
char ssid[] = "xx";
char pass[] = "xx";
float temp = 0;
float temp2 = 0;
double setTemp;
double setTemp2;
void setup()
{
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendSensor);
timer.setInterval(10000L, realTime);
rtc.begin();
sensors.begin();
sensors2.begin();
}
void loop() {
Blynk.run();
timer.run();
}
/* ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× */
BLYNK_CONNECTED()
{ Blynk.syncAll(); }
BLYNK_WRITE(V10)
{ setTemp = param.asDouble(); }
BLYNK_WRITE(V11)
{ setTemp2 = param.asDouble(); }
void sendSensor() {
sensors.requestTemperatures();
temp = sensors.getTempCByIndex(0);
sensors2.requestTemperatures();
temp2 = sensors2.getTempCByIndex(0);
Blynk.virtualWrite(V2, "add", 1, "Teplota #1", temp+ String(" °C"));
Blynk.virtualWrite(V2, "add", 2, "Teplota #2", temp2+ String(" °C"));
Blynk.virtualWrite(V2, "add", 3, "Teplota #3", "00.00°C");
Blynk.virtualWrite(V2, "add", 4, "Teplota #4", "00.00°C");
Blynk.virtualWrite(V2, "add", 5, "Teplota #5", "00.00°C");
Blynk.virtualWrite(V1, "add", 1, "Vlhkosť #1", "00.00 %");
Blynk.virtualWrite(V1, "add", 2, "Vlhkosť #2", "00.00 %");
Blynk.virtualWrite(V1, "add", 3, "Tlak #1", "0.0 bar");
Blynk.virtualWrite(V1, "add", 4, "Tlak #2", "0.0 bar");
Blynk.virtualWrite(V1, "add", 5, "Tlak #3", "0.0 bar");
if (temp > setTemp+1){
digitalWrite(4, LOW);
}
else if (temp < setTemp) {
digitalWrite(4, HIGH);
}
if (temp2 > setTemp2+1){
digitalWrite(3, LOW);
}
else if (temp2 < setTemp2) {
digitalWrite(3, HIGH);
}
}
void realTime() {
String currentTime = String(hour()) + ":" + minute();
String currentDate = String(day()) + "." + month() + "." + year();
}