Temply: Monitoreo de Temperatura y Humedad (en desarrollo)

Un proyecto full-stack para la recolección, procesamiento y visualización de datos de sensores IoT en tiempo real, desde el firmware en un ESP32 hasta un dashboard web serverless.

ESP32 IoT Cloudflare Hono Astro React TypeScript PostgreSQL Prisma PlatformIO

🔗 Enlaces

El Proyecto

Temply es una solución completa de monitoreo de sensores que captura datos de temperatura y humedad del mundo físico y los presenta en un dashboard web interactivo. El objetivo era construir un sistema robusto, escalable y de bajo costo, cubriendo todo el ciclo de vida de los datos: desde su origen en un microcontrolador hasta su análisis en una interfaz de usuario final.

Mi Rol

Como único desarrollador, diseñé y construí la solución completa, abarcando las tres áreas clave del proyecto:

  1. Ingeniería de Firmware: Programación del microcontrolador ESP32 para una recolección de datos fiable y una comunicación segura.
  2. Desarrollo Backend: Creación de una API serverless para la ingesta, autenticación y almacenamiento de datos.
  3. Desarrollo Frontend: Diseño y construcción de una aplicación web para la visualización y gestión de los datos por parte del usuario.

Decisiones Clave de Arquitectura y Tecnología

La elección del stack tecnológico fue fundamental para cumplir los objetivos de escalabilidad y bajo costo del proyecto.

  • Firmware (ESP32 con PlatformIO): Se eligió el ESP32 por su excelente relación costo-beneficio, su conectividad WiFi integrada y su amplio soporte por parte de la comunidad. PlatformIO facilitó un entorno de desarrollo profesional para el hardware.

  • Backend (Hono en Cloudflare Workers): Opté por una arquitectura serverless para eliminar la necesidad de gestionar servidores, permitiendo una escalabilidad automática y un modelo de pago por uso. Hono se seleccionó por ser un framework ultraligero y de alto rendimiento, ideal para el entorno de Cloudflare Workers. Prisma garantizó un acceso a la base de datos PostgreSQL seguro y tipado.

  • Frontend (Astro con React): Astro fue la elección principal para el frontend por su enfoque en el rendimiento, generando un sitio mayormente estático que carga extremadamente rápido. Los componentes que requieren alta interactividad, como los gráficos en tiempo real, se implementaron como “islas” de React, combinando lo mejor de ambos mundos.

Características Destacadas

  • Monitoreo en Tiempo Real: Visualización de las lecturas de los sensores a medida que llegan.
  • Gestión de Múltiples Dispositivos: Registro y administración de varios dispositivos IoT desde una sola cuenta.
  • Autenticación Segura: Sistema de autenticación basado en JWT para usuarios y API Keys para dispositivos.
  • Dashboard Analítico: Gráficos detallados para analizar las tendencias de temperatura y humedad a lo largo del tiempo.
  • Arquitectura Escalable y Eficiente: Basado en tecnologías serverless para soportar un crecimiento con costos controlados.