#include #include // --- Pin definition --- #define LED1 D3 #define LED2 D5 WebServer server(80); // --- LED states --- bool led1State = false; bool led2State = false; // --- WiFi credentials --- const char* ssid = "XIAO_ESP32"; // --- HTML page --- String getHTML() { String html = ""; html += ""; html += ""; // --- JavaScript (AJAX) --- html += ""; html += ""; html += "

BENI ALVAREZ PCB - LED Control

"; html += "

XIAO ESP32-C6 Web Interface

"; // --- LED 1 --- html += "

LED D3

"; html += "

Status: " + String(led1State ? "ON" : "OFF") + "

"; html += ""; html += ""; // --- LED 2 --- html += "

LED D5

"; html += "

Status: " + String(led2State ? "ON" : "OFF") + "

"; html += ""; html += ""; html += ""; return html; } // --- Root page --- void handleRoot() { server.send(200, "text/html", getHTML()); } // --- LED routes --- void led1On() { led1State = true; digitalWrite(LED1, HIGH); Serial.println("LED D3 ON"); server.send(200, "text/plain", "LED D3 ON"); } void led1Off() { led1State = false; digitalWrite(LED1, LOW); Serial.println("LED D3 OFF"); server.send(200, "text/plain", "LED D3 OFF"); } void led2On() { led2State = true; digitalWrite(LED2, HIGH); Serial.println("LED D5 ON"); server.send(200, "text/plain", "LED D5 ON"); } void led2Off() { led2State = false; digitalWrite(LED2, LOW); Serial.println("LED D5 OFF"); server.send(200, "text/plain", "LED D5 OFF"); } void setup() { Serial.begin(115200); delay(1000); // --- Pins --- pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); // --- WiFi Access Point --- WiFi.softAP(ssid); Serial.println("=== WiFi Access Point ==="); Serial.print("SSID: "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.softAPIP()); Serial.println("Connect to this WiFi network and open the IP in your browser."); // --- Routes --- server.on("/", handleRoot); server.on("/led1/on", led1On); server.on("/led1/off", led1Off); server.on("/led2/on", led2On); server.on("/led2/off", led2Off); server.begin(); Serial.println("Web server started"); } void loop() { server.handleClient(); }