#include <WiFi.h>
#include <WebServer.h>
// Ganti dengan kredensial WiFi Anda
const char* ssid = "SMK 8";
const char* password = "";
WebServer server(80); // Membuat server di port 80
const int ledPin = 13; // Pin GPIO yang terhubung ke LED
void setup() {
Serial.begin(115200);
// Inisialisasi pin LED
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
// Terhubung ke WiFi
WiFi.begin("SMK 8", "");
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("Connected!");
// Tampilkan alamat IP
Serial.println(WiFi.localIP());
// Rute untuk menampilkan halaman web
server.on("/", handleRoot);
// Rute untuk menghidupkan LED
server.on("/on", []() {
digitalWrite(ledPin, HIGH);
server.send(200, "text/html", "<h1>LED is ON</h1><a href='/'>Back</a>");
});
// Rute untuk mematikan LED
server.on("/off", []() {
digitalWrite(ledPin, LOW);
server.send(200, "text/html", "<h1>LED is OFF</h1><a href='/'>Back</a>");
});
// Memulai server
server.begin();
Serial.println("Server started");
}
void loop() {
// Menangani permintaan klien
server.handleClient();
}
// Fungsi untuk menampilkan halaman utama
void handleRoot() {
String html = "<h1>ESP32 LED Control</h1>";
html += "<a href=\"/on\"><button>Turn ON</button></a><br>";
html += "<a href=\"/off\"><button>Turn OFF</button></a>";
server.send(200, "text/html", html);
}