Actividad 10
Actividad 10

Servidor Web con ESP32
Esta actividad consiste en conectar el ESP32 a una red WiFi y crear un servidor web al que poder conectarse desde un navegador para ver información enviada de la placa NodeMCU. Solamente se necesita la Placa NodeMCU y una red WiFi con acceso a las credenciales.
Nota importante
Ten en cuenta que para acceder al servidor web generado por el ESP32 hay que utilizar un navegador web como Google Chrome desde otro dispositivo conectado a la misma red WiFi y colocar la IP y el puerto en la que esté conectado la NodeMCU.
Por ejemplo: 192.168.1.1:3000. Si usamos el puerto 80 no es necesario poner en la búsqueda :80.
Solución en C/C++
// Incluir librerías necesarias
#include <WiFi.h>
// Creamos un Servidor Web en el puero 80
WiFiServer servidor(80);
// Credenciales de la red WiFi donde conectarse
const char* ssid = "NombreDeTuWiFi";
const char* pawd = "ClaveDeTuWiFi";
// Variable para guardar la petición HTTP
String header;
void setup() {
// Inicializamos el monitor serial
Serial.begin(9600);
// Iniciamos la conexión WiFi
WiFi.begin(ssid, pawd);
// Esperamos que el ESP32 se conecte al WiFi
Serial.print("Conectando");
while(WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
// Mostramos por serial la IP donde accederemos
Serial.println();
Serial.print("Conectado a: ");
Serial.println(ssid);
Serial.print("Dirección IP: ");
Serial.println(WiFi.localIP());
// Inicializamos el servidor web
servidor.begin();
}
void loop() {
// Verificamos clientes conectados
WiFiClient cliente = servidor.available();
// Comprobamos si hay clientes conectados
if(cliente) {
Serial.println("Nuevo cliente");
String lineaActual = "";
// Esperamos que el cliente haga una petición
while(cliente.connected()) {
if(cliente.available()) {
// Preparar variables para leer petición del cliente
char c = cliente.read();
Serial.write(c);
header += c;
// Si el byte es un caracter de salto de línea
if (c == '\n') {
if(lineaActual.length() == 0) {
// Enviamos respuesta al cliente
cliente.println("HTTP/1.1 200 OK");
cliente.println("Content-type: text/html");
cliente.println("Connection: close");
cliente.println();
cliente.println("<!DOCTYPE html>");
cliente.println("<html>");
cliente.println("<head>");
cliente.println("<title>ESP32 Server</title>");
cliente.println("</head><body>");
cliente.println("<h1>Hola desde NodeMCU!</h1>");
cliente.println("</body></html>");
cliente.println();
break;
} else {
lineaActual = "";
}
// Cuando llega un retorno de carro, agregamos a la línea actual
} else if (c != '\r') {
lineaActual += c;
}
}
}
// Desconectamos al cliente
cliente.stop();
Serial.println("Cliente desconectado");
}
}
| Vistas | |
|---|---|
| 0 | Número de vistas |
| 0 | Vistas de miembros |
| 0 | Vistas públicas |
| Acciones | |
|---|---|
| 0 | Gustos |
| 0 | No me gusta |
| 0 | Comentarios |
Compartir por correo
Por favor iniciar sesión para compartir esto webpage por correo.