#define BLYNK_TEMPLATE_ID "TMPL35PZJ6E9e"
#define BLYNK_TEMPLATE_NAME "Smart building"
#define BLYNK_AUTH_TOKEN "XNnvBukWlk91RTaGB9xKi5Ye8ZtGUlPB"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include "DHTesp.h"
char auth[] = BLYNK_AUTH_TOKEN; // Corrected token assignment
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
DHTesp dhtSensor;
const int dev1 = 23;
const int dev2 = 22;
const int dev3 = 21;
const int dev4 = 19;
const int dht=17;
const int b=5
int relay_s_dev1 = 0; // Corrected variable name
int relay_s_dev2 = 0; // Corrected variable name
int relay_s_dev3 = 0; // Corrected variable name
int relay_s_dev4 = 0; // Corrected variable name
#define vpin1 V1
#define vpin2 V2
#define vpin3 V3
#define vpin4 V4
BLYNK_CONNECTED() {
Blynk.syncVirtual(vpin1);
Blynk.syncVirtual(vpin2);
Blynk.syncVirtual(vpin3);
Blynk.syncVirtual(vpin4);
}
BLYNK_WRITE(vpin1) {
relay_s_dev1 = param.asInt(); // Corrected parameter name
digitalWrite(dev1, relay_s_dev1);
}
BLYNK_WRITE(vpin2) {
relay_s_dev2 = param.asInt(); // Corrected parameter name
digitalWrite(dev2, relay_s_dev2);
}
BLYNK_WRITE(vpin3) {
relay_s_dev3 = param.asInt(); // Corrected parameter name
digitalWrite(dev3, relay_s_dev3);
}
BLYNK_WRITE(vpin4) {
relay_s_dev4 = param.asInt(); // Corrected parameter name
digitalWrite(dev4, relay_s_dev4);
}
void send_dht_val(){
TempAndHumidity data = dhtSensor.getTempAndHumidity();
float temp=data.temperature;
Blynk.virtualWrite(V5,temp);
}
void setup() {
pinMode(dev1, OUTPUT);
pinMode(dev2, OUTPUT);
pinMode(dev3, OUTPUT);
pinMode(dev4, OUTPUT);
pinMode(b, INPUT_PULLUP);
dhtSensor.setup(dht,DHTesp::DHT22);
Serial.begin(115200);
digitalWrite(dev1, HIGH);
digitalWrite(dev2, HIGH);
digitalWrite(dev3, HIGH);
digitalWrite(dev4, HIGH);
delay(1000);
digitalWrite(dev1, LOW);
digitalWrite(dev2, LOW);
digitalWrite(dev3, LOW);
digitalWrite(dev4, LOW);
delay(1000);
Blynk.begin(auth, ssid, pass);
}
void button_status(){
if(digitalRead(b)==LOW){
delay(500);
button_control(1);
Bylink.virtualWrite(vpin1,relay_s_dev1;)
}
void button_control(int relayIn){
if(relayIn==1){
relay_s_dev1 1=relay_s_dev1;
digitalWrite(relay_s_dev1);
delay(1000);
}
}
}
void loop() {
Blynk.run();
timer.run();
button_status();
timer.setInterval(2000,send_dht_val);
}