#define BLYNK_TEMPLATE_ID "TMPL6M2krPk72"
#define BLYNK_TEMPLATE_NAME "TestBlynk"
#define BLYNK_AUTH_TOKEN "fnMZFgewMFqzjEfyt1l-JpM6r7xKQdcq"
//Library
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHTesp.h>
char auth[] = BLYNK_AUTH_TOKEN ; //Auth Token
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = ""; //password hotspot yang digunakan
int value0, value1;
const int led1 = 25;
const int led2 = 26;
const int dhtPin = 15;
DHTesp dht;
BlynkTimer timer;
//function untuk pengiriman sensor
void sendSensor() {
TempAndHumidity data = dht.getTempAndHumidity();
//menampilkan temperature pada Serial monitor
Serial.print("% Temperature: ");
Serial.print(data.temperature);
Serial.println("C ");
Serial.print("% Kelembaban: ");
Serial.print(data.humidity);
Serial.println("% ");
Blynk.virtualWrite(V2, data.temperature); //mengirimkan data temperatur ke Virtual pin VO di Blynk Cloud
Blynk.virtualWrite(V3, data.humidity); //mengirimkan data kelemaban ke Virtual pin V1 di Blynk Cloud
}
BLYNK_WRITE(V0)
{
value0 = param.asInt();
Serial.print("LED1: ");
Serial.println(value0);
digitalWrite(led1, value0);
}
BLYNK_WRITE(V1)
{
value1 = param.asInt();
Serial.print("LED2: ");
Serial.println(value1);
digitalWrite(led2, value1);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
dht.setup(dhtPin, DHTesp::DHT22);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
Blynk.begin(auth, ssid, pass); //memulai Blynk
timer.setInterval(1000, sendSensor); //Mengaktifkan timer untuk pengiriman data 1000ms
}
void loop() {
Blynk.run(); //menjalankan blynk
timer.run(); //menjalankan timer
}