Taula de continguts:

Monitor d’alimentació basat en Raspberry PI per a electrodomèstics: 14 passos
Monitor d’alimentació basat en Raspberry PI per a electrodomèstics: 14 passos

Vídeo: Monitor d’alimentació basat en Raspberry PI per a electrodomèstics: 14 passos

Vídeo: Monitor d’alimentació basat en Raspberry PI per a electrodomèstics: 14 passos
Vídeo: Обеспечьте источник питания 220 В - 12 В, 5 А, используя двигатель постоянного тока 2024, Juliol
Anonim
Electrodomèstics Monitor de potència basat en gerds PI
Electrodomèstics Monitor de potència basat en gerds PI
Electrodomèstics Monitor de potència basat en gerds PI
Electrodomèstics Monitor de potència basat en gerds PI

Aquest va ser un petit projecte que vaig fer per controlar l’ús d’energia dels aparells individuals a la casa i mostrar gràfics del seu consum d’energia al llarg del temps. En realitat, és un dels projectes basats en Raspberry PI més fàcils que he fet, sense necessitat de soldar ni piratejar productes oberts. No ha de ser un projecte Raspberry PI, es podria fer fàcilment en una caixa de Linux o potser en Windows.

El cost és de $ 50 AUD per a un conjunt de 4 connectors intel·ligents per al monitor de potència i el cost d’un Raspberry PI. Això pot funcionar amb un Pi Zero o el PI original, tot i que he trobat que era una mica lent. L’únic altre PI que tinc és un PI 3 i el vaig trobar molt ràpid, així que és el que recomanaria. Tingueu en compte que si voleu executar-lo en un PI més antic, podeu reduir la freqüència de recopilació de dades (feia servir 10 segons).

Aquest projecte també té l'avantatge addicional o allibera el connector intel·ligent del microprogramari del fabricant, de manera que no haureu d'utilitzar les seves aplicacions i serveis al núvol específics. Per tant, es poden utilitzar amb Home Assist o simplement amb els vostres propis scripts Python.

Tingueu en compte que suposo que sabeu com instal·lar el sistema operatiu al PI, connectar-vos-hi i executar algunes ordres bàsiques de Linux. També suposo que sapigueu trobar l'adreça IP del vostre endoll intel·ligent un cop es connecti al vostre WiFi.

Subministraments

Paquet de 2 o 4 paquets de connectors intel·ligents des d’aquí:

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

1 Raspberry PI

Habilitats:

Possibilitat de configurar un gerd PI

Línia d’ordres bàsica de Linux

Editor de text com vi o nano (nano és més fàcil d'utilitzar, vi és més ràpid un cop el conegueu)

Possibilitat de trobar IP de dispositius a la vostra xarxa.

Pas 1: compreu alguns endolls intel·ligents

Compreu alguns endolls intel·ligents
Compreu alguns endolls intel·ligents

El connector intel·ligent que he fet servir és d’aquí:

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

Tingueu en compte que hi ha tota una gamma de connectors intel·ligents que són compatibles, la majoria (tots?) Són dispositius basats en ESP8266 (WEMOS) i són molt fàcils de fer flash. Assegureu-vos d’obtenir alguna cosa que tingui un control de potència com molts no. Aquesta pàgina mostra una gran llista de dispositius compatibles:

templates.blakadder.com/plug.html

Pas 2: intermitent del dispositiu

Aquesta part va ser sorprenentment fàcil. Bàsicament, només heu de descarregar el programari, executar-lo i us guiarà.

Per a això, necessitareu una caixa Raspberry PI o Linux amb WiFi. Haureu de tenir la vostra connexió principal amb aquest dispositiu que no sigui el WiFi. Per al meu PI3 això va ser fàcil ja que estava connectat via Ethernet. Si teniu un PI Zero, haureu de connectar-vos a l’antiga, amb un teclat i un monitor.

Suposo que sabeu com configurar un PI i connectar-vos-hi amb SSH o un teclat, de manera que no ho passaré. Si no esteu segur, hi ha molts tutorials al web.

Abans de començar, només hi ha una mica de fons als dispositius. Hi ha una empresa a la Xina anomenada Tuya que bombeja endolls intel·ligents per a diferents clients. Personalitzen diferents clients i proporcionen un firmware per defecte i permeten a les empreses fer les seves pròpies modificacions. El problema d'això és que si teniu un munt de productes de diferents proveïdors, heu d'executar un munt d'aplicacions, algunes de les quals funcionen millor que d'altres. En llançar un microprogramari de codi obert, us alliberareu de tot això. Per tant, això és bo per a la domòtica general.

Tan …. sense més preàmbuls, aquí teniu les instruccions:

1) Executeu aquestes ordres al PI, això instal·larà el programari requerit.

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

2) Connecteu l’endoll intel·ligent a l’energia

3) Enceneu-lo amb el botó

4) Mantingueu premut el botó d’engegada fins que la llum blava comenci a parpellejar

5) Espereu 10 segons. Això no és essencial, però he trobat que funcionaria millor si ho feies.

6) Executeu aquesta ordre

./start_flash.sh

A partir d’aquí només heu de seguir les instruccions, tret que al final seleccioneu "2. Tasmota". Hi ha una opció per a un firmware diferent, però no ho he provat, així que no estic segur de com és.

Tingueu en compte que havia de fer-ho més d’una vegada; al principi vaig pensar que havia tapiat l’aparell, no tenia llums, ni feia clic de relé, ni tenia senyals de vida. Però el vaig apagar i vaig executar l'última ordre de nou i va funcionar. Vaig haver de fer-ho amb 3 dels 4 dispositius que vaig fer flash, només un va passar directament, crec que a causa del pas 5.

Instruccions completes aquí:

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

Pas 3: Connectar-se al firmware per primera vegada

Connectar-se al firmware per primera vegada
Connectar-se al firmware per primera vegada
Connectar-se al firmware per primera vegada
Connectar-se al firmware per primera vegada
Connectar-se al firmware per primera vegada
Connectar-se al firmware per primera vegada

Un cop hagis llançat tasmota al dispositiu, no mostrarà molts signes de vida. El motiu d’això és que s’ha de configurar. Fer-ho és bastant fàcil, he trobat que és millor fer-ho amb el meu telèfon. Els passos següents són:

1) Cerqueu punts d'accés WiFi

2) Connecteu-vos a l’etiqueta tasmota_xxxx (on x són nombres)

3) El telèfon us haurà de dirigir a la pàgina predeterminada, si no, aneu a 192.168.4.1

Tingueu en compte en alguns telèfons que us pot donar un missatge que diu "No hi ha accés a Internet, voleu estar connectat", seleccioneu sí.

4) A la pàgina que apareix, introduïu el nom de la vostra xarxa WiFi i la contrasenya als 2 primers quadres. Feu clic a l'opció per mostrar la contrasenya i comproveu que hàgiu introduït la contrasenya correcta. Si heu introduït una contrasenya incorrecta, crec que pot ser difícil tornar a aquesta pantalla de configuració. Tingueu en compte que també podeu cercar xarxes WiFi, tot i que, òbviament, cal que introduïu la contrasenya.

5) L'endoll hauria d'haver estat connectat a la vostra xarxa WiFi. Haureu d’anar a la pàgina de configuració del vostre encaminador i trobar la IP del vostre dispositiu.

6) Obriu un navegador web al vostre PC i aneu a https:// [device_ip] Hauríeu de veure la pantalla de configuració de Tasmota.

Enhorabona, heu activat el connector.

Pas 4: Configuració del connector

Configuració del connector
Configuració del connector

L’empresa que fabrica aquests dispositius aparentment fabrica 10.000 dispositius amb moltes configuracions diferents. Acabem d’instal·lar un nou microprogramari i el microprogramari no sap en quins dispositius s’ha flasheat. Per tant, abans que res funcioni, haurem de configurar-lo. Per fer-ho, hem de trobar els detalls del nostre dispositiu al web i carregar la configuració en particular.

Per a això, trobeu el dispositiu en aquesta pàgina:

templates.blakadder.com/plug.html

Per al dispositiu que he utilitzat, la configuració és aquí:

templates.blakadder.com/kogan-KASPEMHUSBA….

Per configurar la configuració, només hem de copiar el text a Plantilla. En aquest cas és:

Llavors

1) Aneu a la pàgina de configuració del dispositiu https:// [IP del connector intel·ligent]

2) Feu clic a configura, configura altres

3) Enganxeu la cadena de plantilla

4) Marqueu "Activa MQTT"

5) Feu clic a activar i Desa.

Per provar que això ha funcionat, feu clic a "Menú principal" per tornar a la pàgina inicial i ara hauríeu de veure les xifres d'ús d'energia. Tots seran zero, fins i tot el voltatge, però això és un bon senyal. Feu clic al botó d'activació i hauríeu d'escoltar el clic del relé i veure com augmenta la tensió.

Pas 5: Calibreu la tensió

Calibra el voltatge
Calibra el voltatge

Vaig trobar que la lectura del voltatge mostrava força. Si teniu una altra font de lectura de voltatge a la casa (per exemple, un comptador intel·ligent potser ??), podeu calibrar l’endoll molt fàcilment. Fer això

1) Obteniu la lectura correcta del voltatge

2) Engegueu el relé a l’endoll intel·ligent

3) Feu clic a Consola a la pàgina inicial del dispositiu

4) Introduïu l'ordre "VoltageSet 228" i premeu Enter (substituïu 228 per la vostra tensió)

Ara el voltatge s’ha de mostrar correctament.

Pas 6: Instal·lació de programari al PI

Hi ha alguns paquets que cal instal·lar al PI. Són fàcils d’instal·lar i es poden fer seguint les instruccions dels diferents paquets. Donaré les instruccions aquí, però tingueu en compte que poden canviar amb el pas del temps, de manera que les meves instruccions seran vigents. Els paquets són:

Grafana (per mostrar gràfics)

Influxdb (base de dades de sèries temporals que emmagatzemarà les nostres dades)

Telegraf (s'utilitza per introduir dades a Influxdb)

Mosquitto (bus de missatges utilitzat per passar dades, el connector intel·ligent empeny les dades aquí)

La cadena de flux de dades és així:

Smart Plug -> Mosquitto -> Telegraf -> InfluxDB -> Grafana

Si us pregunteu per què no podem ometre Mosquitto i Telegraf, aquesta és una bona pregunta. En teoria, el Smart Plug podria empènyer a Influx. El problema d'això és que hauria de ser configurable per a 100 punts diferents i que ens deixaria fora d'algunes opcions. La majoria de coses de la domòtica utilitzen Mosquitto per transmetre missatges. Com a exemple, podem activar i desactivar l’endoll enviant missatges a Mosquitto i l’endoll intel·ligent els rebrà i respondrà.

Pas 7: Instal·lació de Grafana

Instal·lació de Grafana
Instal·lació de Grafana

Des de:

grafana.com/grafana/download?platform=arm

O moltes altres opcions aquí:

grafana.com/grafana/download

Per a Pi 1 i Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1 # troba l'última versió de la pàgina al 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 habilita grafana-serversudo / bin / systemctl inicia grafana-server

Per als IP més nous (ARMv7)

sudo apt-get install -y adduser libfontconfig1 # troba l'última versió de la pàgina al 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 habilitar grafana-serversudo / bin / systemctl iniciar grafana-server

Per provar:

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

el nom d'usuari / contrasenya és admin / admin, us demanarà que el canvieu, de moment podeu ometre-ho

Si teniu una interfície gràfica d’usuari, aneu al següent pas

Pas 8: Instal·lació d'InfluxDB

Executeu aquestes ordres al 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 stable" | 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 stable" | 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

Proveu escrivint "afluència". Això us hauria de situar a la línia d'ordres influxdb. Escriviu "mostra bases de dades", encara no hi haurà cap base de dades, però si teniu una llista buida sense errors, tot és bo.

Pas 9: Instal·lació de Telegraf

Aquest és realment fàcil, perquè hem afegit els repos influxdb que només podem escriure:

sudo apt-get install telegrafsudo systemctl habilita telegrafsudo systemctl iniciar telegraf

En aquest moment, Telegraf ja registrarà les mètriques del sistema a influxdb. Podeu veure-les escrivint aquestes ordres:

influxshow bases de dades use telegrafshow series SELECCIONA * DEL CPU LIMIT 10;

Pas 10: instal·leu Mosquitto

Aquesta part és senzilla, ja que acabem d’instal·lar la versió per defecte que inclou paquet raspian:

sudo apt-get -y install mosquittosudo apt-get -y install mosquitto-clientssudo systemctl enable mosquittosudo systemctl start mosquitto # create a password for mosquittosudo mosquitto_passwd -c / etc / mosquitto / tasmota tasmota # enter a password. Escriviu aquesta contrasenya, ja que l’haurem de donar a l’endoll intel·ligent

Per provar:

executeu-ho en una sessió SSH:

mosquitto_sub -t prova

Executeu això en un altre

mosquitto_pub -t test -m mymessage

Hauríeu de veure el vostre missatge a la primera sessió SSH

Pas 11: Enviament de dades des de l’endoll intel·ligent a Mosquitto

Enviament de dades des de l’endoll intel·ligent a Mosquitto
Enviament de dades des de l’endoll intel·ligent a Mosquitto

Ara tenim mosquitto en execució, hem de configurar el connector intel·ligent per enviar dades a mosquitto. Això és bastant fàcil de fer. Necessitarem la contrasenya introduïda per mosquitto del pas anterior.

1) Inicieu sessió a la pàgina web de connectors intel·ligents

2) Feu clic a Configuració i després a Configura el registre

3) Establiu el període de telemetria a 10 i feu clic a Desa.

4) Feu clic a Configura MQTT

5) Per a l’amfitrió, introduïu l’adreça IP del vostre PI

6) Per al nom d'usuari, introduïu tasmota

7) Per a la contrasenya, introduïu la contrasenya del pas anterior

8) Per al tema, introduïu tasmota1

9) Feu clic a Desa

Per provar:

Al PI, escriviu l'ordre següent. En un termini de deu segons hauríeu de veure com es transmeten les dades.

mosquitto_sub -t tele / tasmota1 / SENSOR

Les dades haurien de ser així:

Pas 12: utilitzeu Telegraf per enviar dades des de Mosquitto fins a l’entrada

Ara configurarem Telegraf per llegir les dades de mosquitto i enviar-les a influxdb. Al PI:

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

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

Nota vi no és molt amigable per als usuaris nous, si preferiu un editor de text basat en menú, utilitzeu nano:

sudo nano /etc/telegraf/telegraf.conf

3) Enganxeu la configuració del fitxer adjunt

4) sudo systemctl reinicieu telegraf

Per provar, escriviu-ho al PI:

afluència

mostrar bases de dades

hauríeu de veure la base de dades de proves. Si no us agrada la prova de nom, podeu canviar dest_db al fitxer telegraf.conf.

Pas 13: Finalment, creeu gràfics a Grafana

Finalment, creeu gràfics a Grafana
Finalment, creeu gràfics a Grafana

Finalment podem veure algunes dades:-):-)

Primer hem de crear una connexió a la base de dades. Aneu a la pàgina web de grafana http: [ip of PI]: 3000

1) Inicieu la sessió amb admin / admin

2) A la columna esquerra, feu clic a la icona d'engranatge i a les fonts de dades

3) Feu clic a Afegeix una font de dades

4) Feu clic a influxdb

5) Per a URL, introduïu https:// localhost: 8086

6) Per a la base de dades, introduïu la prova

7) Per a HTTP introduïu GET

8) Per a un interval de temps mínim, introduïu 10 segons

9) Feu clic a Desa i prova, hauria de dir "La font de dades funciona"

D'acord, ara tenim una connexió a la base de dades, podem crear un gràfic … finalment.

1) A la columna esquerra, feu clic al botó + i, a continuació, a Tauler de control i Afegeix un tauler nou

2) Per a la base de dades, feu clic a InfluxDB

3) Feu clic a Mesura i seleccioneu Kogan

4) Per al camp, seleccioneu Energy_Power.

5) Per a l'àlies, doneu un nom a la vostra sèrie (per exemple, Rentaplats)

6) A la dreta del títol del tauler, poseu-li un nom, per exemple, Power.

7) Ja està, hauríeu de veure dades. Feu clic al botó de fletxa esquerra per sortir de l'edició i, a continuació, feu clic a Desa, assigneu un nom al tauler.

Si heu arribat fins aquí, gran treball, seriosament.

Pas 14: alguns consells més

Alguns consells més
Alguns consells més
Alguns consells més
Alguns consells més

La configuració predeterminada de Telegraf que he proporcionat requereix una mica de manteniment, ja que cal afegir una secció nova per a cada dispositiu i fer un reinici de Telegraf. Amb els canvis següents, fa que les coses siguin molt més dinàmiques perquè els dispositius es poden afegir o canviar el nom a la configuració de Tasmota sense necessitat de canviar Telegraf.

El primer canvi és posar el + al nom del tema, bàsicament es tracta d’un comodí. Això per si sol seria suficient, tret que quan feu gràfics a Grafana, els dispositius apareixen amb el nom de "tele / WashingMachine / SENSOR". La segona part de la configuració de Telegraf a continuació és el processador d'expressió regular. Extreu el text "WashingMachine" del centre i el converteix en una nova etiqueta que passa a InfluxDB.

Nota: assegureu-vos de configurar un nom de tema diferent a la configuració de Tasmota per a cada dispositiu

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

Un cop fet això, és molt fàcil configurar Grafana perquè mostri diversos dispositius en un gràfic. La imatge adjunta a aquest pas mostra el que cal fer. Simplement feu clic al signe + del grup per línia i seleccioneu l'etiqueta (dispositiu). A la part inferior, a Alias By, introduïu $ tag_device. Ara hauríeu de veure diverses sèries al gràfic únic. Podeu fer clic al text de cada element per activar-los o desactivar-los (feu clic amb ctrl funciona per seleccionar múltiples)

Recomanat: