Tabla de contenido:

Monitor de energía basado en Raspberry PI para electrodomésticos: 14 pasos
Monitor de energía basado en Raspberry PI para electrodomésticos: 14 pasos

Video: Monitor de energía basado en Raspberry PI para electrodomésticos: 14 pasos

Video: Monitor de energía basado en Raspberry PI para electrodomésticos: 14 pasos
Video: Raspberry Pi, Curso para principiantes 2024, Mes de julio
Anonim
Monitor de energía basado en PI de frambuesa para electrodomésticos
Monitor de energía basado en PI de frambuesa para electrodomésticos
Monitor de energía basado en PI de frambuesa para electrodomésticos
Monitor de energía basado en PI de frambuesa para electrodomésticos

Este fue un pequeño proyecto que hice para monitorear el uso de energía de los electrodomésticos individuales en la casa y mostrar gráficos de su uso de energía a lo largo del tiempo. En realidad, es uno de los proyectos basados en Raspberry PI más fáciles que he realizado, sin necesidad de soldar o piratear productos abiertos. No tiene que ser un proyecto de Raspberry PI, se podría hacer fácilmente en una caja de Linux o tal vez en Windows.

El costo es de $ 50 AUD por un juego de 4 monitores de energía / enchufes inteligentes y el costo de una Raspberry PI. Esto puede ejecutarse en un Pi Zero o el PI original, aunque descubrí que era un poco lento. El único otro PI que tengo es un PI 3 y lo encontré muy rápido, así que eso es lo que recomendaría. Tenga en cuenta que si desea ejecutarlo en un PI más antiguo, podría reducir la frecuencia de recopilación de datos (estaba usando 10 segundos).

Este proyecto también tiene el beneficio adicional de liberar el enchufe inteligente del firmware del fabricante, por lo que no tiene que usar sus aplicaciones específicas y servicios en la nube. Por lo tanto, se pueden usar con Home Assist o simplemente con sus propios scripts de Python.

Tenga en cuenta que supongo que sabe cómo instalar el sistema operativo en el PI, conectarse y ejecutar algunos comandos básicos de Linux. También supongo que sabe cómo encontrar la dirección IP de su enchufe inteligente una vez que se conecta a su WiFi.

Suministros

Paquete de 2 o 4 paquetes de enchufes inteligentes desde aquí:

www.kogan.com/au/buy/kogan-smarterhome-sma…

1 pi de frambuesa

Habilidades:

Posibilidad de configurar un PI de frambuesa

Línea de comandos básica de linux

Editor de texto como vi o nano (nano es más fácil de usar, vi es más rápido una vez que lo conoces)

Posibilidad de encontrar IP de dispositivos en su red.

Paso 1: Compre algunos enchufes inteligentes

Compre algunos enchufes inteligentes
Compre algunos enchufes inteligentes

El enchufe inteligente que usé fue de aquí:

www.kogan.com/au/buy/kogan-smarterhome-sma…

Tenga en cuenta que hay una amplia gama de enchufes inteligentes que son compatibles, la mayoría (¿todos?) Son dispositivos basados en ESP8266 (WEMOS) y son muy fáciles de flashear. Asegúrese de obtener algo que tenga monitoreo de energía como muchos no lo tienen. Esta página muestra una gran lista de dispositivos compatibles:

templates.blakadder.com/plug.html

Paso 2: flasheo del dispositivo

Esta parte fue sorprendentemente fácil. Básicamente, simplemente descargue el software, ejecútelo y lo guiará.

Para ello, necesitará una caja Raspberry PI o Linux con WiFi. Necesitará que su conexión principal a este dispositivo NO sea el WiFi. Para mi PI3 esto fue fácil ya que estaba conectado a través de Ethernet. Si tiene un PI Zero, tendrá que conectarlo a la antigua usanza, con un teclado y un monitor.

Supongo que sabe cómo configurar un PI y conectarse a él con SSH o un teclado, por lo que no pasaré por eso. Si no está seguro, hay muchos tutoriales en la web.

Antes de comenzar, solo un poco de antecedentes sobre los dispositivos. Hay una empresa en China llamada Tuya que bombea enchufes inteligentes para diferentes clientes. Hacen personalizaciones para diferentes clientes y proporcionan un firmware predeterminado y permiten a las empresas realizar sus propias modificaciones. El problema con esto es que si tienes un montón de productos de diferentes proveedores, terminas teniendo que ejecutar un montón de aplicaciones, algunas de las cuales funcionan mejor que otras. Al actualizar un firmware de código abierto, se libera de todo eso. Así que esto es bueno para la automatización del hogar en general.

Tan …. sin más preámbulos, aquí están las instrucciones:

1) Ejecute estos comandos en el PI, esto instalará el software requerido.

# git clone https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert #./install_prereq.sh

2) Conecte el enchufe inteligente a la corriente

3) Enciéndalo con el botón

4) Mantenga presionado el botón de encendido hasta que la luz azul comience a parpadear

5) Espere 10 segundos. Esto no es esencial, pero descubrí que funcionaría mejor si lo hicieras.

6) Ejecute este comando

./start_flash.sh

Desde aquí, simplemente siga las instrucciones, excepto que al final seleccione "2. Tasmota". Hay una opción para un firmware diferente, pero no lo he probado, así que no estoy seguro de cómo es.

Tenga en cuenta que tuve que hacer esto más de una vez, al principio pensé que había bloqueado el dispositivo, no tenía luces, ni clic de relé, ni señales de vida. Pero lo apagué y ejecuté el último comando nuevamente y funcionó. Tuve que hacer esto con 3 de los 4 dispositivos que flasheé, solo uno pasó directamente, creo que debido al paso 5.

Instrucciones completas aquí:

github.com/ct-Open-Source/tuya-convert

Paso 3: Conexión al firmware por primera vez

Conexión al firmware por primera vez
Conexión al firmware por primera vez
Conexión al firmware por primera vez
Conexión al firmware por primera vez
Conexión al firmware por primera vez
Conexión al firmware por primera vez

Una vez que haya mostrado tasmota en el dispositivo, no mostrará muchos signos de vida. La razón de esto es que debe configurarse. Hacer esto es bastante fácil, encontré que lo mejor es hacerlo con mi teléfono. Los pasos son:

1) Busque puntos de acceso WiFi

2) Conéctese al etiquetado tasmota_xxxx (donde x son números)

3) El teléfono debe dirigirlo a la página predeterminada, si no, vaya a 192.168.4.1

Tenga en cuenta que en algunos teléfonos puede aparecer un mensaje que diga "no hay acceso a Internet, desea permanecer conectado", seleccione sí.

4) En la página que aparece ingrese el nombre de su red WiFi y la contraseña en los primeros 2 cuadros. Haga clic en la opción para mostrar la contraseña y verifique tres veces que haya ingresado la contraseña correcta. Si ingresó la contraseña incorrecta, creo que puede ser difícil volver a esta pantalla de configuración. Tenga en cuenta que también puede buscar redes WiFi, aunque obviamente aún debe ingresar la contraseña.

5) El enchufe ahora debería estar conectado a su red WiFi. Deberá ir a la página de configuración de su enrutador y encontrar la IP de su dispositivo.

6) Abra un navegador web en su PC y vaya a https:// [device_ip] Debería ver la pantalla de configuración de Tasmota.

Felicitaciones, ha flasheado con éxito el enchufe.

Paso 4: configuración del enchufe

Configuración del enchufe
Configuración del enchufe

La empresa que fabrica estos dispositivos aparentemente fabrica 10.000 dispositivos con muchas configuraciones diferentes. Acabamos de actualizar un nuevo firmware y el firmware no sabe en qué dispositivos se instaló. Entonces, antes de que algo funcione, necesitaremos configurarlo. Para hacerlo necesitamos encontrar los detalles de nuestro dispositivo en la web y cargar esa configuración en particular.

Para ello, busque su dispositivo en esta página:

templates.blakadder.com/plug.html

Para el dispositivo que utilicé, la configuración está aquí:

templates.blakadder.com/kogan-KASPEMHUSBA….

Para establecer la configuración, simplemente copiamos el texto en Plantilla. En este caso lo es:

Luego

1) Vaya a la página de configuración de su dispositivo https:// [IP del enchufe inteligente]

2) Haga clic en configurar, configure otros

3) Pegue la cadena de su plantilla

4) Marque "Habilitar MQTT"

5) Haga clic en activar y guardar.

Para probar que esto ha funcionado, haga clic en "Menú principal" para volver a la página de inicio y ahora debería ver las cifras de uso de energía. Todos serán cero, incluso el voltaje, pero esta es una buena señal. Haga clic en el botón de alternancia y debería escuchar el clic del relé y ver cómo aumenta el voltaje.

Paso 5: calibre el voltaje

Calibrar voltaje
Calibrar voltaje

Encontré que la lectura de voltaje se mostraba bastante alta. Si tiene otra fuente de lectura de voltaje en la casa (por ejemplo, un medidor inteligente, ¿tal vez?), Entonces puede calibrar el enchufe muy fácilmente. Para hacer esto

1) Obtenga la lectura de voltaje correcta

2) Encienda el relé en el enchufe inteligente

3) Haga clic en Consola en la página de inicio del dispositivo.

4) Ingrese el comando "VoltageSet 228" y presione enter (reemplace 228 con su voltaje)

El voltaje ahora debería mostrarse correctamente.

Paso 6: instalación del software en el PI

Hay algunos paquetes que deben instalarse en el PI. Son fáciles de instalar y se pueden realizar siguiendo las instrucciones de los distintos paquetes. Daré las instrucciones aquí, pero tenga en cuenta que pueden cambiar con el tiempo, por lo que mis instrucciones estarán vigentes. Los paquetes son:

Grafana (para mostrar gráficos)

Influxdb (base de datos de series de tiempo que almacenará nuestros datos)

Telegraf (utilizado para enviar datos a Influxdb)

Mosquitto (bus de mensajes utilizado para pasar datos, el enchufe inteligente empuja los datos aquí)

La cadena de flujo de datos es así:

Enchufe inteligente -> Mosquitto -> Telegraf -> InfluxDB -> Grafana

Si está preguntando por qué no podemos omitir Mosquitto y Telegraf, esa es una buena pregunta. En teoría, el Smart Plug podría empujar a Influx. El problema con eso es que entonces tendría que ser configurable para cientos de puntos finales diferentes y nos dejaría fuera de algunas opciones. La mayoría de las cosas en la automatización del hogar usan Mosquitto para transmitir mensajes. Como ejemplo, podemos encender y apagar el enchufe enviando mensajes a Mosquitto y el enchufe inteligente los recibirá y responderá.

Paso 7: Instalar Grafana

Instalación de Grafana
Instalación de Grafana

De:

grafana.com/grafana/download?platform=arm

O muchas otras opciones aquí:

grafana.com/grafana/download

Para Pi 1 y Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1 # encuentre la última versión de la página en el topwget https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg -i grafana-rpi_7.0.1_armhf. debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl habilitar grafana-serversudo / bin / systemctl iniciar grafana-server

Para PI más nuevos (ARMv7)

sudo apt-get install -y adduser libfontconfig1 # encuentre la última versión de la página en el topwget https://dl.grafana.com/oss/release/grafana_7.0.1_…sudo dpkg -i grafana_7.0.1_armhf.debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl enable grafana-serversudo / bin / systemctl start grafana-server

Probar:

Vaya a https:// [IP de PI]: 3000

nombre de usuario / contraseña es admin / admin, le pedirá que lo cambie, puede omitirlo por ahora

Si obtiene una GUI, entonces todo está bien, continúe con el siguiente paso

Paso 8: Instalación de InfluxDB

Ejecute estos comandos en el PI:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -source / etc / os-releasetest $ VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy estable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch estable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt-get updatesudo apt-get install influxdbsudo systemctl enable influxdbsudo systemctl start influxdb

Pruebe escribiendo "afluencia". Esto debería ponerlo en la línea de comando influxdb. Escriba "mostrar bases de datos", todavía no habrá bases de datos, pero si obtiene una lista vacía sin errores, entonces todo está bien.

Paso 9: Instalación de Telegraf

Este es realmente fácil, porque agregamos los repositorios influxdb que solo podemos escribir:

sudo apt-get install telegrafsudo systemctl enable telegrafsudo systemctl start telegraf

En este punto, Telegraf ya estará registrando las métricas del sistema en influxdb. Puede verlos escribiendo estos comandos:

influxshow databaseuse telegrafshow seriesSELECT * FROM cpu LIMIT 10;

Paso 10: Instale Mosquitto

Esta parte es fácil ya que solo instalamos la versión predeterminada que viene empaquetada con raspian:

sudo apt-get -y install mosquittosudo apt-get -y install mosquitto-clientssudo systemctl enable mosquittosudo systemctl start mosquitto # crea una contraseña para mosquittosudo mosquitto_passwd -c / etc / mosquitto / tasmota tasmota # ingresa una contraseña. Escriba esta contraseña, ya que tendremos que dársela al enchufe inteligente

Probar:

ejecute esto en una sesión SSH:

mosquitto_sub -t prueba

Ejecuta esto en otro

mosquitto_pub -t prueba -m mymessage

Debería ver su mensaje en la primera sesión SSH

Paso 11: Envío de datos desde el enchufe inteligente a Mosquitto

Envío de datos desde el enchufe inteligente a Mosquitto
Envío de datos desde el enchufe inteligente a Mosquitto

Ahora que tenemos mosquitto en ejecución, necesitamos configurar el enchufe inteligente para enviar datos a mosquitto. Esto es bastante fácil de hacer. Necesitaremos la contraseña ingresada para mosquitto del paso anterior.

1) Inicie sesión en su página web de enchufes inteligentes

2) Haga clic en Configuración y luego en Configurar registro.

3) Establezca el período de telemetría en 10 y haga clic en guardar.

4) Haga clic en Configurar MQTT

5) Para el host, ingrese la dirección IP de su PI

6) Para el nombre de usuario ingrese tasmota

7) Para la contraseña, ingrese la contraseña del paso anterior.

8) Para el tema ingrese tasmota1

9) Haga clic en guardar

Probar:

En el PI, escriba el siguiente comando. En 10 segundos, debería ver los datos que llegan.

mosquitto_sub -t tele / tasmota1 / SENSOR

Los datos deberían verse así:

Paso 12: use Telegraf para enviar datos de Mosquitto a Influx

Ahora vamos a configurar Telegraf para leer los datos de mosquitto y presionar a influxdb. En el PI:

1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak

2) sudo vi /etc/telegraf/telegraf.conf

Tenga en cuenta que vi no es muy amigable para los nuevos usuarios, si prefiere un editor de texto basado en menús, use nano en su lugar:

sudo nano /etc/telegraf/telegraf.conf

3) Pegue la configuración del archivo adjunto

4) sudo systemctl reiniciar telegraf

Para probar, escriba esto en el PI:

afluencia

mostrar bases de datos

debería ver la base de datos de prueba. Si no le gusta la prueba de nombre, puede cambiar dest_db en el archivo telegraf.conf.

Paso 13: Finalmente, cree gráficos en Grafana

Finalmente, cree gráficos en Grafana
Finalmente, cree gráficos en Grafana

Finalmente llegamos a ver algunos datos:-):-)

Primero necesitamos crear una conexión a la base de datos. Vaya a la página web de grafana http: [ip of PI]: 3000

1) Inicie sesión con admin / admin

2) En la columna de la izquierda, haga clic en el ícono de ajustes y las fuentes de datos.

3) Haga clic en agregar fuente de datos

4) Haga clic en influxdb

5) Para URL ingrese https:// localhost: 8086

6) Para la base de datos, ingrese la prueba

7) Para HTTP ingrese GET

8) Para el intervalo de tiempo mínimo, ingrese 10 s

9) Haga clic en Guardar y probar, debería decir "La fuente de datos está funcionando"

Bien, ahora que tenemos una conexión a la base de datos podemos crear un gráfico… finalmente.

1) En la columna de la izquierda, haga clic en + y luego en Panel de control y Agregar nuevo panel

2) Para la base de datos, haga clic en InfluxDB

3) Haga clic en medición y seleccione Kogan

4) Para el campo, seleccione Energy_Power.

5) Para el alias, asigne un nombre a su serie (por ejemplo, Lavavajillas)

6) En el lado derecho del título del panel, asígnele un nombre, por ejemplo, Energía.

7) Eso es todo, debería ver los datos. Haga clic en el botón de flecha izquierda para salir de la edición y luego haga clic en guardar, asígnele un nombre a su tablero.

Si llegaste tan lejos, gran trabajo, en serio.

Paso 14: algunos consejos más

Algunos consejos más
Algunos consejos más
Algunos consejos más
Algunos consejos más

La configuración predeterminada de Telegraf que proporcioné requería un poco de mantenimiento, ya que se debe agregar una nueva sección para cada dispositivo y se debe reiniciar Telegraf. Con los cambios a continuación, hace que las cosas sean mucho más dinámicas, ya que los dispositivos se pueden agregar o cambiar de nombre en la configuración de Tasmota sin la necesidad de cambiar Telegraf.

El primer cambio es poner + en el nombre del tema, esto es básicamente un comodín. Esto por sí solo sería suficiente, excepto cuando está haciendo gráficos en Grafana, los dispositivos aparecen con nombres como "tele / Lavadora / SENSOR". La segunda parte de la configuración de Telegraf a continuación es el procesador de expresiones regulares. Extrae el texto "Lavadora" del centro y lo convierte en una nueva etiqueta que se envía a InfluxDB.

Nota: asegúrese de configurar un nombre de tema diferente en la configuración de Tasmota para cada dispositivo

[inputs.mqtt_consumer.tags] dest_db = "prueba"

Una vez hecho esto, es muy fácil configurar Grafana para mostrar varios dispositivos en un gráfico. La imagen adjunta a este paso muestra lo que se debe hacer. Simplemente haga clic en el signo + en el grupo por línea y seleccione la etiqueta (dispositivo). En la parte inferior, en Alias By, ingrese $ tag_device. Ahora debería ver varias series en un gráfico. Puede hacer clic en el texto de cada elemento para activarlos y desactivarlos (el clic ctrl funciona para seleccionar múltiples)

Recomendado: