01. Informacion del proyecto - diegogopa/Challenge-IOT GitHub Wiki
1. Información del proyecto
1.1 Nombre del proyecto
Sistema IoT para el monitoreo de disponibilidad y escasez de agua en la región Sabana Centro, Cundinamarca.
1.2 Área
Internet de las Cosas (IoT)
1.3 Institución
Universidad de La Sabana – Facultad de Ingeniería
1.4 Periodo académico
2026-2
1.5 Equipo de trabajo
| Integrante | Rol principal |
|---|---|
| Victor Andres Luna | Desarrollo de hardware e integración |
| Federico Valdez Muñoz | Desarrollo de software y pruebas |
| Diego Alejandro Gómez | Diseño, documentación e integración del sistema |
Los integrantes participaron de manera conjunta en el montaje, programación, validación y presentación del prototipo.
1.6 Contribuciones detalladas — Challenge #2
| Integrante | Rol | Actividades realizadas | Secciones / módulos relacionados |
|---|---|---|---|
| Victor Andres Luna | Hardware e integración | Selección y adecuación de la caja comercial de protección (Halux), apertura con Dremel para el fotodiodo del sensor de radiación y el DHT22, montaje físico del prototipo dentro de la caja y posicionamiento del sensor HC-SR04. | Sección 6, sección 17 |
| Federico Valdez Muñoz | Software y pruebas | Desarrollo del firmware hasta la versión v3.2: máquina de estados con histéresis, detección de FUGA y ERROR_SENSOR, filtrado de nivel mediante mediana + EMA, integración del BMP180 en el bus I2C compartido (mutex I2C), regla de presión en la lógica de fusión, detección y recuperación automática de fallas por sensor, tarea de sensado con mutex, servidor web y tablero de control local. Ejecución de los bancos de pruebas B1–B6. | Secciones 7, 8, 9 y 11 |
| Diego Alejandro Gómez | Documentación e integración | Actualización de la Wiki, diagramas UML, documentación del banco de pruebas, declaración de uso de IA y preparación de la sustentación. | Secciones 5, 10, 11, 16 y 19 |
Las contribuciones anteriores deben corresponder a las actividades efectivamente realizadas por cada integrante. Cualquier actividad adicional realizada durante la etapa final de integración deberá registrarse en esta tabla antes de la entrega.
1.7 Descripción general
El proyecto consiste en el desarrollo de un sistema IoT capaz de medir y analizar en tiempo real condiciones relacionadas con la disponibilidad de agua en un punto de almacenamiento.
El ESP32 recibe información de cuatro sensores —HC-SR04 (nivel), DHT22 (temperatura y humedad), GUVA-S12SD (radiación UV) y BMP180 (presión atmosférica)— y procesa las mediciones en una tarea de sensado independiente del hilo principal. El nivel de agua filtrado es la variable principal; la tasa de cambio del nivel, el índice de evaporación potencial y la tendencia de la presión se fusionan con él para detectar condiciones anómalas.
La versión v3.2 del firmware contempla cinco estados:
OKSEQUIADESBORDEFUGAERROR_SENSOR
Para mejorar la estabilidad de las decisiones se utiliza filtrado mediante mediana y promedio móvil exponencial (EMA), además de histéresis en los umbrales de SEQUIA y DESBORDE. De forma independiente al estado, el sistema vigila cada componente (DHT22, BMP180, GUVA-S12SD, ultrasónico, OLED y WiFi) y avisa si alguno se desconecta.
La información se presenta en una pantalla OLED y, ante una alarma, se activa un buzzer. Un tablero de control web servido por el propio ESP32 dentro de la WLAN de la zona permite consultar el estado actual, el histórico y el registro de eventos, y silenciar la alarma física.
La detección y las alertas in situ no dependen de la red: si la WLAN se pierde, el sensado, la clasificación, la OLED y el buzzer siguen funcionando.
1.8 Evolución respecto al Challenge #1
La versión desarrollada para Challenge #2 incorpora las siguientes mejoras respecto al prototipo inicial:
- Filtrado de las mediciones del HC-SR04 mediante mediana y EMA, con compensación de la velocidad del sonido por temperatura.
- Incorporación de histéresis en la clasificación de estados.
- Incorporación de los estados
FUGAyERROR_SENSOR. - Uso de la tasa de cambio del nivel para detectar pérdidas anómalas.
- Incorporación de un índice de evaporación potencial que participa en la decisión.
- Incorporación del sensor de presión BMP180 y de la regla de caída de presión en la lógica de fusión.
- Detección de desconexión y recuperación automática de cada sensor, la OLED y el WiFi.
- Separación de la adquisición de datos en una tarea FreeRTOS.
- Protección de los datos compartidos y del bus I2C mediante mutex.
- Tablero de control web embebido en la WLAN, con control de acceso.
- Registro de eventos e histórico de mediciones.
- Evolución del montaje desde la protoboard hacia una caja comercial de protección con tapa transparente.
Estas mejoras se documentan con mayor detalle en la sección 19.