Sommario:

Monitoraggio dell'alimentazione basato su Raspberry PI per elettrodomestici: 14 passaggi
Monitoraggio dell'alimentazione basato su Raspberry PI per elettrodomestici: 14 passaggi

Video: Monitoraggio dell'alimentazione basato su Raspberry PI per elettrodomestici: 14 passaggi

Video: Monitoraggio dell'alimentazione basato su Raspberry PI per elettrodomestici: 14 passaggi
Video: IoT Enabled Smart Industrial Pollution Monitoring and Control Using Raspberry Pi Pico with Blynk App 2024, Dicembre
Anonim
Monitor di potenza basato su Raspberry PI per elettrodomestici
Monitor di potenza basato su Raspberry PI per elettrodomestici
Monitor di potenza basato su Raspberry PI per elettrodomestici
Monitor di potenza basato su Raspberry PI per elettrodomestici

Questo è stato un piccolo progetto che ho fatto per monitorare il consumo energetico dei singoli elettrodomestici in casa e visualizzare i grafici del loro consumo energetico nel tempo. In realtà è uno dei progetti basati su Raspberry PI più facili che ho fatto, non sono necessari prodotti aperti di saldatura o hacking. Non deve essere un progetto Raspberry PI, potrebbe essere facilmente eseguito su una macchina Linux o forse su Windows.

Il costo è di $ 50 AUD per un set di 4 monitor di alimentazione/spine intelligenti e il costo di un Raspberry PI. Questo può essere eseguito su un Pi Zero o sul PI originale anche se ho trovato che fosse un po' lento. L'unico altro PI che ho è un PI 3 e l'ho trovato molto scattante, quindi è quello che consiglierei. Nota se vuoi eseguirlo su un PI precedente potresti ridurre la frequenza di raccolta dei dati (stavo usando 10 secondi).

Questo progetto ha anche il vantaggio aggiuntivo di liberare la presa intelligente dal firmware del produttore, quindi non è necessario utilizzare le loro app e servizi cloud specifici. Quindi possono essere utilizzati con Home Assist o semplicemente con i tuoi script Python.

Tieni presente che presumo che tu sappia come installare il sistema operativo sul PI, connetterti ad esso ed eseguire alcuni comandi di base di Linux. Presumo anche che tu sappia come trovare l'indirizzo IP della tua smart plug una volta che si connette al tuo WiFi.

Forniture

Confezione da 2 o 4 confezioni di prese intelligenti da qui:

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

1 Lampone PI

Abilità:

Possibilità di configurare un PI. lampone

Riga di comando di base di Linux

Editor di testo come vi o nano (nano è più facile da usare, vi è più veloce una volta che lo conosci)

Possibilità di trovare l'IP dei dispositivi sulla rete.

Passaggio 1: acquista alcune prese intelligenti

Acquista alcune prese intelligenti
Acquista alcune prese intelligenti

La presa intelligente che ho usato proveniva da qui:

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

Si noti che esiste un'intera gamma di prese intelligenti compatibili, la maggior parte (tutte?) Sono dispositivi basati su ESP8266 (WEMOS) e sono molto facili da flashare. Assicurati di ottenere qualcosa che abbia il monitoraggio dell'alimentazione come molti non lo fanno. Questa pagina mostra un ampio elenco di dispositivi compatibili:

templates.blakadder.com/plug.html

Passaggio 2: lampeggio del dispositivo

Questa parte è stata sorprendentemente facile. Fondamentalmente devi solo scaricare il software, eseguirlo e ti guida.

Per questo avrai bisogno di un box Raspberry PI o Linux con WiFi. Dovrai avere la tua connessione principale a questo dispositivo NON essere il WiFi. Per il mio PI3 è stato facile perché ero connesso via Ethernet. Se hai un PI Zero allora dovrai collegarti alla vecchia maniera, con una tastiera e un monitor.

Suppongo che tu sappia come configurare un PI e connetterti ad esso con SSH o una tastiera, quindi non lo farò. Se non sei sicuro ci sono molti tutorial sul web.

Prima di iniziare, solo un po' di background sui dispositivi. C'è una società in Cina chiamata Tuya che distribuisce prese intelligenti per diversi clienti. Fanno la personalizzazione per diversi clienti e forniscono un firmware predefinito e consentono alle aziende di apportare le proprie modifiche. Il problema è che se hai un sacco di prodotti di fornitori diversi, finisci per dover eseguire un sacco di app, alcune delle quali funzionano meglio di altre. Lampeggiando un firmware open source ti liberi da tutto ciò. Quindi questo è un bene per la domotica generale.

Così …. senza ulteriori indugi, ecco le istruzioni:

1) Esegui questi comandi sul PI, questo installerà il software richiesto.

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

2) Collegare la presa intelligente all'alimentazione

3) Accendilo con il pulsante

4) Tieni premuto il pulsante di accensione finché la luce blu inizia a lampeggiare

5) Attendere 10 secondi. Questo non è essenziale, ma ho scoperto che funzionava meglio se lo facevi.

6) Esegui questo comando

./start_flash.sh

Da qui basta seguire le istruzioni tranne alla fine selezionare "2. Tasmota". C'è un'opzione per un firmware diverso, ma non l'ho provato, quindi non sono sicuro di come sia.

Nota che ho dovuto farlo più di una volta, all'inizio pensavo di aver murato il dispositivo, non avevo luci, nessun clic del relè, nessun segno di vita. Ma l'ho spento ed eseguito di nuovo l'ultimo comando e ha funzionato. Ho dovuto farlo con 3 dei 4 dispositivi che ho lampeggiato, solo uno è andato dritto, penso a causa del passaggio 5.

Istruzioni complete qui:

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

Passaggio 3: connessione al firmware per la prima volta

Prima connessione al firmware
Prima connessione al firmware
Prima connessione al firmware
Prima connessione al firmware
Prima connessione al firmware
Prima connessione al firmware

Una volta che hai mostrato tasmota sul dispositivo, non mostrerà molti segni di vita. Il motivo è che deve essere configurato. Farlo è abbastanza facile, ho trovato che fosse meglio farlo con il mio telefono. I passaggi sono:

1) Cerca punti di accesso WiFi

2) Collegati a quello etichettato tasmota_xxxx (dove x sono numeri)

3) Il telefono dovrebbe indirizzarti alla pagina predefinita, in caso contrario vai a 192.168.4.1

Nota su alcuni telefoni potrebbe darti un messaggio che dice "nessun accesso a Internet, vuoi rimanere connesso", seleziona sì.

4) Nella pagina che compare inserisci il nome della tua rete WiFi e la password nelle prime 2 caselle. Fai clic sull'opzione per mostrare la password e ricontrolla di aver inserito la password corretta. Se hai inserito la password sbagliata, credo che possa essere difficile tornare a questa schermata di configurazione. Nota che puoi anche cercare reti WiFi, anche se ovviamente devi ancora inserire la password.

5) La spina dovrebbe ora essere collegata alla rete WiFi. Dovrai andare alla pagina di configurazione del tuo router e trovare l'IP del tuo dispositivo.

6) Apri un browser web sul tuo PC e vai su https://[device_ip] Dovresti vedere la schermata di configurazione di Tasmota.

Congratulazioni, hai lampeggiato con successo la spina.

Passaggio 4: configurazione della spina

Configurazione della spina
Configurazione della spina

L'azienda che produce questi dispositivi apparentemente produce 10.000 dispositivi con molte configurazioni diverse. Abbiamo appena eseguito il flashing di un nuovo firmware e il firmware non sa su quali dispositivi è stato eseguito il flashing. Quindi, prima che tutto funzioni, dovremo configurarlo. Per farlo dobbiamo trovare i dettagli del nostro dispositivo sul web e caricare quella particolare configurazione.

Per questo, trova il tuo dispositivo in questa pagina:

templates.blakadder.com/plug.html

Per il dispositivo che ho usato, la configurazione è qui:

templates.blakadder.com/kogan-KASPEMHUSBA….

Per impostare la configurazione basta copiare il testo sotto Template. In questo caso è:

Quindi

1) Vai alla pagina di configurazione del tuo dispositivo https://[IP of smart plug]

2) Fare clic su configura, configura altro

3) Incolla nella stringa del modello

4) Spuntare "Abilita MQTT"

5) Fare clic su Attiva e Salva.

Per verificare che abbia funzionato, fai clic su "Menu principale" per tornare alla home page e ora dovresti vedere i dati sul consumo energetico. Saranno tutti zero, anche il voltaggio ma questo è un buon segno. Fai clic sul pulsante di commutazione e dovresti sentire il clic del relè e vedere la tensione salire.

Passaggio 5: calibrazione della tensione

Calibra tensione
Calibra tensione

Ho scoperto che la lettura della tensione stava mostrando abbastanza alta. Se hai un'altra fonte di lettura della tensione in casa (ad esempio un contatore intelligente forse??), puoi calibrare la spina molto facilmente. Per fare questo

1) Ottenere la corretta lettura della tensione

2) Accendere il relè nella presa intelligente

3) Fare clic su Console nella home page del dispositivo

4) Immettere il comando "VoltageSet 228" e premere invio (sostituire 228 con il proprio voltaggio)

La tensione dovrebbe ora essere visualizzata correttamente.

Passaggio 6: installazione del software sul PI

Ci sono alcuni pacchetti che devono essere installati sul PI. Questi sono facili da installare e possono essere eseguiti seguendo le istruzioni dei vari pacchetti. Darò le istruzioni qui, ma nota che possono cambiare nel tempo, quindi le mie istruzioni saranno datate. I pacchetti sono:

Grafana (per la visualizzazione dei grafici)

Influxdb (database delle serie temporali che memorizzerà i nostri dati)

Telegraf (usato per inserire i dati in Influxdb)

Mosquitto (bus di messaggi utilizzato per passare i dati, la presa intelligente spinge i dati qui)

La catena del flusso di dati è così:

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

Se stai chiedendo perché non possiamo saltare Mosquitto e Telegraf, questa è una buona domanda. In teoria lo Smart Plug potrebbe spingere su Influx. Il problema è che dovrebbe essere configurabile per centinaia di endpoint diversi e ci bloccherebbe alcune scelte. La maggior parte delle cose nell'automazione domestica utilizza Mosquitto per passare i messaggi. Ad esempio, possiamo accendere e spegnere la presa inviando messaggi a Mosquitto e la presa intelligente li riceverà e risponderà.

Passaggio 7: installazione di Grafana

Installazione di Grafana
Installazione di Grafana

A partire dal:

grafana.com/grafana/download?platform=arm

O molte altre opzioni qui:

grafana.com/grafana/download

Per Pi 1 e Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1#trova l'ultima versione dalla pagina 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 enable grafana-serversudo /bin/systemctl start grafana-server

Per i PI più recenti (ARMv7)

sudo apt-get install -y adduser libfontconfig1#trova l'ultima versione dalla pagina in altowget 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 abilita grafana-serversudo /bin/systemctl avvia grafana-server

Testare:

Vai a https://[IP di PI]:3000

nome utente/password è admin/admin, ti chiederà di cambiarlo, puoi saltare per ora

Se ottieni una GUI, tutto a posto, vai al passaggio successivo

Passaggio 8: installazione di InfluxDB

Esegui questi comandi sul 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 updateudo apt-get install influxdbsudo systemctl abilita influxdbsudo systemctl start influxdb

Prova digitando "afflusso". Questo dovrebbe metterti nella riga di comando influxdb. Digita "mostra database", non ci saranno ancora database ma se ottieni un elenco vuoto senza errori, tutto a posto.

Passaggio 9: installazione di Telegraf

Questo è davvero semplice, perché abbiamo aggiunto i repository influxdb che possiamo semplicemente digitare:

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

A questo punto Telegraf registrerà già le metriche di sistema su influxdb. Puoi vederli digitando questi comandi:

influxshow databasesuse telegrafshow seriesSELECT * FROM cpu LIMIT 10;

Passaggio 10: installare Mosquitto

Questa parte è semplice poiché installiamo semplicemente la versione predefinita fornita con raspian:

sudo apt-get -y install mosquittosudo apt-get -y install mosquitto-clientssudo systemctl enable mosquittosudo systemctl start mosquitto# crea una password per mosquittosudo mosquitto_passwd -c /etc/mosquitto/tasmota tasmota#inserisci una password. Annota questa password perché dovremo darla a smart plug

Testare:

esegui questo in una sessione SSH:

mosquitto_sub -t test

Esegui questo in un altro

mosquitto_pub -t test -m miomessaggio

Dovresti vedere il tuo messaggio nella prima sessione SSH

Passaggio 11: invio di dati dallo Smart Plug a Mosquitto

Invio di dati dallo Smart Plug a Mosquitto
Invio di dati dallo Smart Plug a Mosquitto

Ora che abbiamo mosquitto in esecuzione, dobbiamo configurare lo smart plug per inviare dati a mosquitto. Questo è abbastanza facile da fare. Avremo bisogno della password inserita per mosquitto dal passaggio precedente.

1) Accedi alla tua pagina web Smart Plugs

2) Fare clic su Configurazione, quindi su Configura registrazione

3) Impostare il periodo di telemetria su 10 e fare clic su Salva.

4) Fare clic su Configura MQTT

5) Per host inserisci l'indirizzo IP del tuo PI

6) Per il nome utente inserire tasmota

7) Per la password inserire la password del passaggio precedente

8) Per argomento inserire tasmota1

9) Fare clic su Salva

Testare:

Al PI, digita il comando seguente. Entro 10 secondi dovresti vedere i dati in arrivo.

mosquitto_sub -t tele/tasmota1/SENSOR

I dati dovrebbero assomigliare a questo:

Passaggio 12: utilizzare Telegraf per inviare dati da Mosquitto a Influx

Ora configureremo Telegraf per leggere i dati da mosquitto e inviarlo a influxdb. Sul PI:

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

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

Nota che vi non è molto amichevole per i nuovi utenti, se preferisci un editor di testo basato su menu usa invece nano:

sudo nano /etc/telegraf/telegraf.conf

3) Incolla la configurazione dal file allegato

4) sudo systemctl restart telegraf

Per testare digita questo sul PI:

afflusso

mostra database

dovresti vedere il database di prova. Se non ti piace il test del nome puoi cambiare dest_db nel file telegraf.conf.

Passaggio 13: infine, crea grafici in Grafana

Infine, crea grafici in Grafana
Infine, crea grafici in Grafana

Finalmente possiamo vedere alcuni dati:-):-)

Per prima cosa dobbiamo creare una connessione al database. Vai alla pagina web della grafana http:[ip of PI]:3000

1) Accedi con admin/admin

2) Nella colonna di sinistra fai clic sull'icona a forma di ingranaggio e sulle origini dati

3) Fare clic su aggiungi origine dati

4) Fare clic su influxdb

5) Per l'URL inserire

6) Per il database inserire test

7) Per HTTP inserire GET

8) Per l'intervallo di tempo minimo immettere 10s

9) Fare clic su Salva e testa, dovrebbe dire "L'origine dati funziona"

OK, ora che abbiamo una connessione al database possiamo creare un grafico… finalmente.

1) Nella colonna di sinistra fare clic su + e poi Dashboard e Aggiungi nuovo pannello

2) Per il database fare clic su InfluxDB

3) Fare clic su Misura e selezionare Kogan

4) Per il campo selezionare Energy_Power.

5) Per gli alias, dai un nome alla tua serie (es. Lavastoviglie)

6) Sul lato destro di Panel Title assegnagli un nome, ad es. Potenza.

7) Questo è tutto, dovresti vedere i dati. Fai clic sul pulsante freccia sinistra per uscire dalla modifica e quindi fai clic su Salva, assegna un nome alla dashboard.

Se sei arrivato fin qui, ottimo lavoro, sul serio.

Passaggio 14: qualche altro consiglio

Qualche altro consiglio
Qualche altro consiglio
Qualche altro consiglio
Qualche altro consiglio

La configurazione predefinita di Telegraf che ho fornito richiedeva un po' di manutenzione in quanto è necessario aggiungere una nuova sezione per ogni dispositivo e riavviare Telegraf. Con le modifiche sottostanti rende le cose molto più dinamiche in quanto i dispositivi possono essere aggiunti o rinominati nella configurazione di Tasmota senza la necessità di cambiare Telegraf.

La prima modifica consiste nell'inserire il + nel nome dell'argomento, questo è fondamentalmente un carattere jolly. Questo da solo sarebbe sufficiente, tranne quando si creano grafici in Grafana, i dispositivi vengono chiamati come "tele/WashingMachine/SENSOR". La seconda parte della configurazione di Telegraf di seguito è il processore regex. Estrae il testo "WashingMachine" dal centro e lo trasforma in un nuovo tag che viene inviato a InfluxDB.

Nota: assicurati di impostare un nome di argomento diverso nella configurazione di Tasmota per ogni dispositivo

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

Una volta fatto questo è molto facile configurare Grafana per mostrare più dispositivi su un grafico. L'immagine allegata a questo passaggio mostra cosa deve essere fatto. Basta fare clic sul segno + sul gruppo per riga e selezionare tag (dispositivo). In fondo a Alias By inserisci $tag_device. Ora dovresti vedere più serie su un grafico. Puoi fare clic sul testo di ciascun elemento per attivarli e disattivarli (ctrl clic funziona per selezionare multipli)

Consigliato: