servidor web en el ESP32.
wifi.ino
#include <WiFi.h>
// 🔹 Cambia estos datos por tu red WiFi
const char* ssid = "TU_WIFI";
const char* password = "TU_PASSWORD";
WiFiServer server(80);
int ledPin = 2;
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
// 🔹 Conexión WiFi
Serial.println("Conectando a WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi conectado");
Serial.print("IP del ESP32: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (client) {
Serial.println("Cliente conectado");
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// 🔹 Control del LED según la URL
if (request.indexOf("/A") != -1) {
digitalWrite(ledPin, HIGH);
Serial.println("LED ENCENDIDO");
}
if (request.indexOf("/B") != -1) {
digitalWrite(ledPin, LOW);
Serial.println("LED APAGADO");
}
// 🔹 Respuesta básica HTML
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<html><body>");
client.println("<h1>Control LED ESP32</h1>");
client.println("<a href=\"/A\">Encender</a><br>");
client.println("<a href=\"/B\">Apagar</a>");
client.println("</body></html>");
delay(1);
client.stop();
Serial.println("Cliente desconectado");
}
}Cómo probarlo (PASO A PASO)
1) Subes el código al ESP32
2) Abres el monitor serial
3) Copias la IP (ej: 192.168.1.50)
4) En tu celular o PC entras a:
http://192.168.1.50/A
👉 Enciende LED
http://192.168.1.50/B
👉 Apaga LED