part 2
void blynk_update()
{
if ( update_blynk_status[0] )
{
update_blynk_status[0] = 0;
Blynk.virtualWrite(V22, led_status[0]);
}
if ( update_blynk_status[1] )
{
update_blynk_status[1] = 0;
Blynk.virtualWrite(V23, led_status[1]);
}
if ( update_blynk_status[2] )
{
update_blynk_status[2] = 0;
Blynk.virtualWrite(V24, led_status[2]);
}
if ( update_blynk_status[3] )
{
update_blynk_status[3] = 0;
Blynk.virtualWrite(V25, led_status[3]);
}
if ( update_blynk_status[4] )
{
update_blynk_status[4] = 0;
Blynk.virtualWrite(V26, led_status[4]);
}
if ( update_blynk_status[5] )
{
update_blynk_status[5] = 0;
Blynk.virtualWrite(V27, led_status[5]);
}
if ( update_blynk_status[6] )
{
update_blynk_status[6] = 0;
Blynk.virtualWrite(V28, led_status[6]);
}
if ( update_blynk_status[7] )
{
update_blynk_status[7] = 0;
Blynk.virtualWrite(V29, led_status[7]);
}
if ( update_blynk_status[8] )
{
update_blynk_status[8] = 0;
Blynk.virtualWrite(V30, led_status[8]);
}
if ( update_blynk_status[9] )
{
update_blynk_status[9] = 0;
Blynk.virtualWrite(V31, led_status[9]);
}
if ( update_blynk_status[10] )
{
update_blynk_status[10] = 0;
Blynk.virtualWrite(V32, led_status[10]);
}
if ( update_blynk_status[11] )
{
update_blynk_status[11] = 0;
Blynk.virtualWrite(V33, led_status[11]);
}
if ( update_blynk_status[12] )
{
update_blynk_status[12] = 0;
Blynk.virtualWrite(V34, led_status[12]);
}
if ( update_blynk_status[13] )
{
update_blynk_status[13] = 0;
Blynk.virtualWrite(V35, led_status[13]);
}
if ( update_blynk_status[14] )
{
update_blynk_status[14] = 0;
Blynk.virtualWrite(V36, led_status[14]);
}
if ( update_blynk_status[15] )
{
update_blynk_status[15] = 0;
Blynk.virtualWrite(V37, led_status[15]);
}
if ( update_blynk_status[16] )
{
update_blynk_status[16] = 0;
Blynk.virtualWrite(V38, led_status[16]);
}
if ( update_blynk_status[17] )
{
update_blynk_status[17] = 0;
Blynk.virtualWrite(V39, led_status[17]);
}
if ( update_blynk_status[18] )
{
update_blynk_status[18] = 0;
Blynk.virtualWrite(V40, led_status[18]);
}
if ( update_blynk_status[19] )
{
update_blynk_status[19] = 0;
Blynk.virtualWrite(V41, led_status[19]);
}
if ( update_blynk_status[20] )
{
update_blynk_status[20] = 0;
Blynk.virtualWrite(V42, led_status[20]);
}
if ( update_blynk_status[21] )
{
update_blynk_status[21] = 0;
Blynk.virtualWrite(V43, led_status[21]);
}
if ( update_blynk_status[22] )
{
update_blynk_status[22] = 0;
Blynk.virtualWrite(V44, led_status[22]);
}
if ( update_blynk_status[23] )
{
update_blynk_status[23] = 0;
Blynk.virtualWrite(V45, led_status[23]);
}
if ( update_blynk_status[24] )
{
update_blynk_status[24] = 0;
Blynk.virtualWrite(V46, led_status[24]);
}
if ( update_blynk_status[25] )
{
update_blynk_status[25] = 0;
Blynk.virtualWrite(V47, led_status[25]);
}
if ( update_blynk_status[26] )
{
update_blynk_status[26] = 0;
Blynk.virtualWrite(V48, led_status[26]);
}
if ( update_blynk_status[27] )
{
update_blynk_status[27] = 0;
Blynk.virtualWrite(V49, led_status[27]);
}
if ( update_blynk_status[28] )
{
update_blynk_status[28] = 0;
Blynk.virtualWrite(V50, led_status[28]);
}
if ( update_blynk_status[29] )
{
update_blynk_status[29] = 0;
Blynk.virtualWrite(V51, led_status[29]);
}
if ( update_blynk_status[30] )
{
update_blynk_status[30] = 0;
Blynk.virtualWrite(V52, led_status[30]);
}
}
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
Serial2.begin(9600);
Serial3.begin(9600);
pinMode(SDCARD_CS, OUTPUT);
digitalWrite(SDCARD_CS, HIGH); // Deselect the SD card
pinMode(24, OUTPUT);
pinMode(13, OUTPUT);
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
pinMode(25, OUTPUT);
pinMode(26, OUTPUT);
pinMode(12, OUTPUT);
pinMode(27, OUTPUT);
pinMode(28, OUTPUT);
pinMode(29, OUTPUT);
pinMode(30, OUTPUT);
pinMode(31, OUTPUT);
pinMode(32, OUTPUT);
pinMode(33, OUTPUT);
pinMode(34, OUTPUT); pinMode(35, OUTPUT); pinMode(36, OUTPUT);pinMode(37, OUTPUT); pinMode(38, OUTPUT); pinMode(39, OUTPUT);
pinMode(40, OUTPUT); pinMode(41, OUTPUT); pinMode(42, OUTPUT);pinMode(43, OUTPUT); pinMode(44, OUTPUT); pinMode(45, OUTPUT);
pinMode(46, OUTPUT); pinMode(47, OUTPUT); pinMode(48, OUTPUT);pinMode(49, OUTPUT); pinMode(50, OUTPUT); pinMode(51, OUTPUT);
pinMode(52, OUTPUT);
pinMode(OnlineLED, OUTPUT);
pinMode(OfflineLED, OUTPUT);
digitalWrite(13, HIGH);
timer.setInterval(10000L, checkTime);
pinMode(TRELAY,OUTPUT);
digitalWrite(TRELAY,HIGH);
digitalWrite(22, HIGH);
digitalWrite(23, HIGH);
digitalWrite(24, HIGH);
digitalWrite(25, HIGH);
digitalWrite(26, HIGH);
digitalWrite(27, HIGH);
digitalWrite(28, HIGH);
digitalWrite(29, HIGH);
digitalWrite(30, HIGH);
digitalWrite(31, HIGH);
digitalWrite(32, HIGH);
digitalWrite(33, HIGH);
digitalWrite(34, HIGH); digitalWrite(35, HIGH); digitalWrite(36, HIGH);digitalWrite(37, HIGH); digitalWrite(38, HIGH); digitalWrite(39, HIGH);
digitalWrite(40, HIGH); digitalWrite(41, HIGH); digitalWrite(42, HIGH);digitalWrite(43, HIGH); digitalWrite(44, HIGH); digitalWrite(45, HIGH);
digitalWrite(46, HIGH); digitalWrite(47, HIGH); digitalWrite(48, HIGH);digitalWrite(49, HIGH); digitalWrite(50, HIGH); digitalWrite(51, HIGH); digitalWrite(52, HIGH);
//Blynk.begin();
//Blynk.begin(auth);
// You can also specify server:
Blynk.begin(auth, "blynk.cloud", 80);
//Blynk.begin(auth, IPAddress(192,168,1,100), 8080);
}
void loop()
{
String readString;
Q;
//-------------------------------Check Serial0 Port---------------------------------------
while (Serial.available()) {
delay(1);
if (Serial.available() >0) {
char c = Serial.read(); //gets one byte from serial buffer
if (isControl(c)) {
//'Serial.println("it's a control character");
break;
}
readString += c; //makes the string readString
}
}
//-------------------------------Check Serial1 Port---------------------------------------
while (Serial1.available())
{
delay(1);
if (Serial1.available() >0)
{
char c = Serial1.read(); //gets one byte from serial buffer
if (isControl(c))
{
//'Serial.println("it's a control character");
break;
}
readString += c; //makes the string readString
}
}
//-------------------------------Check Serial2 Port---------------------------------------
while (Serial2.available())
{
delay(1);
if (Serial2.available() >0)
{
char c = Serial2.read(); //gets one byte from serial buffer
if (isControl(c))
{
//'Serial.println("it's a control character");
break;
}
readString += c; //makes the string readString
}
}
//-------------------------------Check Serial3 Port---------------------------------------
while (Serial3.available())
{
delay(1);
if (Serial3.available() >0)
{
char c = Serial3.read(); //gets one byte from serial buffer
if (isControl(c))
{
//'Serial.println("it's a control character");
break;
}
readString += c; //makes the string readString
}
}
Q = readString;
//------------------------------------- selecting Serial input ---------------------------------------------------
if(Q=="01")
{ //Serial.print("val0 = ");
//Serial.println(val0);
if (val0 == 0)
{
update_blynk_status[0] = 1;
led_set[0]= 1;
val0=1; // new added - finaly works
Serial1.write("L1 ON");
Serial2.write("L1 ON");
Serial3.write("L1 ON");
}
else
{
update_blynk_status[0] = 0;
led_set[0]= 0;
val0= 0;
Serial1.write("L1 OFF");
Serial2.write("L1 OFF");
Serial3.write("L1 OFF");
}
}
if(Q=="02")
{ //Serial.print("val1 = ");
//Serial.println(val1);
if (val1 == 0)
{
update_blynk_status[1] = 1;
led_set[1]= 1;
val1=1;
Serial1.write("L2 ON");
Serial2.write("L2 ON");
Serial3.write("L2 ON");
}
else
{
update_blynk_status[1] = 0;
led_set[1]= 0;
val1= 0;
Serial1.write("L2 OFF");
Serial2.write("L2 OFF");
Serial3.write("L2 OFF");
}
}
if(Q=="03")
{ //Serial.print("val2 = ");
//Serial.println(val2);
if (val2 == 0)
{
update_blynk_status[2] = 1;
led_set[2]= 1;
val2=1;
Serial1.write("L3 ON");
Serial2.write("L3 ON");
Serial3.write("L3 ON");
}
else
{
update_blynk_status[2] = 0;
led_set[2]= 0;
val2= 0;
Serial1.write("L3 OFF");
Serial2.write("L3 OFF");
Serial3.write("L3 OFF");
}
}
if(Q=="04")
{ //Serial.print("val3 = ");
//Serial.println(val3);
if (val3 == 0)
{
update_blynk_status[3] = 1;
led_set[3]= 1;
val3=1;
Serial1.write("L4 ON");
Serial2.write("L4 ON");
Serial3.write("L4 ON");
}
else
{
update_blynk_status[3] = 0;
led_set[3]= 0;
val3= 0;
Serial1.write("L4 OFF");
Serial2.write("L4 OFF");
Serial3.write("L4 OFF");
}
}
if(Q=="05")
{ //Serial.print("val4 = ");
//Serial.println(val4);
if (val4 == 0)
{
update_blynk_status[4] = 1;
led_set[4]= 1;
val4=1;
Serial1.write("L5 ON");
Serial2.write("L5 ON");
Serial3.write("L5 ON");
}
else
{
update_blynk_status[4] = 0;
led_set[4]= 0;
val4= 0;
Serial1.write("L5 OFF");
Serial2.write("L5 OFF");
Serial3.write("L5 OFF");
}
}
if(Q=="06")
{ //Serial.print("val5 = ");
//Serial.println(val5);
if (val5 == 0)
{
update_blynk_status[5] = 1;
led_set[5]= 1;
val5=1;
Serial1.write("L6 ON");
Serial2.write("L6 ON");
Serial3.write("L6 ON");
}
else
{
update_blynk_status[5] = 0;
led_set[5]= 0;
val5= 0;
Serial1.write("L6 OFF");
Serial2.write("L6 OFF");
Serial3.write("L6 OFF");
}
}
if(Q=="08")
{ //Serial.print("val6 = ");
//Serial.println(val6);
if (val7 == 0)
{
update_blynk_status[7] = 1;
led_set[7]= 1;
val7=1;
Serial1.write("L8 ON");
Serial2.write("L8 ON");
Serial3.write("L8 ON");
}
else
{
update_blynk_status[7] = 0;
led_set[7]= 0;
val7= 0;
Serial1.write("L8 OFF");
Serial2.write("L8 OFF");
Serial3.write("L8 OFF");
}
}
if(Q=="09")
{ //Serial.print("val6 = ");
//Serial.println(val6);
if (val8 == 0)
{
update_blynk_status[8] = 1;
led_set[8]= 1;
val8=1;
Serial1.write("L9 ON");
Serial2.write("L9 ON");
Serial3.write("L9 ON");
}
else
{
update_blynk_status[8] = 0;
led_set[8]= 0;
val8= 0;
Serial1.write("L9 OFF");
Serial2.write("L9 OFF");
Serial3.write("L9 OFF");
}
}
if(Q=="10")
{ //Serial.print("val6 = ");
//Serial.println(val6);
if (val9 == 0)
{
update_blynk_status[9] = 1;
led_set[9]= 1;
val9=1;
Serial1.write("L10 ON");
Serial2.write("L10 ON");
Serial3.write("L10 ON");
}
else
{
update_blynk_status[9] = 0;
led_set[9]= 0;
val9= 0;
Serial1.write("L10 OFF");
Serial2.write("L10 OFF");
Serial3.write("L10 OFF");
}
}
if(Q=="11")
{ //Serial.print("val6 = ");
//Serial.println(val6);
if (val10 == 0)
{
update_blynk_status[10] = 1;
led_set[10]= 1;
val10=1;
Serial1.write("L11 ON");
Serial2.write("L11 ON");
Serial3.write("L11 ON");
}
else
{
update_blynk_status[10] = 0;
led_set[10]= 0;
val10= 0;
Serial1.write("L11 OFF");
Serial2.write("L11 OFF");
Serial3.write("L11 OFF");
}
}
if(Q=="12")
{ //Serial.print("val6 = ");
//Serial.println(val6);
if (val11 == 0)
{
update_blynk_status[11] = 1;
led_set[11]= 1;
val11=1;
Serial1.write("L12 ON");
Serial2.write("L12 ON");
Serial3.write("L12 ON");
}
else
{
update_blynk_status[11] = 0;
led_set[11]= 0;
val11= 0;
Serial1.write("L12 OFF");
Serial2.write("L12 OFF");
Serial3.write("L12 OFF");
}
}
if(Q=="13")
{
if (val12 == 0)
{
update_blynk_status[12] = 1;
led_set[12]= 1;
val12=1;
Serial1.write("L13 ON");
Serial2.write("L13 ON");
Serial3.write("L13 ON");
}
else
{
update_blynk_status[12] = 0;
led_set[12]= 0;
val12= 0;
Serial1.write("L13 OFF");
Serial2.write("L13 OFF");
Serial3.write("L13 OFF");
}
}
if(Q=="14")
{
if (val13 == 0)
{
update_blynk_status[13] = 1;
led_set[13]= 1;
val13=1;
Serial1.write("L14 ON");
Serial2.write("L14 ON");
Serial3.write("L14 ON");
}
else
{
update_blynk_status[13] = 0;
led_set[13]= 0;
val13= 0;
Serial1.write("L14 OFF");
Serial2.write("L14 OFF");
Serial3.write("L14 OFF");
}
}
if(Q=="15")
{
if (val14 == 0)
{
update_blynk_status[14] = 1;
led_set[14]= 1;
val14=1;
Serial1.write("L15 ON");
Serial2.write("L15 ON");
Serial3.write("L15 ON");
}
else
{
update_blynk_status[14] = 0;
led_set[14]= 0;
val14= 0;
Serial1.write("L15 OFF");
Serial2.write("L15 OFF");
Serial3.write("L15 OFF");
}
}
if(Q=="16")
{
if (val15 == 0)
{
update_blynk_status[15] = 1;
led_set[15]= 1;
val15=1;
Serial1.write("L16 ON");
Serial2.write("L16 ON");
Serial3.write("L16 ON");
}
else
{
update_blynk_status[15] = 0;
led_set[15]= 0;
val15= 0;
Serial1.write("L16 OFF");
Serial2.write("L16 OFF");
Serial3.write("L16 OFF");
}
}
if(Q=="17")
{
if (val16 == 0)
{
update_blynk_status[16] = 1;
led_set[16]= 1;
val16=1;
Serial1.write("L17 ON");
Serial2.write("L17 ON");
Serial3.write("L17 ON");
}
else
{
update_blynk_status[16] = 0;
led_set[16]= 0;
val16= 0;
Serial1.write("L17 OFF");
Serial2.write("L17 OFF");
Serial3.write("L17 OFF");
}
}
if(Q=="18")
{
if (val17 == 0)
{
update_blynk_status[17] = 1;
led_set[17]= 1;
val17=1;
Serial1.write("L18 ON");
Serial2.write("L18 ON");
Serial3.write("L18 ON");
}
else
{
update_blynk_status[17] = 0;
led_set[17]= 0;
val17= 0;
Serial1.write("L18 OFF");
Serial2.write("L18 OFF");
Serial3.write("L18 OFF");
}
}
if(Q=="19")
{
if (val18 == 0)
{
update_blynk_status[18] = 1;
led_set[18]= 1;
val18=1;
Serial1.write("L19 ON");
Serial2.write("L19 ON");
Serial3.write("L19 ON");
}
else
{
update_blynk_status[18] = 0;
led_set[18]= 0;
val18= 0;
Serial1.write("L19 OFF");
Serial2.write("L19 OFF");
Serial3.write("L19 OFF");
}
}
if(Q=="00")
{
if (val20 == 0)
{
update_blynk_status[20] = 1;
led_set[20]= 1;
val20=1;
Serial1.write("L21 ON");
Serial2.write("L21 ON");
Serial3.write("L21 ON");
}
else
{
update_blynk_status[20] = 0;
led_set[20]= 0;
val20= 0;
Serial1.write("L21 OFF");
Serial2.write("L21 OFF");
Serial3.write("L21 OFF");
}
}
//--------------------------------------------- POWER SOCKET ----------------------------------------------
if(Q=="21")
{
if (val21 == 0)
{
update_blynk_status[21] = 1;
led_set[21]= 1;
val21=1;
Serial1.write("PP1 ON");
Serial2.write("PP1 ON");
Serial3.write("PP1 ON");
}
else
{
update_blynk_status[21] = 0;
led_set[21]= 0;
val21= 0;
Serial1.write("PP1 OFF");
Serial2.write("PP1 OFF");
Serial3.write("PP1 OFF");
}
}
if(Q=="22")
{
if (val22 == 0)
{
update_blynk_status[22] = 1;
led_set[22]= 1;
val22=1;
Serial1.write("PP2 ON");
Serial2.write("PP2 ON");
Serial3.write("PP2 ON");
}
else
{
update_blynk_status[22] = 0;
led_set[22]= 0;
val22= 0;
Serial1.write("PP2 OFF");
Serial2.write("PP2 OFF");
Serial3.write("PP2 OFF");
}
}
if(Q=="23")
{
if (val23 == 0)
{
update_blynk_status[23] = 1;
led_set[23]= 1;
val23=1;
Serial1.write("PP3 ON");
Serial2.write("PP3 ON");
Serial3.write("PP3 ON");
}
else
{
update_blynk_status[23] = 0;
led_set[23]= 0;
val23= 0;
Serial1.write("PP3 OFF");
Serial2.write("PP3 OFF");
Serial3.write("PP3 OFF");
}
}
if(Q=="24")
{
if (val24 == 0)
{
update_blynk_status[24] = 1;
led_set[24]= 1;
val24=1;
Serial1.write("PP4 ON");
Serial2.write("PP4 ON");
Serial3.write("PP4 ON");
}
else
{
update_blynk_status[24] = 0;
led_set[24]= 0;
val24= 0;
Serial1.write("PP4 OFF");
Serial2.write("PP4 OFF");
Serial3.write("PP4 OFF");
}
}
if(Q=="25")
{
if (val25 == 0)
{
update_blynk_status[25] = 1;
led_set[25]= 1;
val25=1;
Serial1.write("PP5 ON");
Serial2.write("PP5 ON");
Serial3.write("PP5 ON");
}
else
{
update_blynk_status[25] = 0;
led_set[25]= 0;
val25= 0;
Serial1.write("PP5 OFF");
Serial2.write("PP5 OFF");
Serial3.write("PP5 OFF");
}
}
if(Q=="26")
{
if (val26 == 0)
{
update_blynk_status[26] = 1;
led_set[26]= 1;
val26=1;
Serial1.write("PP6 ON");
Serial2.write("PP6 ON");
Serial3.write("PP6 ON");
}
else
{
update_blynk_status[26] = 0;
led_set[26]= 0;
val26= 0;
Serial1.write("PP6 OFF");
Serial2.write("PP6 OFF");
Serial3.write("PP6 OFF");
}
}
if(Q=="27")
{
if (val27 == 0)
{
update_blynk_status[27] = 1;
led_set[27]= 1;
val27=1;
Serial1.write("PP7 ON");
Serial2.write("PP7 ON");
Serial3.write("PP7 ON");
}
else
{
update_blynk_status[27] = 0;
led_set[27]= 0;
val27= 0;
Serial1.write("PP7 OFF");
Serial2.write("PP7 OFF");
Serial3.write("PP7 OFF");
}
}
if(Q=="28")
{
if (val28 == 0)
{
update_blynk_status[28] = 1;
led_set[28]= 1;
val28=1;
Serial1.write("PP8 ON");
Serial2.write("PP8 ON");
Serial3.write("PP8 ON");
}
else
{
update_blynk_status[28] = 0;
led_set[28]= 0;
val28= 0;
Serial1.write("PP8 OFF");
Serial2.write("PP8 OFF");
Serial3.write("PP8 OFF");
}
}
if(Q=="29")
{
if (val29 == 0)
{
update_blynk_status[29] = 1;
led_set[29]= 1;
val29=1;
Serial1.write("PP9 ON");
Serial2.write("PP9 ON");
Serial3.write("PP9 ON");
}
else
{
update_blynk_status[29] = 0;
led_set[29]= 0;
val29= 0;
Serial1.write("PP9 OFF");
Serial2.write("PP9 OFF");
Serial3.write("PP9 OFF");
}
}
if(Q=="30")
{
if (val30 == 0)
{
update_blynk_status[30] = 1;
led_set[30]= 1;
val30=1;
Serial1.write("PP10 ON");
Serial2.write("PP10 ON");
Serial3.write("PP10 ON");
}
else
{
update_blynk_status[30] = 0;
led_set[30]= 0;
val30= 0;
Serial1.write("PP10 OFF");
Serial2.write("PP10 OFF");
Serial3.write("PP10 OFF");
}
}
Blynk.run();
timer.run();
led_mng();
blynk_update();
if (client.connect(Web, 80))
{
//Serial.print("Blynk is ONLINE ");
digitalWrite(OnlineLED, HIGH);
digitalWrite(OfflineLED, LOW);
}
else
{
//Serial.println("Blynk is OFFLINE");
digitalWrite(OnlineLED, LOW);
digitalWrite(OfflineLED, HIGH);
}
float t = dht.readTemperature();
Blynk.virtualWrite(V100,t);
if (isnan(dht.readTemperature()))
{
Serial.println(F("Error Reading Temperature"));
}
else
{
Serial.println(F("Temp: "));
Serial.print(dht.readTemperature());
Serial.println(F("C"));
if(dht.readTemperature() >= 17.5){
digitalWrite(TRELAY,HIGH);
Serial.print(F("T-RELAY"));
Serial.println(F(" ON"));
}
else{
digitalWrite(TRELAY,LOW);
Serial.print(F("T-RELAY"));
Serial.println(F(" OFF"));
}
}
}