Ejemplo de ESP32 WebMonitor - Tutorial del Monitor Serial Basado en la Web
Visión general
El ejemplo WebMonitor reemplaza al Monitor Serial tradicional con una interfaz basada en la web accesible desde cualquier dispositivo en tu red. Diseñado para ESP32, plataforma educativa con capacidades IoT mejoradas, monitoreo de sensores integrado y una integración fluida con el ecosistema educativo.

Características
- Salida serie en tiempo real: Ver mensajes ESP32 al instante en el navegador
- Entrada de comandos: Enviar comandos desde la interfaz web al Arduino
- Tema oscuro: Interfaz de estilo terminal suave para la vista
- Desplazamiento automático: Se desplaza automáticamente a los mensajes más recientes
- Marca de tiempo: Todos los mensajes incluyen marcas de tiempo
- Historial de comandos: Navega por los comandos anteriores con las teclas de flecha
- Función de limpieza: Limpiar la pantalla del monitor
- Copiar/Pegar: Soporte completo para seleccionar todo el texto y copiar
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Instrucciones de Configuración
Pasos Rápidos
Siga estas instrucciones paso a paso:
- Si es la primera vez que usas el ESP32, consulta el tutorial sobre configurar el entorno para ESP32 en el IDE de Arduino.
- Conecta la placa ESP32 a tu computadora usando un cable USB.
- Inicia el IDE de Arduino en tu computadora.
- Selecciona la placa ESP32 adecuada (p. ej. ESP32 Dev Module) y el puerto COM.
- Navega al icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca "DIYables ESP32 WebApps", luego localiza la DIYables ESP32 WebApps Library de DIYables
- Haz clic en el botón Instalar para instalar la biblioteca.

- Se le pedirá instalar algunas otras dependencias de la biblioteca
- Haga clic en el botón Instalar todo para instalar todas las dependencias de la biblioteca.

- En el IDE de Arduino, ve a Archivo Ejemplos DIYables ESP32 WebApps WebMonitor ejemplo, o copia el código anterior y pégalo en el editor del IDE de Arduino
- Configura las credenciales de WiFi en el código actualizando estas líneas:
- Haz clic en el botón Subir en el IDE de Arduino para subir código al ESP32
- Abre el monitor serie
- Consulta el resultado en el monitor serie. Se parece a lo que se muestra a continuación
- Si no ves nada, reinicia la placa ESP32.
- Toma nota de la dirección IP que se muestre y escribe esta dirección en la barra de direcciones de un navegador web en tu teléfono inteligente o PC.
- Ejemplo: http://192.168.0.2
- Verás la página de inicio como en la imagen a continuación:

- Haz clic en el enlace de Web Monitor; verás la interfaz de usuario de la aplicación Web Monitor como se muestra a continuación:

- O también puedes acceder a la página directamente mediante la dirección IP seguida de /web-monitor. Por ejemplo: http://192.168.0.2/web-monitor
- Intenta enviar comandos a tu ESP32 mediante la interfaz del monitor web y ver la salida serie en tiempo real de tu Arduino.
Cómo usar
Visualización de la salida serial
- Abrir la interfaz del monitor web
- ESP32 envía automáticamente mensajes de estado cada 5 segundos
- Toda la salida de Serial.println() aparece en el monitor
- Los mensajes llevan marca de tiempo automáticamente
Enviando comandos
- Escribe comandos en el campo de entrada en la parte inferior
- Presiona Enter o haz clic en el botón Enviar
- ESP32 procesa el comando y responde
Comandos integrados
El ejemplo incluye estos comandos de demostración:
Control de LED
- "LED encendido" → Enciende el LED incorporado
- "LED apagado" → Apaga el LED incorporado
- "Conmutar LED" → Alterna el estado del LED
- "Parpadea" → Parpadea el LED 3 veces
Comandos del sistema
- "status" → Muestra el estado del ESP32 y el tiempo de actividad
- "help" → Enumera los comandos disponibles
- "reset counter" → Restablece el contador de mensajes
- "memory" → Muestra información de memoria libre
Comandos de depuración
- "test" → Envía un mensaje de prueba
- "echo [message]" → Devuelve tu mensaje
- "repeat [n] [message]" → Repite el mensaje n veces
Características de la interfaz
Atajos de teclado
- Intro → Enviar comando
- ↑/↓ Teclas de flecha → Navegar por el historial de comandos
- Ctrl+L → Limpiar la consola (si está implementado)
- Ctrl+A → Seleccionar todo el texto
Controles del monitor
- Desplazamiento automático → Se desplaza automáticamente a los mensajes nuevos
- Limpiar → Limpia la pantalla del monitor
- Copiar → Copia el texto seleccionado al portapapeles
Personalización creativa - Construye tu herramienta de depuración avanzada
Amplía este ejemplo de monitor web para crear una potente interfaz de depuración y control para tus proyectos. ¡Añade comandos personalizados, monitorización de sensores y visualización de datos en tiempo real para satisfacer tus necesidades creativas!
Estructura del código
Componentes Principales
- Servidor de la aplicación web: Maneja conexiones HTTP y WebSocket
- Página de Monitor: Proporciona una interfaz web de estilo terminal
- Manejador de mensajes: Procesa comandos entrantes
- Puente Serial: Reenvía la salida serial a la interfaz web
Funciones clave
Añadir comandos personalizados
Para agregar nuevos comandos, modifique la función handleWebCommand:
Aplicaciones Prácticas
Desarrollo y Depuración
Monitoreo remoto del sistema
Gestión de la configuración
Características avanzadas
Filtrado de mensajes
Agregar tipos de mensajes y filtrado:
Análisis de comandos
Implementar un análisis de comandos sofisticado:
Registro de datos
Grabar datos de monitorización en la tarjeta SD o EEPROM:
Solución de problemas
Problemas comunes
- Sin salida en el monitor web
- Verificar que Serial.begin() se llame en setup()
- Verificar la conexión WebSocket (indicador de estado verde)
- Verificar la consola del navegador en busca de errores
2. Comandos que no funcionan
- Asegúrate de que los comandos sean exactamente como se especifican
- Verifica la sensibilidad de los comandos a mayúsculas y minúsculas
- Busca mensajes de respuesta en el monitor
3. La interfaz se está cargando lentamente
- Comprobar la intensidad de la señal WiFi
- Reducir la frecuencia de mensajes
- Borrar la caché del navegador
4. Desconexiones de WebSocket
- Verificar la estabilidad de la red
- Reducir el tamaño del mensaje
- Implementar la lógica de reconexión
Consejos de depuración
Habilitar depuración detallada:
Monitorear el estado de WebSocket:
Consideraciones de Seguridad
Validación de comandos
Siempre valide los comandos entrantes:
Control de acceso
Implementar la autenticación básica:
Ejemplos de Integración
Sistema de Monitoreo de Sensores
Monitor de Domótica
Próximos pasos
Después de dominar el ejemplo WebMonitor, prueba:
- Chat - Para comunicación interactiva
- DigitalPins - Para controlar salidas
- Slider - Para control de valor analógico
- MultipleWebApps - Combinando monitoreo con control
Soporte
Para obtener ayuda adicional:
- Consulta la documentación de la API
- Visita los tutoriales de DIYables: https://esp32io.com/tutorials/diyables-esp32-webapps
- Foros de la comunidad ESP32