Segue:
#define BLYNK_TEMPLATE_ID "TMPLjCFDWIeX"
#define BLYNK_TEMPLATE_NAME "Irrigação"
#define BLYNK_AUTH_TOKEN "TnbdGcU7oP8P_60DGE9p5JYHihn0aEpb"
// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial
#include <pcf8574.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#include <WiFiClient.h>
#include <ESP8266WiFi.h>
PCF8574 pcf(0x38);
char auth[] = BLYNK_AUTH_TOKEN;
// WIFI.
char ssid[] = "Ron....";
char pass[] = "97.....";
#define bomba D5 //BOMBA DA AGUA V0 C
#define valvula1 D6 //VALVULA ENTRADA 1
#define hibernacao D0 //CAIXA 2 V3 C
#define DHTPIN D9 //sensor DHT11 V10 e V11
#define Connect D7 //led indicação da conexao ao servidor
// Tipo de Sensor DHT!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
//Propriedades para optenção da Leitura de Umidade e Temperatura
void sendSensor() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Erro no Sensor de Temperatura!");
return;
}
//pinos virtuais do Blynk para obtenção da Leitura do Sensor
Blynk.virtualWrite(V10, h);
Blynk.virtualWrite(V11, t);
}
BLYNK_CONNECTED() {
// Requisita a sincronização dos pinos
Blynk.syncAll();
int value = millis() / 1000;
// int value = delay() / 1000;
}
//SAIDAS com seus respectivos Pinos Virtuais
//BOMBA DA AGUA
BLYNK_WRITE(V0) {
int pinValue = param.asInt();
if (pinValue == 1) {
digitalWrite(bomba, LOW);
} else {
digitalWrite(bomba, HIGH);
}
}
//ENTRADA CAIXA DA AGUA
BLYNK_WRITE(V1) {
int pinValue = param.asInt();
if (pinValue == 1) {
digitalWrite(valvula1, LOW);
} else {
digitalWrite(valvula1, HIGH);
}
}
//CAIXA 1
BLYNK_WRITE(V2) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(caixa1, LOW);
digitalWrite(pcf, 0, LOW);
} else {
// digitalWrite(caixa1, HIGH);
digitalWrite(pcf, 0, HIGH);
}
}
//CAIXA 2
BLYNK_WRITE(V3) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(caixa2, LOW);
digitalWrite(pcf, 1, LOW);
} else {
// digitalWrite(caixa2, HIGH);
digitalWrite(pcf, 1, HIGH);
}
}
//linha 1
BLYNK_WRITE(V4) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(linha1, LOW);
digitalWrite(pcf, 2, LOW);
} else {
// digitalWrite(linha1, HIGH);
digitalWrite(pcf, 2, HIGH);
}
}
//Linha 2
BLYNK_WRITE(V5) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(linha2, LOW);
digitalWrite(pcf, 3, LOW);
} else {
// digitalWrite(linha2, HIGH);
digitalWrite(pcf, 3, HIGH);
}
}
//Linha 3
BLYNK_WRITE(V6) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(linha3, LOW);
digitalWrite(pcf, 4, LOW);
} else {
// digitalWrite(linha3, HIGH);
digitalWrite(pcf, 4, HIGH);
}
}
//Linha 4
BLYNK_WRITE(V7) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(linha4, LOW);
digitalWrite(pcf, 5, LOW);
} else {
// digitalWrite(linha4, HIGH);
digitalWrite(pcf, 5, HIGH);
}
}
//Linha 5
BLYNK_WRITE(V8) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(linha5, LOW);
digitalWrite(pcf, 6, LOW);
} else {
// digitalWrite(linha5, HIGH);
digitalWrite(pcf, 6, HIGH);
}
}
//Linha 6
BLYNK_WRITE(V9) {
int pinValue = param.asInt();
if (pinValue == 1) {
// digitalWrite(linha6, LOW);
digitalWrite(pcf, 7, LOW);
} else {
// digitalWrite(linha6, HIGH);
digitalWrite(pcf, 7, HIGH);
}
}
void connection_check() {
if (Blynk.connected() == true) {
Serial.println("Servidor Conectado!");
digitalWrite(Connect, HIGH);
}
else if (Blynk.connected() == false) {
Serial.println("Servidor Desconectado!");
digitalWrite(bomba, HIGH); //Bomba da Água
digitalWrite(valvula1, HIGH); //Entrada Caixa da Água
digitalWrite(pcf, 0, HIGH); //Saída Caixa da Água 1
digitalWrite(pcf, 1, HIGH); //Saída Caixa da Água 2
digitalWrite(pcf, 2, HIGH); //Linha 1
digitalWrite(pcf, 3, HIGH); //Linha 2
digitalWrite(pcf, 4, HIGH); //Linha 3
digitalWrite(pcf, 5, HIGH); //Linha 4
digitalWrite(pcf, 6, HIGH); //Linha 5
digitalWrite(pcf, 7, HIGH); //Linha 6
Blynk.connect();
}
}
void setup() {
pinMode(bomba, OUTPUT); //BOMBA DA AGUA
pinMode(valvula1, OUTPUT); //VALVULA ENTRADA 1
pinMode(pcf, 0, OUTPUT); //CAIXA 1
pinMode(pcf, 1, OUTPUT); //CAIXA 2
pinMode(pcf, 2, OUTPUT); //LINHA 1
pinMode(pcf, 3, OUTPUT); //LINHA 2
pinMode(pcf, 4, OUTPUT); //LINHA 3
pinMode(pcf, 5, OUTPUT); //LINHA 4
pinMode(pcf, 6, OUTPUT); //LINHA 5
pinMode(pcf, 7, OUTPUT); //LINHA 6
pinMode(hibernacao, OUTPUT); //hibernação
pinMode(Connect, OUTPUT); //Status wifi
digitalWrite(bomba, HIGH);
digitalWrite(valvula1, HIGH);
//digitalWrite(hibernacao, HIGH);
//Debug console
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
dht.begin();
Blynk.connect();
// Setup a function to be called every second
timer.setInterval(600000L, sendSensor);
timer.setInterval(40000L, connection_check);
}
void loop() {
timer.run();
Blynk.run();
}
Errro Apresentado no Serial:
[4405] Connected to WiFi
[4405] IP: 192.168.1.113
[4405]
___ __ __
/ _ )/ /_ _____ / /__
/ _ / / // / _ \/ '_/
/____/_/\_, /_//_/_/\_\
/___/ v1.3.0 on ESP8266
#StandWithUkraine https://bit.ly/swua
[4416] Connecting to blynk.cloud:80
[4712] Ready (ping: 135ms).
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
Soft WDT reset
Exception (4):
epc1=0x4000dd1d epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
>>>stack>>>
ctx: cont
sp: 3ffffdb0 end: 3fffffd0 offset: 0160
3fffff10: 00001f8a 00000000 00001f8a 00000000
3fffff20: 00000000 007b3629 00004650 3ffef26c
3fffff30: 00000000 00001f8a c8f5c28f 3ffef26c
3fffff40: 00004650 00000000 00000000 40205d6a
3fffff50: 00004650 00000000 3ffeef48 402012c5
3fffff60: 00000000 00000000 3ffeef10 40201430
3fffff70: 00004650 3ffeef5c 00000001 3ffef26c
3fffff80: 00004650 00001336 3ffeef10 40202124
3fffff90: 3ffe85d1 3ffeef10 00004650 4020231c
3fffffa0: 40208c78 7101a8c0 feefeffe feefeffe
3fffffb0: 3fffdad0 00000000 3ffef240 402051c0
3fffffc0: feefeffe feefeffe 3fffdab0 401010ed
<<<stack<<<
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 3424, room 16
tail 0
chksum 0x2e
load 0x3fff20b8, len 40, room 8
tail 0
chksum 0x2b
csum 0x2b
v00047ed0
~ld
�a�n�r��n|�l�l`bbrl�nb�nl`�rl�l��[78] Connecting to ......