#include <WiFi.h>
#include <HTTPClient.h>
#include <DHT.h>
#define DHTPIN 13
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// Ganti dengan token dan URL Blynk Anda
const char* token = "-f1BDKS6loEVYOm_Qfah3MHnLj1QttTN";
const char* server = "https://sgp1.blynk.cloud";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi connected");
dht.begin();
}
void loop() {
if (WiFi.status() != WL_CONNECTED) {
Serial.println("WiFi disconnected, reconnecting...");
WiFi.reconnect();
delay(5000);
return;
}
float suhu = dht.readTemperature();
float kelembapan = dht.readHumidity();
if (isnan(suhu) || isnan(kelembapan)) {
Serial.println("Sensor Error");
delay(2000);
return;
}
HTTPClient http;
String url = String(server) + "/external/api/batch/update?token=" +
token
+ "&V0=" + String(suhu, 2)
+ "&V1=" + String(kelembapan, 2);
Serial.print("Request URL: ");
Serial.println(url);
http.begin(url);
int httpCode = http.GET();
if (httpCode > 0) {
Serial.print("HTTP Response code: ");
Serial.println(httpCode);
if (httpCode == 200) {
Serial.println("Data berhasil dikirim ke Blynk Cloud");
} else {
Serial.println("Gagal mengirim data, cek token atau koneksi");
}
} else {
Serial.print("HTTP request gagal, error: ");
Serial.println(http.errorToString(httpCode).c_str());
}
http.end();
Serial.print("Suhu: ");
Serial.println(suhu);
Serial.print("Kelembapan: ");
Serial.println(kelembapan);
delay(5000); // Kirim data tiap 5 detik
}