Información del Proyecto
📘 Acerca del Proyecto IoT Weather Station
Este proyecto corresponde a una estación meteorológica IoT desarrollada como parte del componente académico de la maestría en Ingeniería de Software con énfasis en Inteligencia Artificial en la Broward International University (BIU). Su propósito es implementar un sistema de captura, transmisión, almacenamiento y visualización de datos ambientales utilizando tecnologías modernas.
La arquitectura integra un ESP32 con sensores ambientales simulados (DHT22 para temperatura y humedad, presión atmosférica generada por algoritmo determinístico controlado) y un backend construido en PHP + MySQL. Los datos se presentan en un dashboard interactivo, con KPIs, gauges semicirculares y gráficos de evolución generados mediante Chart.js.
Objetivos del proyecto
- Implementar un sistema IoT funcional con envío de datos en tiempo real mediante REST API.
- Diseñar un dashboard profesional para visualización de variables meteorológicas.
- Demostrar habilidades en programación, telemetría, visualización y arquitectura IoT moderna.
- Documentar el sistema siguiendo estándares académicos de la maestría.
⚙️ Configuración del Panel de Monitoreo
El panel de monitoreo permite personalizar parámetros clave como:
- Número de lecturas por página: configurable desde 10 hasta 200 registros.
- Auto-refresco: activa o desactiva la consulta periódica al backend.
- Filtro por dispositivo: muestra únicamente las lecturas del device_id seleccionado.
- Exportación CSV: genera un archivo con todas las lecturas mostradas.
- Base API: permite cambiar el dominio del backend en tiempo real.
Esta configuración se almacena en localStorage, permitiendo persistencia incluso
al recargar el navegador.
Modelo Técnico
La comunicación entre el panel y el backend se realiza mediante fetch, con controladores de abortado, timeout personalizado y manejo de estados de red. Los gráficos se regeneran dinámicamente cuando los datos cambian, utilizando límites de puntos, normalización robusta y escalas múltiples.