#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6AHJfzSma"
#define BLYNK_TEMPLATE_NAME "job3wokwi"
#define BLYNK_AUTH_TOKEN "l5lM7sBmgEpLm2MVbeoyO0R90Sow1JA2"
#include "DHTesp.h"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN; //เก็บ Token ของ Blynk
char ssid[] = "Wokwi-GUEST"; //Wi-Fi ของ Wokwi
char pass[] = "";
#define ledA 27
DHTesp dhtSensor;
const int DHT_PIN = 15;
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
pinMode(ledA, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
//Serial.println("Hello, ESP32!");
}
BLYNK_WRITE(V2) // Executes when the value of virtual pin 0 changes
{
if(param.asInt() == 1)
{
// execute this code if the switch widget is now ON
digitalWrite(ledA,HIGH); // Set digital pin 2 HIGH
}
else
{
// execute this code if the switch widget is now OFF
digitalWrite(ledA,LOW); // Set digital pin 2 LOW
}
}
void loop() {
Blynk.run();
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
// ส่งค่าอุณหภูมิและความชื้นไปยัง Blynk Template ที่เรากำหนดไว้
Blynk.virtualWrite(V0, String(data.temperature, 2)); // ส่งอุณหภูมิไปยัง Blynk Template V0
Blynk.virtualWrite(V1, String(data.humidity, 1)); // ส่งความชื้นไปยัง Blynk Template V1
delay(2000); // รอเวลาสำหรับการอ่านเซ็นเซอร์ใหม่ (DHT22 มีอัตราการสุ่มในแต่ละครั้งประมาณ 0.5 Hz)
}