#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include "DHTesp.h"
#define BLYNK_TEMPLATE_ID "TMPL6aCHK6bpY"
#define BLYNK_TEMPLATE_NAME "smart plug"
#define BLYNK_AUTH_TOKEN "nmlgkQbC2J9dmzIQOKhJ_g3KU2CuqA94"
char auth[] = BLYNK_AUTH_TOKEN; // ใส่ Auth Token ของ Blynk ที่ได้รับจากแอปพลิเคชัน Blynk
char ssid[] = "Wokwi-GUEST"; // ใส่ชื่อ WiFi ที่ต้องการเชื่อมต่อ //Wokwi-GUEST
char pass[] = ""; // ใส่รหัสผ่าน WiFi ที่ต้องการเชื่อมต่อ
const int DHT = 19;
const int relay_pin = 18;
int button_pin = 32;
int pir = 21;
DHTesp dhtSensor;
BlynkTimer timer;
/*void sendSensor()
{
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
Blynk.virtualWrite(V5, data.temperature);
Blynk.virtualWrite(V6, data.humidity);
}*/
BLYNK_WRITE(V0)
{
/*int value = digitalRead( button_pin);
if( value == 1) // low is pressed
{
digitalWrite( relay_pin, HIGH);
Serial.println("Relay on");
Blynk.virtualWrite(V0, HIGH);
}
else
{
digitalWrite( relay_pin, LOW);
Serial.println("Relay off");
Blynk.virtualWrite(V0, LOW);
}*/
button_pin = param.asInt();
if(button_pin == 1){
digitalWrite(relay_pin, HIGH);
Serial.println("Relay on");
Blynk.virtualWrite(V0, HIGH);
}
else{
digitalWrite(relay_pin, LOW);
Serial.println("Relay off");
Blynk.virtualWrite(V0, LOW);
}
}
BLYNK_WRITE(V1)
{
pir = param.asInt();
if(pir == 1)
{
digitalWrite(relay_pin, HIGH);
Serial.println("Relay on");
Blynk.virtualWrite(V1, HIGH);
}
else{
digitalWrite(relay_pin, LOW);
Serial.println("Relay off");
Blynk.virtualWrite(V1, LOW);
}
}
void setup()
{
Serial.begin(115200);
pinMode(relay_pin, OUTPUT);
pinMode(button_pin, INPUT_PULLUP);
pinMode(pir, INPUT);
dhtSensor.setup(DHT, DHTesp::DHT22);
Blynk.begin(auth, ssid, pass);
//timer.setInterval(1000, sendSensor);
}
void loop()
{
//timer.run();
/*int value = digitalRead( button_pin);
if( value == 1) // low is pressed
{
digitalWrite( relay_pin, HIGH);
}
else
{
digitalWrite( relay_pin, LOW);
}*/
Blynk.run();
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
Blynk.virtualWrite(V5, data.temperature);
Blynk.virtualWrite(V6, data.humidity);
delay(1000); // slow down the sketch
}