Repository navigation
Home
Universidad de La Sabana – Facultad de Ingeniería
- Victor Andres Luna
- Federico Valdez Muñoz
- Diego Alejandro Gómez
Andres Felipe Beltran
El presente proyecto desarrolla un prototipo funcional de Internet de las Cosas (IoT), AquaMonitor v3.2, orientado al monitoreo de condiciones asociadas con la disponibilidad y escasez de agua en puntos críticos de almacenamiento de la región de Sabana Centro, Cundinamarca, en el contexto del fenómeno de El Niño 2026.
El sistema utiliza un microcontrolador ESP32 DevKit V1 como unidad central de procesamiento e integra cuatro sensores:
- HC-SR04: distancia hasta la superficie del agua (nivel), con compensación de la velocidad del sonido por temperatura.
- DHT22: temperatura y humedad relativa.
- GUVA-S12SD: radiación ultravioleta (señal analógica convertida a índice UV).
- BMP180: presión atmosférica absoluta, conectado por I2C y compartiendo el bus con la pantalla OLED.
La medición se ejecuta en una tarea FreeRTOS independiente del hilo principal. El nivel se filtra mediante mediana y promedio móvil exponencial (EMA) y se calcula su tendencia y su tasa de cambio. Una lógica de fusión basada en reglas combina nivel, tasa de cambio, un índice de evaporación potencial (temperatura + humedad + UV) y la tendencia de la presión atmosférica para clasificar el sistema en cinco estados: OK, DESBORDE (nivel ≥ 95 %, con histéresis), FUGA (caída de nivel mayor que la explicada por la evaporación esperada), SEQUÍA (nivel bajo, o nivel en zona de riesgo con evaporación alta; el umbral de evaporación se vuelve más estricto si la presión cae ≥ 2 hPa en 3 h) y ERROR_SENSOR (el sensor de nivel deja de entregar eco válido).
Además, el firmware detecta de forma individual la desconexión o falla de cada componente (DHT22, BMP180, GUVA-S12SD, ultrasónico, OLED y WiFi), lo notifica en la OLED, en el tablero web y en el registro de eventos, emite un aviso sonoro y reinicializa automáticamente el componente cuando vuelve.
Las alertas in situ (OLED y buzzer) no dependen de la red. Sobre la WLAN de la zona, el ESP32 aloja un tablero de control web embebido con valor actual, histórico reciente (60 muestras, una por minuto), registro de eventos, avisos de falla y botón para silenciar la alarma física. El acceso está restringido a dispositivos dentro de la subred de la WLAN y con usuario y contraseña. No se usa MQTT, nube ni servidores externos.
This project presents AquaMonitor v3.2, a low-cost IoT prototype for monitoring water availability and scarcity at critical storage points in the Sabana Centro region (Cundinamarca, Colombia) during the 2026 El Niño event.
An ESP32 DevKit V1 integrates an HC-SR04 ultrasonic sensor (water level, with temperature-compensated speed of sound), a DHT22 (temperature and relative humidity), a GUVA-S12SD (UV index) and a BMP180 (barometric pressure) sharing the I2C bus with an SH1106 OLED display. Sensing runs in a dedicated FreeRTOS task, separate from the main loop, with shared data protected by mutexes.
A rule-based fusion logic combines filtered water level (median + EMA), rate of change, a potential-evaporation index (temperature, humidity and UV) and the 3-hour pressure trend to classify five states: OK, OVERFLOW, LEAK, DROUGHT and SENSOR_ERROR, with hysteresis to avoid alarm chattering. The firmware also detects disconnection of each individual component and recovers automatically when it is reconnected.
On-site alerts (OLED and buzzer) work without any network. An embedded web dashboard, served by the ESP32 over the local WLAN and restricted to authenticated devices within the authorized subnet, shows current values, recent history, an event log and lets authorities silence the physical alarm. No MQTT or cloud services are used.
- Repositorio del código
- Wiki del proyecto
-
Video demostrativo:
[PEGAR ENLACE AL VIDEO]
| Bloque | Secciones |
|---|---|
| Contexto y planteamiento | 1 – 3 |
| Solución propuesta (diseño) | 4 – 9, 13, 17 |
| Validación experimental | 10 – 12 |
| Cierre | 14, 19 |
| Material complementario | 15, 16, 18 |
- Información del proyecto
- Contexto, problema y objetivos
- Requisitos y restricciones
- Componentes y selección tecnológica
- Arquitectura del sistema
- Diseño de hardware
- Diseño de software
- Lógica de fusión
- Implementación
- Configuración experimental
- Pruebas y resultados
- Autoevaluación
- Modelo de negocio
- Conclusiones y trabajo futuro
- Anexos
- Declaración de uso de Inteligencia Artificial
- Carcasa y montaje físico
- Checklist de entrega
- Mejoras respecto al Challenge #1