proyectos

Awita

Monitor IoT de agua construido para regiones con suministro de agua irregular. Los sensores miden el nivel del tanque, el dashboard muestra datos en tiempo real, y ML predice cuándo te quedarás sin agua.

Proyecto Personal
Main image
1/3
Thumbnail 2
Thumbnail 3

El Problema

En Baja California, el agua no está garantizada. Muchos hogares dependen de pipas que llegan en horarios irregulares, y los tanques de almacenamiento son el único amortiguador entre tener agua y quedarse seco. Quería construir algo que te dijera exactamente cuánta agua te queda y te avisara antes de que se acabe.

Cómo Funciona

  1. 1Un Arduino con un sensor ultrasónico se coloca sobre tu tanque de agua, midiendo la distancia a la superficie cada 60 segundos.
  2. 2Las lecturas se envían a una Lambda de AWS mediante API Gateway, que calcula el porcentaje de agua y lo almacena en MySQL.
  3. 3Un dashboard en React muestra tu nivel actual de agua como un medidor animado, con gráficos históricos de 24 horas, 7 días y 30 días.
  4. 4Un modelo LSTM (Python/TensorFlow) analiza patrones de uso y predice cuántas horas faltan para que el tanque se vacíe, con puntajes de confianza.
  5. 5Alertas por correo te notifican cuando el agua baja de un umbral configurable o cuando el sensor deja de reportar (desconexión).

Qué Construí

Diseñé la arquitectura completa: firmware Arduino que se registra solo al primer arranque, Lambda para ingesta de sensores y envío de notificaciones, API NestJS detrás de API Gateway, y un SPA React con autenticación Clerk.

Construí el servicio de predicciones: una red neuronal LSTM entrenada con datos históricos de uso e hiperparámetros optimizados con algoritmo genético. Las predicciones se cachean en Redis y se sirven mediante un endpoint de FastAPI.

Resultados

El sistema procesa más de 1,000 lecturas diarias con latencia < 200 ms. El modelo de predicción logra buena precisión en pronósticos de 24 horas.

Tecnologías

ReactNestJSMySQLAWSArduinoTensorFlow