UTEC · Sistemas embebidos
IoTEste EcoWarm
Prototipo de domótica: sensores simulados que publican temperatura y humedad por MQTT en tiempo real.
- Rol
- Desarrollo (proyecto académico en equipo)
- Año
- 2024
- Stack
- JavaMQTTEclipse MosquittoDocker ComposeIoT
El problema
El objetivo era entender cómo se comunican los dispositivos de una casa inteligente sin depender del hardware físico, que no siempre estaba disponible. La solución fue simular los sensores y montar la misma arquitectura de mensajería que usaría un sistema real.
Qué construí
- Simulador de sensores que genera lecturas de temperatura y humedad y las publica por MQTT.
- Broker Eclipse Mosquitto como intermediario entre productores y consumidores.
- Consumidor en Java que se suscribe a los tópicos y procesa las lecturas en tiempo real.
- Orquestación completa con Docker Compose: todo el sistema levanta con un comando.
Decisiones técnicas
MQTT en vez de HTTP
MQTT está pensado para dispositivos con poca capacidad y conexiones inestables: el modelo publicar/suscribir desacopla sensores de consumidores, así que sumar un sensor nuevo no obliga a tocar el que consume los datos.
Simular los sensores
Simular el hardware permitió trabajar sin depender de la disponibilidad de las placas y, además, probar casos límite (valores extremos, cortes de conexión) que con sensores reales son difíciles de reproducir a pedido.
Docker Compose como definición del sistema
El proyecto son varias piezas que tienen que hablar entre sí. Definirlas en un compose dejó documentada la arquitectura y volvió el arranque reproducible para cualquiera del equipo.
Qué me llevé
- Cómo funciona un patrón publicar/suscribir y por qué desacoplar productores de consumidores cambia el diseño.
- Orquestar varios servicios que dependen entre sí y depurar la comunicación cuando algo no llega.
- Que un buen prototipo no necesita hardware real para validar la arquitectura.