Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Kjøp noen smarte plugger
- Trinn 2: Blinker enheten
- Trinn 3: Koble til fastvaren for første gang
- Trinn 4: Konfigurere pluggen
- Trinn 5: Kalibrer spenning
- Trinn 6: Installere programvare på PI
- Trinn 7: Installere Grafana
- Trinn 8: Installere InfluxDB
- Trinn 9: Installere Telegraf
- Trinn 10: Installer Mosquitto
- Trinn 11: Sende data fra Smart Plug til Mosquitto
- Trinn 12: Bruk Telegraf til å skyve data fra mygg til tilstrømning
- Trinn 13: Til slutt, lag grafer i Grafana
- Trinn 14: Noen flere tips
Video: Home Appliance Raspberry PI -basert strømmonitor: 14 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Dette var et lite prosjekt jeg gjorde for å overvåke strømforbruket til individuelle apparater rundt i huset og vise grafer over strømforbruket over tid. Det er faktisk et av de enklere Raspberry PI -baserte prosjektene jeg har gjort, ingen lodding eller hacking av åpne produkter kreves. Det trenger ikke å være et Raspberry PI -prosjekt, det kan enkelt gjøres på en Linux -boks eller kanskje Windows.
Kostnaden er $ 50 AUD for et sett med 4 av strømmonitoren/smarte plugger og kostnaden for en Raspberry PI. Dette kan kjøres på en Pi Zero eller Original PI, selv om jeg syntes det var litt tregt. Den eneste andre PI jeg har er en PI 3, og jeg syntes den var veldig grei, så det er det jeg vil anbefale. Vær oppmerksom på at hvis du vil kjøre den på en eldre PI, kan du redusere frekvensen av datainnsamling (jeg brukte 10 sekunder).
Dette prosjektet har også den ekstra fordelen eller å frigjøre smartpluggen fra produsentens fastvare, slik at du ikke trenger å bruke deres spesifikke apper og skytjenester. Så de kan brukes med Home Assist eller bare med dine egne python -skript.
Vær oppmerksom på at jeg antar at du vet hvordan du installerer operativsystemet på PI, kobler til det og kjører noen grunnleggende linux -kommandoer. Jeg antar også at du vet hvordan du finner IP -adressen til smartpluggen din når den kobles til WiFi.
Rekvisita
2 eller 4 pakker med smarte plugger herfra:
www.kogan.com/au/buy/kogan-smarterhome-sma…
1 bringebær PI
Ferdigheter:
Evne til å sette opp en bringebær -PI
Grunnleggende linux kommandolinje
Teksteditor som vi eller nano (nano er mer brukervennlig, vi er raskere når du blir kjent med det)
Evne til å finne IP -en til enheter på nettverket ditt.
Trinn 1: Kjøp noen smarte plugger
Den smarte pluggen jeg brukte var herfra:
www.kogan.com/au/buy/kogan-smarterhome-sma…
Vær oppmerksom på at det er en hel rekke smarte plugger som er kompatible. De fleste (alle?) Er ESP8266 (WEMOS) -baserte enheter og er veldig enkle å blinke. Sørg for å få noe som har strømovervåking som mange ikke har. Denne siden viser en stor liste over kompatible enheter:
templates.blakadder.com/plug.html
Trinn 2: Blinker enheten
Denne delen var overraskende lett. Du laster i utgangspunktet bare ned programvaren, kjører den og den leder deg gjennom.
For dette trenger du en Raspberry PI eller Linux -boks med WiFi. Du må ha din primære tilkobling til denne enheten IKKE som WiFi. For min PI3 var dette enkelt da jeg ble koblet til via Ethernet. Hvis du har en PI Zero, må du koble den gamle måten, med et tastatur og en skjerm.
Jeg antar at du vet hvordan du konfigurerer en PI og kobler til den med SSH eller et tastatur, så jeg kommer ikke til å gå gjennom det. Hvis du er usikker, er det mange opplæringsprogrammer på nettet.
Før vi begynner, bare litt bakgrunn på enhetene. Det er et selskap i Kina som heter Tuya som pumper ut smarte plugger for forskjellige kunder. De gjør tilpasninger for forskjellige kunder og tilbyr en standard fastvare og lar selskaper gjøre sine egne modifikasjoner. Problemet med dette er at hvis du har en haug med produkter fra forskjellige leverandører, må du kjøre en haug med apper, hvorav noen fungerer bedre enn andre. Ved å blinke en åpen kildekode -fastvare frigjør du deg selv fra alt dette. Så dette er bra for generell hjemmeautomatisering.
Så…. uten videre, her er instruksjonene:
1) Kjør disse kommandoene på PI, dette vil installere nødvendig programvare.
# git-klon https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert#./install_prereq.sh
2) Koble smartpluggen til strøm
3) Slå den på med knappen
4) Hold inne strømknappen til det blå lyset begynner å blinke
5) Vent 10 sekunder. Dette er ikke viktig, men jeg syntes det fungerte bedre hvis du gjorde det.
6) Kjør denne kommandoen
./start_flash.sh
Herfra følger du bare instruksjonene bortsett fra på slutten velg "2. Tasmota". Det er et alternativ for en annen fastvare, men jeg har ikke prøvd det, så jeg er ikke sikker på hvordan det er.
Legg merke til at jeg måtte gjøre dette mer enn en gang, først trodde jeg at jeg hadde muret enheten, jeg hadde ingen lys, ingen stafettklikk, ingen tegn på liv. Men jeg slo den av og kjørte den siste kommandoen igjen, og det fungerte. Jeg måtte gjøre dette med 3 av de 4 enhetene jeg blinket, bare en gikk rett igjennom, tror jeg på grunn av trinn 5.
Full instruksjon her:
github.com/ct-Open-Source/tuya-convert
Trinn 3: Koble til fastvaren for første gang
Når du har blinket tasmota til enheten, vil den ikke vise mange tegn på liv. Grunnen til dette er at den må konfigureres. Å gjøre dette er ganske enkelt, jeg fant det best å gjøre det med telefonen min. Trinnene er:
1) Søk etter WiFi -tilgangspunkter
2) Koble til den merkede tasmota_xxxx (der x er tall)
3) Telefonen skal lede deg til standardsiden, hvis ikke gå til 192.168.4.1
Merk at på noen telefoner kan det gi deg en melding som sier "ingen internettilgang, vil du holde kontakten", velg ja.
4) På siden det åpnes, skriv inn navnet på WiFi -nettverket og passordet i de to første boksene. Klikk på alternativet for å vise passord og trippel sjekk at du har angitt riktig passord. Hvis du har angitt feil passord, tror jeg det kan være vanskelig å komme tilbake til denne konfigurasjonsskjermen. Vær oppmerksom på at du også kan søke etter WiFi -nettverk, selv om du åpenbart fortsatt må skrive inn passordet.
5) Pluggen skal nå ha koblet seg til ditt WiFi -nettverk. Du må gå til konfigurasjonssiden for ruteren din og finne IP -adressen til enheten din.
6) Åpne en nettleser på din PC og gå til https:// [device_ip] Du bør se konfigurasjonsskjermen fra Tasmota.
Gratulerer, du har blinket pluggen.
Trinn 4: Konfigurere pluggen
Selskapet som lager disse enhetene lager tilsynelatende 10 000 enheter med mange forskjellige konfigurasjoner. Vi har nettopp blinket en ny fastvare, og fastvaren vet ikke hvilke enheter den har blitt blinket på. Så før noe fungerer, må vi konfigurere det. For å gjøre det må vi finne detaljene for enheten vår på nettet og laste den aktuelle konfigurasjonen.
For dette, finn enheten din på denne siden:
templates.blakadder.com/plug.html
For enheten jeg brukte, er konfigurasjonen her:
templates.blakadder.com/kogan-KASPEMHUSBA….
For å angi konfigurasjonen kopierer vi bare teksten under mal. I dette tilfellet er det:
Deretter
1) Gå til enhetens konfigurasjonsside https:// [IP for smart plug]
2) Klikk på konfigurer, konfigurer annet
3) Lim inn malstrengen din
4) Merk av for "Aktiver MQTT"
5) Klikk på aktiver og lagre.
For å teste at dette har fungert, klikk på "Hovedmeny" for å gå tilbake til hjemmesiden, og du bør nå se strømforbrukstall. De vil alle være null, selv spenningen, men dette er et godt tegn. Klikk på vippeknappen, og du bør høre reléklikket og se spenningen gå opp.
Trinn 5: Kalibrer spenning
Jeg fant spenningsavlesningen viste ganske høy. Hvis du har en annen kilde til spenningsmåling i huset (f.eks. Smartmåler kanskje ??), kan du kalibrere støpselet veldig enkelt. Å gjøre dette
1) Få riktig spenningsmåling
2) Slå på reléet i smartpluggen
3) Klikk på Konsoll på startsiden for enheten
4) Skriv inn kommandoen "VoltageSet 228" og trykk enter (bytt 228 med spenningen)
Spenningen skal nå vises riktig.
Trinn 6: Installere programvare på PI
Det er noen få pakker som må installeres på PI. Disse er enkle å installere og kan gjøres etter instruksjonene fra de forskjellige pakkene. Jeg vil gi instruksjonene her, men merk at de kan endres over tid, så instruksjonene mine vil dateres. Pakkene er:
Grafana (for å vise grafer)
Influxdb (tidsseriedatabase som lagrer dataene våre)
Telegraf (brukes til å skyve data inn i Influxdb)
Mosquitto (meldingsbuss som brukes til å sende data rundt, smartpluggen skyver dataene hit)
Dataflyten er som følger:
Smart Plug -> Mosquitto -> Telegraf -> InfluxDB -> Grafana
Hvis du spør hvorfor vi ikke kan hoppe over Mosquitto og Telegraf, er det et godt spørsmål. I teorien kan Smart Plug skyve til Tilstrømning. Problemet med det er at det da må konfigureres for 100 -talls forskjellige endepunkter, og det vil låse oss utenfor noen valg. De fleste tingene i hjemmeautomatisering bruker Mosquitto til å sende meldinger rundt. Som et eksempel kan vi slå pluggen av og på ved å sende meldinger til Mosquitto, og smartpluggen vil motta dem og svare.
Trinn 7: Installere Grafana
Fra:
grafana.com/grafana/download?platform=arm
Eller mange andre alternativer her:
grafana.com/grafana/download
For Pi 1 og Pi Zero (ARMv6)
sudo apt-get install -y adduser libfontconfig1#finn den nyeste versjonen fra siden på 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 aktiver grafana-serversudo /bin /systemctl start grafana-server
For nyere PI (ARMv7)
sudo apt -get install -y adduser libfontconfig1#finn den nyeste versjonen fra siden på 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 aktiver grafana-serversudo/bin/systemctl start grafana-server
Å teste:
Gå til https:// [IP of PI]: 3000
brukernavn/passord er admin/admin, det vil be deg om å endre det, du kan hoppe over for nå
Hvis du får en GUI, er alt bra, gå til neste trinn
Trinn 8: Installere InfluxDB
Kjør disse kommandoene på 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 stabil" | 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 aktiver influxdbsudo systemctl start influxdb
Test ved å skrive "tilstrømning". Dette bør sette deg inn i influxdb -kommandolinjen. Skriv "vis databaser", det vil ikke være noen databaser ennå, men hvis du får en tom liste uten feil, er alt bra.
Trinn 9: Installere Telegraf
Denne er veldig enkel, fordi vi la til influxdb -reposene vi bare kan skrive:
sudo apt-get install telegrafsudo systemctl aktiver telegrafsudo systemctl start telegraf
På dette tidspunktet vil Telegraf allerede logge systemberegninger til influxdb. Du kan se dem ved å skrive disse kommandoene:
tilstrømningshow databaser bruk telegrafshow -serierVELG * FRA cpu LIMIT 10;
Trinn 10: Installer Mosquitto
Denne delen er enkel ettersom vi bare installerer standardversjonen som er pakket med raspian:
sudo apt -get -y install mosquittosudo apt -get -y install mosquitto -clientssudo systemctl aktiver mosquittosudo systemctl start mosquitto# opprett et passord for mosquittosudo mosquitto_passwd -c/etc/mosquitto/tasmota tasmota# skriv inn et passord. Skriv ned dette passordet, da vi må gi dette til smartpluggen
Å teste:
kjør dette i en SSH -økt:
mygg_sub -t test
Kjør dette i en annen
mygg_pub -t test -m melding
Du bør se meldingen din i den første SSH -økten
Trinn 11: Sende data fra Smart Plug til Mosquitto
Nå har vi mygg i gang, vi må konfigurere smartpluggen for å sende data til mygg. Dette er ganske enkelt å gjøre. Vi trenger passordet som er angitt for mygg fra forrige trinn.
1) Logg deg på smartpluggen din
2) Klikk på Konfigurasjon og deretter på Konfigurer logging
3) Sett telemetriperioden til 10 og klikk på lagre.
4) Klikk på Konfigurer MQTT
5) Skriv inn IP -adressen til PI -en for verten
6) Skriv inn tasmota for brukernavn
7) Skriv inn passordet fra forrige trinn for passord
8) Angi tasmota1 for emne
9) Klikk på lagre
Å teste:
Skriv inn kommandoen nedenfor på PI. I løpet av 10 sekunder bør du se data komme gjennom.
mosquitto_sub -t tele/tasmota1/SENSOR
Data skal se slik ut:
Trinn 12: Bruk Telegraf til å skyve data fra mygg til tilstrømning
Vi skal nå konfigurere Telegraf til å lese dataene fra mygg og presse til influxdb. På PI:
1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak
2) sudo vi /etc/telegraf/telegraf.conf
Merk vi ikke er supervennlig for nye brukere, hvis du foretrekker et menybasert tekstredigeringsprogram, bruk nano i stedet:
sudo nano /etc/telegraf/telegraf.conf
3) Lim inn konfigurasjonen fra den vedlagte filen
4) sudo systemctl start telegraf på nytt
For å teste skriver du dette på PI:
tilstrømning
vise databaser
du bør se testdatabasen. Hvis du ikke liker namnetesten, kan du endre dest_db i filen telegraf.conf.
Trinn 13: Til slutt, lag grafer i Grafana
Endelig får vi se noen data:-):-)
Først må vi opprette en forbindelse til databasen. Gå til grafana -websiden http: [ip of PI]: 3000
1) Logg inn med admin/admin
2) Klikk på tannhjulikonet og datakildene i den venstre kolonnen
3) Klikk på legg til datakilde
4) Klikk på influxdb
5) For URL angi https:// localhost: 8086
6) For database, skriv inn test
7) Angi GET for
8) Angi 10s for min tidsintervall
9) Klikk på Lagre og test, det skal stå "Datakilde fungerer"
OK, nå har vi en forbindelse til databasen, vi kan lage en graf … endelig.
1) I venstre kolonne klikker du på + og deretter Dashboard og Legg til nytt panel
2) Klikk på InfluxDB for databasen
3) Klikk på måling og velg Kogan
4) Velg Energy_Power for feltet.
5) For alias, gi serien et navn (f.eks. Oppvaskmaskin)
6) Gi den et navn på paneltittelen på høyre side, f.eks. Power.
7) Det er det, du bør se data. Klikk på venstre pilknapp for å gå ut av redigeringen, og klikk deretter på lagre, gi dashbordet et navn.
Hvis du kom så langt, flott arbeid, seriøst.
Trinn 14: Noen flere tips
Standard Telegraf -konfigurasjonen jeg ga var litt vedlikeholdskrevende ved at en ny seksjon må legges til for hver enhet og en omstart av Telegraf må utføres. Med endringene nedenfor gjør det tingene mye mer dynamiske ved at enheter kan legges til eller gi nytt navn i Tasmota -konfigurasjonen uten å måtte endre Telegraf.
Den første endringen er å sette + i emnet navn, dette er i utgangspunktet et jokertegn. Dette i seg selv ville være nok bortsett fra når du lager grafer i Grafana, kommer enhetene opp med navn som "tele/WashingMachine/SENSOR". Den andre delen av Telegraf -konfigurasjonen nedenfor er regex -prosessoren. Den trekker teksten "WashingMachine" ut av midten og gjør den til en ny tag som blir presset til InfluxDB.
Merk: Sørg for å konfigurere et annet emnenavn i Tasmota -konfigurasjonen for hver enhet
[inputs.mqtt_consumer.tags] dest_db = "test"
Når dette er gjort er det veldig enkelt å konfigurere Grafana til å vise flere enheter på den ene grafen. Bildet vedlagt dette trinnet viser hva som må gjøres. Bare klikk på + -tegnet på gruppen etter linje og velg tag (enhet). I bunnen av Alias By skriv inn $ tag_device. Du bør nå se flere serier på den ene grafen. Du kan klikke på teksten til hvert element for å slå dem på og av (ctrl klikk fungerer for å velge multipler)
Anbefalt:
Smart Home av Raspberry Pi: 5 trinn (med bilder)
Smart Home av Raspberry Pi: Det er allerede flere produkter der ute som gjør leiligheten din smartere, men de fleste av dem er proprietære løsninger. Men hvorfor trenger du en internettforbindelse for å bytte lys med smarttelefonen din? Det var en grunn for meg til å bygge mitt eget Smar
EWON Raspberry Pi Powered Home Robot: 7 trinn (med bilder)
EWON Raspberry Pi Powered Home Robot: Jeg har nylig sett meg mye på Netflix-serier på grunn av den nåværende situasjonen, jeg håper dere alle er trygge, og jeg så at sesong 5 av Black Mirror ble utgitt. En antologiserie som kretser rundt en gruppe menneskers personlige liv
Trådløs strømmonitor: 6 trinn (med bilder)
Trådløs strømmonitor: Overvåk strømforbruket til dine elektroniske enheter eksternt via en mobil Blynk -app. Denne enkle enheten er basert på en D1 Mini mikrokontroller. Koble til strømkilden via DC -inngangskanalen og enheten via DC -utgangen. Overvåkingsutviklingen
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 trinn
Sonoff B1 Firmware Home Automation Openhab Google Home: Jeg liker Tasmota -fastvaren for Sonoff -switchene mine. Men a var egentlig ikke fornøyd med Tasmota-fastvaren på min Sonoff-B1. Jeg lyktes ikke fullt ut med å integrere det i Openhab og kontrollere det via Google Home. Derfor skrev jeg mitt eget firma
RASPBERRY PI ALEXA HOME AUTOMATION: 4 trinn
RASPBERRY PI ALEXA HOME AUTOMATION: Denne instruksjonsboken dekker konseptene Amazon alexa eho dot, Raspberry pi Gpio -kontroll ved hjelp av alexa. Hovedproblemet ved håndtering av alexa er hver gang du trenger å legge til noen ferdigheter i din aws -konto som krever mye tid, til etablere c