I am trying to use 2 esp8266 in bridge mode the first code is in esp8266 which requests the data of the other the second code is in the other esp8266 where it has the relay and the dht22 sensor
the relay part is working perfectly, however I can not read the dht22
Can someone help me?
see what is wrong in my code 1 and 2
#include <Arduino.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#include <Adafruit_Sensor.h>
// Você deve obter o Auth Token no Blynk App.
// Vá para as configurações do projeto (ícone da engrenagem).
char auth[] = "xx";
// Suas credenciais de WiFi.
// Definir senha para "" para redes abertas.
char ssid[] = "Leo";
char pass[] = "12345678";
const int relePin = 13; //PINO EM QUE O RELÉ ESTÁ CONECTADO (D7)
const int pulsadorPin = 12; //PINO EM QUE O PULSADOR ESTÁ CONECTADO (D6)
WidgetBridge bridge1(V1);
#define DHTPIN 2 // Qual pino digital estamos conectados
// Descomente qualquer tipo que você esteja usando
//define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer; //OBJETO DO TIPO BlynkTimer
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // ou dht.readTemperature (true) para Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Falha ao ler o sensor DHT!");
return;
}
// Você pode enviar qualquer valor a qualquer momento.
// Por favor não envie mais que 10 valores por segundo.
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
bridge1.virtualWrite(V6, t);
bridge1.virtualWrite(V5, h);
}
void checkPhysicalButton(); //FUNÇÃO checkPhysicalButton
int releState = LOW; //ESTADO INICIAL DO RELÉ (13)
int pulsadorState = LOW; //ESTADO INICIAL DO PULSADOR (12)
void setup()
{
// Debug console
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
// Você também pode especificar o servidor:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
dht.begin();
pinMode(relePin, OUTPUT); //DECLARA O PINO COMO SAÍDA (13)
pinMode(pulsadorPin, INPUT_PULLUP); //DECLARA O PINO COMO SAÍDA (12)
bridge1.digitalWrite(relePin, releState); //RELÉ RECEBE (13) O ESTADO INICIAL
// Chame blynk checkPhysicalButton a cada segundo
timer.setInterval(100L, checkPhysicalButton);
timer.setInterval(2000L, sendSensor); //DEFINE O INTERVALO DE 2000 MILISSEGUNDOS(2000L = 2000 MILISSEGUNDOS) PARA EXECUÇÃO DA FUNÇÃO DHT dht
}
BLYNK_CONNECTED() {
bridge1.setAuthToken("xx"); // SE CONECTA A OUTROS DISPOSITIVO POR MQTT
Blynk.syncVirtual(V1); //REQUISITA O ÚLTIMO ESTADO DO PINO VIRTUAL 1
}
BLYNK_WRITE(V1) { //FUNÇÃO QUE MUDA O ESTADO DO RELÉ QUANDO O BOTÃO NO APP É PRESISONADO
releState = param.asInt(); //VARIÁVEL RESPONSÁVEL POR RECEBER E ARMAZENAR O DADO VINDO DO APP
bridge1.digitalWrite(relePin, releState); //ALTERNA O ESTADO ATUAL DO RELÉ
}
void checkPhysicalButton() { //FUNÇÃO QUE VERIFICA O PRESSIONAMENTO DO PULSADOR
if (digitalRead(pulsadorPin) == LOW) { //SE LEITURA DO PULSADOR FOR IGUAL A LOW, FAZ
if (pulsadorState != LOW) { //SE O ESTADO DO PULSADOR FOR DIFERENTE DE LOW (OU SEJA, HIGH), FAZ
releState = !releState; //ESTADO DO RELÉ, RECEBE O ESTADO ATUAL INVERTIDO
bridge1.digitalWrite(relePin, releState); //ALTERNA O ESTADO ATUAL DO RELÉ
Blynk.virtualWrite(V1, releState); //ATUALIZA NO WIDGET O ESTADO ATUAL (INDEPENDENTE SE FOI ACIONADO VIA APP OU PULSADOR)
}
pulsadorState = LOW; //ESTADO DO PULSADOR RECEBE LOW
} else { //SENÃO, FAZ
pulsadorState = HIGH; //ESTADO DO PULSADOR RECEBE HIGH
}
}// fim if relé1 (13)
void loop()
{
Blynk.run();
timer.run();
}
*************
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xx";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Leo";
char pass[] = "12345678";
// This code will update the virtual port 1
BLYNK_WRITE(V1) {
int pinData = param.asInt();
}
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
}
thank you