Plataforma IoT de Consumo Eléctrico ESP32 + ZMPT101B + SCT-013 · Backend en Render · Dashboard PWA

El consumo eléctrico excesivo impacta el ambiente, el bolsillo y la red eléctrica

Cada pico de consumo y cada kilovatio desperdiciado obligan a aumentar la generación energética. Cuando esa generación depende de fuentes no renovables, el resultado es más emisiones y más presión sobre los recursos. Este proyecto convierte mediciones reales en información clara, para comprender, anticipar y reducir el consumo.

Estado del sistema
Monitoreo de voltaje y corriente
Envío de datos a BD vía backend en Render
Latencia end-to-end visible en el dashboard

Cómo funciona el sistema

Este sistema mide variables eléctricas desde una instalación real y las transforma en registros digitales. Los sensores (voltaje y corriente) entregan señales analógicas al ESP32...

Flujo físico (hardware)

  • Red eléctrica (AC) → carga (ej. foco)
  • ZMPT101B mide voltaje AC (aislado)
  • SCT-013 mide corriente sin cortar el cable
  • ESP32 lee señales analógicas (ADC)

Flujo digital (software)

  • ESP32 → WiFi
  • Backend en Render
  • BD MongoDB
  • Dashboard web

Protocolos de comunicación (por capas)

Sensores → ESP32

  • Señal analógica (ZMPT101B y SCT-013)
  • ADC del ESP32 (conversión a digital)
  • Muestreo + filtrado (promedio / RMS / calibración)

ESP32 → Backend (Render)

  • WiFi (802.11) como enlace
  • HTTP/HTTPS (REST) para envío de datos
  • JSON como formato de payload
  • Opcional futuro: MQTT (menor overhead)

Backend → Base de datos

  • Driver BD (según tu BD: Postgres / MongoDB)
  • Escritura de documento/registro con timestamps
  • Indexación por device_id, fecha, secuencia

Web (PWA) → Backend

  • HTTPS (Render) + fetch
  • Polling o actualización por intervalo
  • Medición de RTT y latencia end-to-end
Nota redundante (intencional): la comunicación no es un solo “protocolo”, sino una cadena: analógico/ADC (hardware) → WiFi (enlace) → HTTP/HTTPS (transporte aplicación) → JSON (payload) → BD (persistencia) → API (consulta) → UI (visualización).

Dashboard de latencia (tiempo real)

— ms
Latencia end-to-end estimada
Último dato: —
Dispositivo: —
Secuencia: —
Óptimo < 200ms
Estable 200–350ms
Lento > 350ms
RTT web ↔ backend
— ms
Tiempo de ida y vuelta al backend en Render.
Ingesta (backend)
— ms
Desde medición hasta recepción en backend.
Persistencia (BD)
— ms
Desde recepción hasta guardado en BD.
Edad del último dato
— s
Tiempo desde que se midió hasta ahora.
Estado: esperando datos reales del backend.

API configurada

Este dashboard consulta el backend desplegado en Render. Cambia la variable API_BASE en el script si tu URL es diferente. También puedes usar un proxy/rewrite si lo sirves desde el mismo dominio.

API_BASE = (configurable en JS)
Conectando con backend…
PWA Ready