#include #include // Definisikan SSID dan Password WiFi Anda const char* ssid = "poco"; //seuaikan dengan ssid access point anda const char* password = "12345678"; //seusiakan dengan password access point anda // Inisialisasi ESP8266WebServer ESP8266WebServer server(80); // Daftar status relay (0 = OFF, 1 = ON) int relayStatus[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Daftar pin GPIO yang terhubung ke relay int rly1 = 16; int rly2 = 14; int rly3 = 12; int rly4 = 13; int rly5 = 15; int rly6 = 0; int rly7 = 4; int rly8 = 5; int relayPins[8] = {rly1, rly2, rly3, rly4, rly5, rly6, rly7, rly8}; void setup() { // Inisialisasi pin relay sebagai OUTPUT for (int i = 0; i < 8; i++) { pinMode(relayPins[i], OUTPUT); digitalWrite(relayPins[i], LOW); } // Mulai serial Serial.begin(115200); // Sambungkan ke WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Menghubungkan ke WiFi..."); } Serial.println("Terhubung ke WiFi"); Serial.println("IP Address: " + WiFi.localIP().toString()); // Mengatur rute web server.on("/", HTTP_GET, handleRoot); server.on("/relay", HTTP_GET, handleRelay); server.begin(); Serial.println("Server berjalan"); } void loop() { server.handleClient(); } void handleRoot() { String html = ""; html += "

Control Relay via Web

"; for (int i = 0; i < 8; i++) { html += "

Relay " + String(i+1) + ": "; html += (relayStatus[i] == 1) ? "ON" : "OFF"; html += " Toggle

"; } html += ""; server.send(200, "text/html", html); } void handleRelay() { if (server.hasArg("state") && server.hasArg("relay")) { int relay = server.arg("relay").toInt(); int state = server.arg("state").toInt(); if (relay >= 0 && relay < 8 && (state == 0 || state == 1)) { relayStatus[relay] = state; digitalWrite(relayPins[relay], state); } } handleRoot(); }