#define BLYNK_PRINT Serial //untuk cek koneksi ke blynk//#define BLYNK_TEMPLATE_ID "TMPL-kE9DAm9" // lokasi blynk di [email protected] [sw:Feus@12345]
#define BLYNK_TEMPLATE_ID "TMPLbWyqsHyg"
#define BLYNK_DEVICE_NAME "TES"
#define BLYNK_AUTH_TOKEN "KHNd2w0TbEBSWtzgjVrNHh8VohYtFvXm"

#include <WiFi.h> // untuk tambahkan library wifi, blynk, dht sensor library for espx
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include "DHTesp.h"

//catatan : jika library arduino_json belum ditambahkan maka hasil tidak akan tampil (nanC)

const int DHT_PIN = 15;
DHTesp dhtSensor;

char auth[] = BLYNK_AUTH_TOKEN; //membaca token yang ada di blynk
char ssid[] = "Wokwi-GUEST"; //isi dengan nama Wifi di rumah/hp
char pass[] = ""; //isi "feus@12345" dengan password rekan2 di rumah /hp

BlynkTimer timer;

void sendSensor()
{
 TempAndHumidity  data = dhtSensor.getTempAndHumidity(); //program untuk membaca suhu dan kelembapan
 Serial.println("Temp: " + String(data.temperature, 2) + "°C");
 Serial.println("Humidity: " + String(data.humidity, 1) + "%");
 Serial.println("---");
 Blynk.virtualWrite(V4, data.temperature); //untuk mengirimkan datanya ke blink cloud
 Blynk.virtualWrite(V5, data.humidity);//mengirimkan data ke Virtual pin di Blynk Cloud
}

void setup()
{
  Serial.begin(115200);
  dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
  Blynk.begin(auth, ssid, pass);  //jika mengkoneksokan tanpa blynk / dg wifi bisa diganti wifi
  timer.setInterval(1L, sendSensor);
}

void loop() //untuk menjalankan supaya bisa terkoneksi dengan blynk
{
  sendSensor();
  Blynk.run();
  timer.run();
 }