ESP32 · FreeRTOS · IoT · Caso de estudio

Data Logger IoT con FreeRTOS

Sistema embebido multitarea para adquisición de sensores ambientales con telemetría robusta. Demuestra integración completa desde firmware C hasta dashboard Python con observabilidad end-to-end.

Arquitectura del sistema

1

Adquisición multisensor

Tarea FreeRTOS dedicada para lectura de sensores T/RH/presión via I²C con timing preciso

2

Buffer y journaling

Cola FreeRTOS + almacenamiento local en SPIFFS para resiliencia ante cortes de conectividad

3

Telemetría MQTT/HTTP

Envío robusto con reconnect automático, backoff exponencial y validación de delivery

4

API Python + SQL

FastAPI endpoint que recibe JSON, valida datos y persiste en SQL Server con timestamp

5

Dashboard y alertas

Visualización en tiempo real con Grafana/Streamlit y alertas por umbrales críticos

Detalles de implementación

1. Estructura de tareas FreeRTOS

[Espacio reservado para explicar la estructura de tareas: sensor_task (prioridad alta), storage_task (prioridad media), telemetry_task (prioridad baja), configuración de stacks y timing]

Por implementar: Diagrama de tareas y código de ejemplo

2. Protocolo de comunicación

[Espacio reservado para documentar el protocolo JSON: estructura de mensajes, campos obligatorios, timestamp format, manejo de errores y acknowledgments]

Por implementar: Especificación del protocolo y ejemplos

3. Métricas y observabilidad

[Espacio reservado para explicar las métricas recolectadas: jitter de tareas, uso de memoria, calidad de señal WiFi, pérdida de paquetes y latencia end-to-end]

Por implementar: Dashboard de métricas y código de monitoring

Resultados y métricas

[Espacio reservado para documentar los resultados del proyecto: métricas de performance alcanzadas, gráficos de estabilidad, casos de prueba de resiliencia y comparativas con soluciones comerciales]

Performance alcanzada

  • Jitter de adquisición < 50ms (target: 1 segundo)
  • Pérdida de datos < 0.5% en prueba 24h
  • Consumo promedio: