Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WiFi.h>
- #include <ESP8266WebServer.h>
- // 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><body>";
- html += "<h1>Control Relay via Web</h1>";
- for (int i = 0; i < 8; i++) {
- html += "<p>Relay " + String(i+1) + ": ";
- html += (relayStatus[i] == 1) ? "ON" : "OFF";
- html += " <a href='/relay?state=";
- html += (relayStatus[i] == 1) ? "0" : "1";
- html += "&relay=";
- html += String(i);
- html += "'>Toggle</a></p>";
- }
- html += "</body></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();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement