💻 Programacion de Hardware

servidor web en el ESP32.

La idea será: 👉 Enviar un dato desde el celular o navegador 👉 El ESP32 lo recibe por WiFi 👉 Controla el LED

JH
Jorge Henao · 8 de abril de 2026 · 5 min de lectura · 16 visitas
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