Medición de Consumo eléctrico con Ubidots Industrial & ESP32 + PZEM-004T

En esta oportunidad me he propuesto medir el consumo eléctrico de toda mi casa para realizar estimaciones comparativas con el cobro de mi factura de energía y analizar.

En esta ocasión utilizare la plataforma IoT Ubidots en su versión Industrial, anteriormente habíamos realizado pruebas con la versión educacional, pero esta versión industrial cuenta características especiales para análisis de datos y mas dinamismo visual permitiendo crear dashboards muy dinámicos.

Pruebas anteriores con Ubidots : Medidor PZEM-004 + ESP8266 & Plataforma IoT Ubidots Educacional

Utilizare un medidor PZEM-004T  de PeaceFair y un Modulos ESP32  (ESP-WROOM-32) FireBeetle de  la tienda online DFRobot.

Recomendación: mas abajo podrán ver datos en tiempo real

Advertencia

Antes de iniciar recomiendo tener mucha precaución referente a conexiones o montajes eléctricos, si no tiene suficientes conocimientos de Electricidad por favor no lo intente.

Video 1 # Measurement Electrical Consumption with Ubidots Industrial & ESP32 + PZEM-004T

Crear cuenta en Ubidots Industrial

En pocos segundos he creado una cuenta  de prueba en Ubidots industrial.

Pagina Oficial : ubidots.com

Ubidots Industrial

A diferencia de la versión Educacional, la versión Industrial cuenta con mas características que facilitan no solo la visualización información  también el análisis y procesamiento de datos, mejor agrupación para aplicaciones de cientos de dispositivos, a continuación mencionare algunas de las características de la plataforma:

  • Listado de tabla en devices: Un mejor diseño para poder administrar miles de dispositivos
  • Device types: Es como una plantilla para dispositivos, en donde defines variables y propiedades para aplicar cada vez que se cree un nuevo dispositivo
  • Device groups: Posibilidad de agrupar dispositivos para acciones en bache
  • Global events: Posibilidad de crear un evento que aplique a un grupo de dispositivos entero
  • Dashboards nuevos: Dashboards rediseñados, con date picker a nivel de dashboard y no a nivel de widget individual.
  • Dashboards dinámicos: Posibilidad de tener un device drop down por dashboard y, al cambiarlo, se actualizan todos los widgets.
  • Alerta de llamada por voz

La versión industrial  permitiría fácilmente diseñar solución o aplicaciones en agricultura, fabricación automatizada, educación, salud, automatización de hogares, procesos de  manifactura y ciudades inteligentes.




Pruebas Realizadas

El objetivo de estas pruebas es realizar el registro de mediciones de consumo eléctrico de manera ininterrumpida de mi casa y tener una referencia aproximada o estimada en costos.

Simplemente deseo comparar mis mediciones, calcular costos y comparar con la facturación local y observar realmente cuanto consumen los electrodomésticos y de paso generar un poco de conciencia en el proceso.

El costo de kilovatio-hora en mi ciudad o zona es en mi caso $514 COP o 0.16 USD aproximadamente, por ahora simplemente multiplicare el los $514 COP por los kWh del medidor, mas adelante podría calcular el costo hora a hora, día, semana y mes.

Hay que ser realista una casa no consume demasiado comparado con la industria donde esta aplicación si tendría buenos resultados, con Ubidots industrial podrían registrar 500 maquinas con un medidor cada una sin problemas. 

Materiales y donde comprarlos muy baratos!!



Otros equipos recomendados para próximas pruebas

Recomendación: Para una explicación mas detallada paso a paso recomiendo ver el vídeo completo  1# Measurement Electrical Consumption with Ubidots Industrial & ESP32 + PZEM-004T disponible en nuestro canal de Youtube PDAControl.

Protocolo HTTP o HTTPS

Hemos utilizado este protocolo desde hace mucho tiempo en aplicaciones anteriores, técnicamente cualquier dispositivos con capacidad  TCP/IP puede aplicar para su uso, es uno de los protocolos mas utilizados para aplicaciones IoT, Ubidots tiene una documentación muy detallada incluyendo ejemplo y aplicaciones para Bash, ESP, Arduino y Python.

Recomendación: mas abajo podrán ver datos en tiempo real 

Tutorial Recomendado: Medidor PZEM-004T con Arduino ESP32 ESP8266 Python & Raspberry Pi

Medidor PZEM-004T con Arduino ESP32 ESP8266 Python & Raspberry Pi



Codigo Arduino IDE

El ejemplo original lo he tomado directamente de la documentación de la API HTTP de Ubidots, lo he adaptado a los módulos ESP32 y he adicionado las funciones para lectura del Medidor marca PeaceFair con ayuda de las Librerías   PZEM-004T creadas por olehs, a continuación indicare algunas características del código en cuestión:

  • Lectura de medidores PZEM-004 y PZEM-004T (Voltaje , Amperios, Potencia, Energía)
  • Lectura de temperatura interna de modulo ESP32
  • Lectura de indicador de fuerza de señal recibida o RSSI
  • Alerta booleana por falla en comunicación con medidor.
  • Re-conexión de conexión con Wifi cada 5 minutos
  • Recomendado: Ejemplos API Hardware HTTP Ubidots

El dispositivo en Ubidots

Conexiones

Nota: el medidor requiere una modificación para funcionar a 3.3V adicionando una resistencia documentación completa: Medidor PZEM-004T con Arduino ESP32 ESP8266 Python & Raspberry Pi

Recomendación: Para una explicación mas detallada paso a paso recomiendo ver el vídeo completo  1# Measurement Electrical Consumption with Ubidots Industrial & ESP32 + PZEM-004T disponible en nuestro canal de Youtube PDAControl.

Montaje Eléctrico

Esta es una parte de mucho riesgo, en mi caso el suministro eléctrico llega a  este tablero que realiza la distribución por toda la casa, facilitando el montaje del Transformador de corriente «CT», previamente con un multimetro  y/o pinza amperimetrica he realizado las mediciones de Voltaje y Corriente, para lo cual he determinado un «CT» de 100A.

El transformador de corriente es de núcleo partido, facilita su instalación, de debe colocar en la fase «L».

No es necesario medir exactamente el Voltaje en mi caso 120VAC del mismo tablero, yo he elegido medir voltaje en un toma corriente normal, lo cual no afecta la medición y facilita el montaje.

Nota: Si piensa en replicar esta aplicación, tenga en cuenta que se requieren conocimientos sobre electricidad si no posee el conocimiento por favor no arriesgarse.

Recomendación: mas abajo podrán ver datos en tiempo real .




Diseño de Dashboard

Modificar Widgets

Ubidots cuenta con Widgets especiales que permiten personalización de ciertos atributos en los diseños, con gran ayuda de lenguajes tales como HTML CCS y Javascript .

He diseñado inicialmente un dashboard  básico inicialmente.

Ciertos Widgets como en este caso Metric.

Permiten a través de editores de código  HTML CCS y Javascript  embebidos en el Widget podemos realizar algunas mejoras, presionar el botón open editor.

Modificaciones de estilos con ayuda de CCS, podemos modificar tipo de letra tamaño, color entre muchas características.

He cambiado las fuentes o el tipo de letra, he utilizado  Chakra Petch de Google Fonts  len da un poco de caracter al diseño.

Recomendación: Para una explicación mas detallada paso a paso recomiendo ver el vídeo completo  1# Measurement Electrical Consumption with Ubidots Industrial & ESP32 + PZEM-004T disponible en nuestro canal de Youtube PDAControl.

Diseñar Widgets desde Cero

Otro Widget que tiene gran funcionalidad es HTML canvas, permite crear desde cero Widgets, claro con ayuda de código  HTML CCS y Javascript 

Ubidots no cuenta con Widgets para captura de datos, pero con HTML canvas puedes diseñar un pequeño formulario que almacene el valor en una variable «RAW», en mi caso tome este ejemplo de Ubidots: HTML Canvas Widget Examples y aplique un poco de Bootstrap

  • Widget Creado, para captura de datos

Dashboard Final

Técnicamente hasta el momento puedo modificar el precio de  kWh y lo multiplico por los kWh leidos del medidor, es solo el inicio.

Ver dashboard públicamente en este enlace : Ubidots-pdacontrol

Valores de Dashboard en Tiempo Real

Los siguientes widgets se han embebido directamente desde Ubidots, si detallan unos segundos podrán ver el cambio en tiempo real.

Ver dashboard públicamente en este enlace : Ubidots-pdacontrol



Conclusiones

Algunas características visuales son notables como pueden observar, fue un gran acierto crear ese widget que permite codigo HTML CCS y Javascript.

Confieso no soy desarrollador web , todo lo que he aprendido sobre HTML CSS y Javascript técnicamente es empírico con colaboración de colegas y gran ayuda de Google he aprendido un poco de todo, con todo esto digo que cualquier persona puede diseñar estos dashboard.

Es muy útil la creación de variables tipo «RAW»«Synthetics».

Las variables tipo Synthetics me permitieron realizar el calculo de conversión kWh a COP «Pesos Colombianos» y conversión kWh a USD «Dolares Americanos».

El medidor envia Vatios y Watios por hora con variables tipo Synthetics, realizo la conversion de W a kW y Wh a kWh

Las variables tipo»RAW» la utilice para almacenar el valor de un 1kWh = 514 COP en «Pesos colombianos» o 0.16 USD.

Aun falta realizar mas cosas tales como :

  • calculo de consumo día a día.
  • calculo de consumo semana a semana.
  • calculo de consumo mes a mes.
  • o en intervalos definidos.

Ubidots tiene muchas características que aun no he explorado tales como Analytics Types y Funtions.

Por ultimo gracias a Bangood por el medidor PZEM-004T y DFRobot por el ESP32 FireBeetle y gracias a Ubidots.com



Descargas

Referencias

Deja una respuesta