Ejemplo de ESP32 WebPlotter - Tutorial de visualización de datos en tiempo real
Visión general
El ejemplo WebPlotter crea una interfaz de visualización de datos en tiempo real accesible desde cualquier navegador web. Diseñado para la plataforma educativa ESP32 con capacidades mejoradas de procesamiento de datos, características de trazado en tiempo real e integración perfecta con sistemas de monitoreo de sensores. Perfecto para visualizar datos de sensores, depurar algoritmos o monitorear el rendimiento del sistema en tiempo real.

Características
- Gráficas de datos en tiempo real: Visualiza los datos del sensor a medida que se transmiten desde Arduino
- Múltiples series de datos: Dibuja hasta 8 flujos de datos diferentes de forma simultánea
- Escalado automático: Escalado automático del eje Y según el rango de datos
- Interfaz interactiva: Zoom, desplazamiento y análisis de tendencias de datos
- Comunicación WebSocket: Actualizaciones instantáneas con baja latencia
- Diseño adaptable: Funciona en escritorio, tableta y dispositivos móviles
- Configuración personalizable: Títulos de gráfico ajustables, etiquetas de ejes y rangos
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
Sigue 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 ordenador usando un cable USB.
- Inicia el IDE de Arduino en tu ordenador.
- Selecciona la placa ESP32 adecuada (p. ej. ESP32 Dev Module) y el puerto COM.
- Navega hasta el ícono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca "DIYables ESP32 WebApps", luego localiza la Biblioteca DIYables ESP32 WebApps de DIYables.
- Haz clic en el botón Instalar para instalar la biblioteca.

- Se le pedirá que instale algunas dependencias de otras bibliotecas
- 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 WebPlotter 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 el código al ESP32
- Abre el Monitor Serial
- Consulta el resultado en el Monitor Serial. 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 en tu smartphone o PC.
- Ejemplo: http://192.168.0.2
- Verás la página de inicio como se muestra en la imagen a continuación.

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

- O también puedes acceder a la página directamente mediante la dirección IP seguida de /web-plotter. Por ejemplo: http://192.168.0.2/web-plotter
- Observa cómo el ESP32 genera datos de sensor simulados y los grafica en tiempo real. Verás varias líneas de colores que representan diferentes flujos de datos.
Personalización creativa - Visualiza tus datos de forma creativa
Transforma la interfaz de trazado para que se adapte a los requisitos únicos de tu proyecto y crea visualizaciones de datos impresionantes:
Configuración de la fuente de datos
Reemplazar los datos simulados por lecturas reales de sensores:
Método 1: Lectura de un solo sensor
Método 2: Múltiples sensores
Método 3: Arreglo de Valores
Personalización de gráficos
Apariencia personalizada del gráfico
Configuración dinámica
Procesamiento Avanzado de Datos
Filtro de media móvil
Registro de datos con marcas de tiempo
Ejemplos de Integración
Monitoreo Ambiental
Retroalimentación del control motor
Visualización del Controlador PID
Optimización del rendimiento
Transmisión de Datos Eficiente
Envío de datos condicional
Ideas de Proyectos
Aplicaciones científicas
- Registrador de datos: Registra temperatura, humedad y presión a lo largo del tiempo
- Análisis de vibraciones: Monitorear datos del acelerómetro para sistemas mecánicos
- Monitoreo del pH: Monitorear la calidad del agua en sistemas de acuaponía
- Eficiencia de paneles solares: Monitorear la salida de voltaje y corriente en función de la luz solar
Proyectos Educativos
- Experimentos de Física: Visualizar el movimiento del péndulo, oscilaciones del resorte
- Laboratorio de Química: Monitorear las velocidades de reacción y cambios de temperatura
- Estudios de Biología: Rastrear sensores de crecimiento de plantas, factores ambientales
- Matemáticas: Graficar funciones matemáticas y salidas algorítmicas
Automatización del hogar
- Monitoreo de Energía: Rastrear los patrones de consumo de energía
- Automatización del jardín: Monitorear la humedad del suelo y los niveles de luz
- Control de HVAC: Visualizar las tendencias de temperatura y humedad
- Sistema de Seguridad: Trazar las actividades de los sensores de movimiento
Robótica y Control
- Navegación de robots: Graficar datos de posición y orientación
- Control de motores: Monitorear la velocidad, el par y la eficiencia
- Fusión de sensores: Combinar varias lecturas de sensores
- Planificación de rutas: Visualizar algoritmos de movimiento del robot
Solución de problemas
Problemas Comunes
1. No se muestran datos en el gráfico
- Verificar el estado de la conexión Wi-Fi
- Verificar la conexión WebSocket en la consola del navegador
- Asegurarse de que sendPlotData() se esté llamando regularmente
- Verificar el Monitor Serial en busca de mensajes de error
- El gráfico parece inestable o errático
- Implementar filtrado de datos (media móvil)
- Reducir la frecuencia de envío de datos
- Comprobar el ruido del sensor o problemas de conexión
- Verificar la estabilidad de la fuente de alimentación
3. Problemas de rendimiento del navegador
- Reducir el número máximo de muestras (setMaxSamples())
- Disminuir la tasa de transmisión de datos
- Cerrar otras pestañas del navegador
- Usar la aceleración por hardware en el navegador
- Caídas de la conexión WebSocket
- Verificar la intensidad de la señal WiFi
- Verificar la configuración del router (firewall, bloqueo de puertos)
- Implementar la lógica de reconexión en código personalizado
- Monitorear el uso de memoria del ESP32
Consejos de depuración
Habilitar registro detallado
Generación de datos de prueba
Características Avanzadas
Formato de datos personalizado
Integración con otras aplicaciones web
Control en tiempo real con gráficos
Próximos pasos
Después de dominar el ejemplo de WebPlotter, explore:
- MultipleWebApps - Combina gráficos con interfaces de control
- WebMonitor - Capacidades de depuración junto a la visualización de gráficos
- Custom Applications - Desarrolla tus propias herramientas de trazado especializadas
- Data Analysis - Implementa análisis estadístico de los datos trazados
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
- Herramientas de depuración de WebSocket en la consola de desarrollo del navegador