Tabla de contenido:
- Suministros
- Paso 1: Compre algunos enchufes inteligentes
- Paso 2: flasheo del dispositivo
- Paso 3: Conexión al firmware por primera vez
- Paso 4: configuración del enchufe
- Paso 5: calibre el voltaje
- Paso 6: instalación del software en el PI
- Paso 7: Instalar Grafana
- Paso 8: Instalación de InfluxDB
- Paso 9: Instalación de Telegraf
- Paso 10: Instale Mosquitto
- Paso 11: Envío de datos desde el enchufe inteligente a Mosquitto
- Paso 12: use Telegraf para enviar datos de Mosquitto a Influx
- Paso 13: Finalmente, cree gráficos en Grafana
- Paso 14: algunos consejos más
Video: Monitor de energía basado en Raspberry PI para electrodomésticos: 14 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
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
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
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
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
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
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
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 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
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:
Cómo hacer un interruptor de encendido / apagado táctil para electrodomésticos: 4 pasos
Cómo hacer un interruptor de encendido / apagado táctil para electrodomésticos: este es un interruptor de encendido / apagado táctil sin ningún microcontrolador. ¿Puedes tocar tu dedo? ¿Primera vez en una placa de metal y luego en una bombilla? ENCENDIDO y después de quitar la bombilla de luz de dedo? Permanecer en. ¿Puedes tocar tu dedo? Segunda vez en placa de metal ¿Entonces bombilla?
Interruptor sin Tuchless para electrodomésticos -- Controle sus electrodomésticos sin Tuch Any Switch: 4 pasos
Interruptor sin Tuchless para electrodomésticos || Controle sus electrodomésticos sin Tuch Cualquier interruptor: este es un interruptor sin Tuch para electrodomésticos. Puede usar esto en cualquier lugar público para que ayude a combatir cualquier virus. El circuito basado en el circuito del sensor oscuro hecho por amplificador operacional y LDR. Segunda parte importante de este circuito SR Flip-Flop con secuencial
Termómetro infrarrojo sin contacto basado en Arduino - Termómetro basado en infrarrojos con Arduino: 4 pasos
Termómetro infrarrojo sin contacto basado en Arduino | Termómetro basado en infrarrojos con Arduino: Hola chicos, en este instructivo, haremos un termómetro sin contacto con arduino, ya que a veces la temperatura del líquido / sólido es demasiado alta o demasiado baja y luego es difícil hacer contacto con él y leer su temperatura entonces en ese escenario
Generador de música basado en el clima (generador Midi basado en ESP8266): 4 pasos (con imágenes)
Generador de música basado en el clima (Generador Midi basado en ESP8266): Hola, hoy explicaré cómo hacer tu propio generador de música basado en el clima. Está basado en un ESP8266, que es como un Arduino, y responde a la temperatura, la lluvia y la intensidad de la luz. No espere que haga canciones completas o programas de acordes
GENERADOR DE ENERGÍA SOLAR - Energía del sol para hacer funcionar los electrodomésticos a diario: 4 pasos
GENERADOR DE ENERGÍA SOLAR | Energy From Sun to Run Daily Home Appliances: Es un proyecto científico muy simple que se basa en convertir la energía solar en energía eléctrica utilizable. Utiliza el regulador de voltaje y nada más. Elija todos los componentes y prepárese para hacer un proyecto increíble que lo ayudará a