Cuprins:

Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice: 14 pași
Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice: 14 pași

Video: Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice: 14 pași

Video: Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice: 14 pași
Video: Scheme și articole pentru electroniști dar și pentru electricieni 2024, Noiembrie
Anonim
Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice
Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice
Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice
Monitor de alimentare bazat pe Raspberry PI pentru electrocasnice

Acesta a fost un mic proiect pe care l-am făcut pentru a monitoriza consumul de energie al aparatelor individuale din casă și a afișa grafice ale consumului de energie al acestora în timp. Este de fapt unul dintre cele mai ușoare proiecte bazate pe Raspberry PI pe care le-am realizat, nu este necesară lipirea sau piratarea produselor deschise. Nu trebuie să fie un proiect Raspberry PI, ar putea fi realizat cu ușurință pe o cutie Linux sau poate pe Windows.

Costul este de 50 USD AUD pentru un set de 4 monitoruri de putere / prize inteligente și costul unui Raspberry PI. Acest lucru poate rula pe un Pi Zero sau pe PI original, deși am găsit că a fost cam lent. Singurul alt PI pe care îl am este un PI 3 și l-am găsit foarte rapid, așa că aș recomanda. Rețineți, dacă doriți să îl rulați pe un PI mai vechi, puteți reduce frecvența colectării datelor (foloseam 10 secunde).

Acest proiect are, de asemenea, avantajul suplimentar sau eliberarea mufei inteligente de la firmware-ul producătorului, astfel încât nu trebuie să utilizați aplicațiile și serviciile cloud specifice. Deci, pot fi utilizate cu Home Assist sau doar cu propriile scripturi python.

Vă rugăm să rețineți că presupun că știți cum să instalați sistemul de operare pe PI, să vă conectați la acesta și să rulați câteva comenzi linux de bază. Presupun, de asemenea, că știți cum să găsiți adresa IP a mufei inteligente odată ce se conectează la WiFi.

Provizii

Pachet de 2 sau 4 pachete de prize inteligente de aici:

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

1 Raspberry PI

Aptitudini:

Abilitatea de a configura un PI cu zmeură

Linia de comandă linux de bază

Editor de text precum vi sau nano (nano este mai ușor de utilizat, vi este mai rapid odată ce îl cunoașteți)

Posibilitatea de a găsi IP-ul dispozitivelor din rețeaua dvs.

Pasul 1: Cumpărați niște mufe inteligente

Cumpărați niște mufe inteligente
Cumpărați niște mufe inteligente

Mufa inteligentă pe care am folosit-o a fost de aici:

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

Rețineți că există o gamă întreagă de prize inteligente care sunt compatibile, majoritatea (toate?) Sunt dispozitive bazate pe ESP8266 (WEMOS) și sunt foarte ușor de bliț. Asigurați-vă că obțineți ceva care are monitorizare a puterii, așa cum mulți nu. Această pagină prezintă o listă largă de dispozitive compatibile:

templates.blakadder.com/plug.html

Pasul 2: intermitentul dispozitivului

Această parte a fost surprinzător de ușoară. Practic, pur și simplu descărcați software-ul, îl rulați și vă conduce.

Pentru aceasta veți avea nevoie de o cutie Raspberry PI sau Linux cu WiFi. Va trebui să aveți conexiunea dvs. principală la acest dispozitiv NU fiind WiFi. Pentru PI3 meu acest lucru a fost ușor, deoarece am fost conectat prin Ethernet. Dacă aveți un PI Zero, va trebui să vă conectați la modul vechi, cu o tastatură și un monitor.

Presupun că știți cum să configurați un PI și să vă conectați la acesta cu SSH sau o tastatură, așa că nu voi trece prin asta. Dacă nu sunteți sigur, există o mulțime de tutoriale pe web.

Înainte de a începe, doar un pic de fundal pe dispozitive. Există o companie în China numită Tuya care pompează prize inteligente pentru diferiți clienți. Acestea fac personalizare pentru diferiți clienți și oferă un firmware implicit și permit companiilor să facă propriile modificări. Problema cu acest lucru este dacă aveți o grămadă de produse de la diferiți furnizori, atunci trebuie să rulați o grămadă de aplicații, dintre care unele funcționează mai bine decât altele. Intermitând un firmware open source, te eliberezi de toate acestea. Deci, acest lucru este bun pentru automatizarea caselor generale.

Asa de …. fără alte întrebări, iată instrucțiunile:

1) Rulați aceste comenzi pe PI, aceasta va instala software-ul necesar.

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

2) Conectați mufa inteligentă la alimentare

3) Porniți-l cu butonul

4) Țineți apăsat butonul de alimentare până când lumina albastră începe să clipească

5) Așteptați 10 secunde. Acest lucru nu este esențial, dar am găsit că funcționează mai bine dacă ai făcut-o.

6) Rulați această comandă

./start_flash.sh

De aici trebuie doar să urmați instrucțiunile, cu excepția cazului în care selectați „2. Tasmota”. Există o opțiune pentru un alt firmware, dar nu am încercat asta, așa că nu sunt sigur cum este.

Rețineți că a trebuit să fac acest lucru de mai multe ori, la început am crezut că am blocat dispozitivul, nu aveam lumini, nici un clic de releu, nici semne de viață. Dar l-am oprit și am executat din nou ultima comandă și a funcționat. A trebuit să fac asta cu 3 din cele 4 dispozitive pe care le-am aprins, doar unul a trecut direct, cred că datorită pasului 5.

Instrucțiuni complete aici:

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

Pasul 3: Conectarea la firmware pentru prima dată

Conectarea la firmware pentru prima dată
Conectarea la firmware pentru prima dată
Conectarea la firmware pentru prima dată
Conectarea la firmware pentru prima dată
Conectarea la firmware pentru prima dată
Conectarea la firmware pentru prima dată

Odată ce ați pornit tasmota pe dispozitiv, nu va mai arăta prea multe semne de viață. Motivul pentru aceasta este că trebuie configurat. A face acest lucru este destul de ușor, am găsit cel mai bine să fac asta cu telefonul meu. Pașii sunt:

1) Căutați puncte de acces WiFi

2) Conectați-vă la cea etichetată tasmota_xxxx (unde x reprezintă numere)

3) Telefonul ar trebui să vă direcționeze către pagina implicită, dacă nu, accesați 192.168.4.1

Notă pe unele telefoane, vă poate oferi un mesaj care spune „fără acces la internet, doriți să rămâneți conectat”, selectați da.

4) Pe pagina afișată, introduceți numele rețelei WiFi și parola în primele 2 casete. Faceți clic pe opțiunea pentru a afișa parola și verificați de trei ori dacă ați introdus parola corectă. Dacă ați introdus o parolă greșită, cred că poate fi dificil să reveniți la acest ecran de configurare. Rețineți că puteți căuta și rețele WiFi, deși, evident, trebuie să introduceți parola.

5) Ștecherul ar trebui să se fi conectat acum la rețeaua dvs. WiFi. Va trebui să accesați pagina de configurare pentru router și să găsiți adresa IP a dispozitivului.

6) Deschideți un browser web pe computer și accesați https:// [device_ip] Ar trebui să vedeți ecranul de configurare din Tasmota.

Felicitări, ați aprins cu succes mufa.

Pasul 4: Configurarea mufei

Configurarea mufei
Configurarea mufei

Compania care produce aceste dispozitive aparent produce 10.000 de dispozitive cu multe configurații diferite. Tocmai am lansat un nou firmware, iar firmware-ul nu știe pe ce dispozitive a fost pornit. Deci, înainte ca orice să funcționeze, va trebui să-l configurăm. Pentru a face acest lucru, trebuie să găsim detaliile dispozitivului nostru pe web și să încărcăm configurația respectivă.

Pentru aceasta, găsiți dispozitivul pe această pagină:

templates.blakadder.com/plug.html

Pentru dispozitivul pe care l-am folosit, configurarea este aici:

templates.blakadder.com/kogan-KASPEMHUSBA….

Pentru a seta configurarea, copiem textul sub Șablon. În acest caz este:

Atunci

1) Accesați pagina de configurare a dispozitivului dvs. https:// [IP-ul smart plug-ului]

2) Faceți clic pe configurare, configurați altele

3) Lipiți șirul șablonului

4) Bifați „Activați MQTT”

5) Faceți clic pe activare și Salvare.

Pentru a testa acest lucru a funcționat, faceți clic pe „Meniul principal” pentru a reveni la pagina principală și acum ar trebui să vedeți cifrele privind consumul de energie. Toate vor fi zero, chiar și tensiunea, dar acesta este un semn bun. Faceți clic pe butonul de comutare și ar trebui să auziți clicul releului și să vedeți cum crește tensiunea.

Pasul 5: Calibrați tensiunea

Calibrează tensiunea
Calibrează tensiunea

Am constatat că citirea tensiunii se arăta destul de mare. Dacă aveți o altă sursă de citire a tensiunii în casă (de exemplu, contor inteligent poate ??), atunci puteți calibra mufa foarte ușor. Pentru a face acest lucru

1) Obțineți citirea corectă a tensiunii

2) Porniți releul în mufa inteligentă

3) Faceți clic pe Consolă în pagina de pornire pentru dispozitiv

4) Introduceți comanda „VoltageSet 228” și apăsați Enter (înlocuiți 228 cu tensiunea dvs.)

Tensiunea ar trebui să apară acum corect.

Pasul 6: Instalarea software-ului pe PI

Există câteva pachete care trebuie instalate pe PI. Acestea sunt ușor de instalat și pot fi realizate urmând instrucțiunile din diferitele pachete. Voi da instrucțiunile aici, dar rețineți că se pot schimba în timp, astfel încât instrucțiunile mele să fie date. Pachetele sunt:

Grafana (pentru afișarea graficelor)

Influxdb (baza de date cu serii de timp care ne va stoca datele)

Telegraf (folosit pentru a introduce date în Influxdb)

Mosquitto (magistrala de mesaje folosită pentru a transmite date în jur, mufa inteligentă împinge datele aici)

Lanțul fluxului de date este astfel:

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

Dacă întrebați de ce nu putem sări peste Mosquitto și Telegraf, aceasta este o întrebare bună. În teorie, Smart Plug-ul ar putea împinge la Influx. Problema cu acest lucru este că ar trebui să fie apoi configurabil pentru 100 de puncte finale diferite și ne-ar bloca din unele opțiuni. Majoritatea lucrurilor din automatizarea casei folosesc Mosquitto pentru a transmite mesaje. De exemplu, putem porni și opri conectarea prin trimiterea de mesaje către Mosquitto, iar conectorul inteligent le va primi și va răspunde.

Pasul 7: Instalarea Grafana

Instalarea Grafana
Instalarea Grafana

Din:

grafana.com/grafana/download?platform=arm

Sau multe alte opțiuni aici:

grafana.com/grafana/download

Pentru Pi 1 și Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1 # găsiți cea mai recentă versiune din pagină în 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 activate grafana-serversudo / bin / systemctl start grafana-server

Pentru PI mai noi (ARMv7)

sudo apt-get install -y adduser libfontconfig1 # găsiți cea mai recentă versiune din pagină în partea de sus 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 activate grafana-serversudo / bin / systemctl start grafana-server

A testa:

Accesați https:// [IP-ul PI]: 3000

numele de utilizator / parola este admin / admin, vă va cere să o modificați, puteți sări peste moment

Dacă primiți o interfață grafică, treceți la pasul următor

Pasul 8: Instalarea InfluxDB

Rulați aceste comenzi pe 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

Testează tastând „influx”. Acest lucru ar trebui să vă plaseze în linia de comandă influxdb. Tastați „arată baze de date”, nu vor exista încă baze de date, dar dacă veți obține o listă goală fără erori, atunci toate sunt bune.

Pasul 9: Instalarea Telegraf

Acesta este foarte ușor, deoarece am adăugat repo-urile influxdb pe care le putem tasta doar:

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

În acest moment, Telegraf va înregistra deja valorile sistemului la influxdb. Le puteți vedea tastând aceste comenzi:

influxshow baze de date utiliza telegrafshow series SELECT * FROM cpu LIMIT 10;

Pasul 10: Instalați Mosquitto

Această parte este ușoară deoarece instalăm doar versiunea implicită care este împachetată cu 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. Scrieți această parolă, deoarece va trebui să o dăm la mufa inteligentă

A testa:

rulați acest lucru într-o singură sesiune SSH:

mosquitto_sub -t test

Rulați acest lucru în altul

mosquitto_pub -t test -m mymessage

Ar trebui să vă vedeți mesajul în prima sesiune SSH

Pasul 11: Trimiterea datelor de la Smart Plug la Mosquitto

Trimiterea datelor de la Smart Plug la Mosquitto
Trimiterea datelor de la Smart Plug la Mosquitto

Acum avem mosquitto în funcțiune, trebuie să configurăm mufa inteligentă pentru a trimite date la mosquitto. Acest lucru este destul de ușor de făcut. Vom avea nevoie de parola introdusă pentru mosquitto din pasul anterior.

1) Conectați-vă la pagina web a mufelor inteligente

2) Faceți clic pe Configurare, apoi pe Configurare jurnalizare

3) Setați perioada de telemetrie la 10 și faceți clic pe salvare.

4) Faceți clic pe Configurare MQTT

5) Pentru gazdă, introduceți adresa IP a PI-ului dvs.

6) Pentru numele de utilizator introduceți tasmota

7) Pentru parolă, introduceți parola de la pasul anterior

8) Pentru subiect introduceți tasmota1

9) Faceți clic pe salvare

A testa:

La PI, tastați comanda de mai jos. În decurs de 10 secunde ar trebui să vedeți datele care trec.

mosquitto_sub -t tele / tasmota1 / SENSOR

Datele ar trebui să arate astfel:

Pasul 12: Utilizați Telegraf pentru a împinge datele de la Mosquitto la Influx

Acum vom configura Telegraf să citească datele din mosquitto și să împingă la influxdb. Pe PI:

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

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

Notă vi nu este foarte prietenoasă pentru utilizatorii noi, dacă preferați un editor de text bazat pe meniu, folosiți nano în loc:

sudo nano /etc/telegraf/telegraf.conf

3) Lipiți config din fișierul atașat

4) sudo systemctl reporniți telegraf

Pentru a testa, tastați acest lucru pe PI:

aflux

afișați baze de date

ar trebui să vedeți baza de date de testare. Dacă nu vă place testul de nume, puteți schimba dest_db în fișierul telegraf.conf.

Pasul 13: În cele din urmă, creați grafice în Grafana

În cele din urmă, creați grafice în Grafana
În cele din urmă, creați grafice în Grafana

În cele din urmă, vom vedea câteva date:-):-)

Mai întâi trebuie să creăm o conexiune la baza de date. Accesați pagina web grafana http: [ip of PI]: 3000

1) Conectați-vă cu admin / admin

2) În coloana din stânga, faceți clic pe pictograma roată și sursele de date

3) Faceți clic pe adăugați sursa de date

4) Faceți clic pe influxdb

5) Pentru URL introduceți https:// localhost: 8086

6) Pentru baza de date introduceți testul

7) Pentru HTTP introduceți GET

8) Pentru intervalul de timp min, introduceți 10 secunde

9) Faceți clic pe Salvați și testați, ar trebui să scrie „Sursa de date funcționează”

OK, acum avem o conexiune la baza de date putem crea un grafic … în cele din urmă.

1) În coloana din stânga, faceți clic pe + și apoi pe Tabloul de bord și Adăugați un panou nou

2) Pentru baza de date, faceți clic pe InfluxDB

3) Faceți clic pe măsurare și selectați Kogan

4) Pentru câmp selectați Energie_Puterea.

5) Pentru alias, dați serialului un nume (de exemplu, Mașină de spălat vase)

6) În partea dreaptă pentru Titlul panoului, dați-i un nume, de ex. Putere.

7) Gata, ar trebui să vedeți date. Faceți clic pe butonul săgeată din stânga pentru a ieși din editare, apoi faceți clic pe Salvare, dați tabloului de bord un nume.

Dacă ai ajuns până aici, mare lucru, serios.

Pasul 14: Mai multe sfaturi

Câteva sfaturi
Câteva sfaturi
Câteva sfaturi
Câteva sfaturi

Configurația implicită Telegraf pe care am furnizat-o a fost un pic intensă în întreținere, deoarece trebuie adăugată o nouă secțiune pentru fiecare dispozitiv și o repornire a Telegraf. Cu modificările de mai jos face lucrurile mult mai dinamice, deoarece dispozitivele pot fi adăugate sau redenumite în configurația Tasmota fără a fi nevoie să schimbați Telegraf.

Prima modificare este să puneți + în numele subiectului, acesta este practic un wildcard. Acest lucru de unul singur ar fi suficient, cu excepția cazului în care creați grafice în Grafana, dispozitivele apar sub numele de „tele / WashingMachine / SENSOR”. A doua parte a configurației Telegraf de mai jos este procesorul regex. Scoate textul „WashingMachine” din centru și îl transformă într-o nouă etichetă care este împinsă spre InfluxDB.

Notă: asigurați-vă că configurați un nume de subiect diferit în configurația Tasmota pentru fiecare dispozitiv

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

Odată ce ați făcut acest lucru, este foarte ușor să configurați Grafana pentru a afișa mai multe dispozitive pe un singur grafic. Imaginea atașată acestui pas arată ce trebuie făcut. Doar faceți clic pe semnul + de pe grup după linie și selectați eticheta (dispozitiv). În partea de jos, la Alias By, introduceți $ tag_device. Acum ar trebui să vedeți mai multe serii pe un grafic. Puteți face clic pe textul fiecărui element pentru a le activa sau dezactiva (faceți clic pe ctrl funcționează pentru a selecta multipli)

Recomandat: