#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* serverUrl = "http://demo.audhighasu.com/server.php"; // Gunakan HTTP dulu untuk cek
int lampu = 12; // GPIO untuk LED (D12)
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
pinMode(lampu, OUTPUT);
digitalWrite(lampu, LOW); // Pastikan LOW saat booting untuk menghindari masalah
Serial.print("Menghubungkan ke WiFi ");
Serial.print(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi Connected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); // Cek IP yang diperoleh
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
Serial.print("Mengakses server: ");
Serial.println(serverUrl);
http.begin(serverUrl);
int httpResponseCode = http.GET();
Serial.print("HTTP Response Code: ");
Serial.println(httpResponseCode);
if (httpResponseCode > 0) { // Jika response code valid
String payload = http.getString();
Serial.println("Response dari server:");
Serial.println(payload);
// Cek status lampu dari JSON response
if (payload.indexOf("\"status\":\"off\"") > 0) {
digitalWrite(lampu, HIGH);
Serial.println("Lampu HIDUP!");
} else {
digitalWrite(lampu, LOW);
Serial.println("Lampu MATI!");
}
} else {
Serial.println("Gagal mendapatkan respon! Periksa koneksi atau URL server.");
}
http.end();
} else {
Serial.println("WiFi Terputus! Mencoba reconnect...");
WiFi.begin(ssid, password);
}
delay(1000); // Cek status setiap 1 detik
}