#include <WiFi.h>
// Konfigurasi WiFi Wokwi
const char* ssid = "Wokwi-GUEST";
const char* password = "";
WiFiServer server(80);
// Definisi Pin LED
const int led1 = 18;
const int led2 = 19;
const int led3 = 20;
const int led4 = 21;
void setup() {
Serial.begin(115200);
// Set pin sebagai OUTPUT
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
// Koneksi ke WiFi
Serial.print("Connecting to WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (client) {
String request = client.readStringUntil('\r');
client.flush();
// Logika Kontrol LED
if (request.indexOf("/led/1/on") != -1) digitalWrite(led1, HIGH);
if (request.indexOf("/led/1/off") != -1) digitalWrite(led1, LOW);
if (request.indexOf("/led/2/on") != -1) digitalWrite(led2, HIGH);
if (request.indexOf("/led/2/off") != -1) digitalWrite(led2, LOW);
if (request.indexOf("/led/3/on") != -1) digitalWrite(led3, HIGH);
if (request.indexOf("/led/3/off") != -1) digitalWrite(led3, LOW);
if (request.indexOf("/led/4/on") != -1) digitalWrite(led4, HIGH);
if (request.indexOf("/led/4/off") != -1) digitalWrite(led4, LOW);
// HTTP Response
client.println("HTTP/1.1 200 OK");
client.println("Content-type: text/plain");
client.println("Connection: close");
client.println();
client.println("OK");
client.stop();
}
}