Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Køb nogle smarte stik
- Trin 2: Blinker enheden
- Trin 3: Tilslutning til firmwaren for første gang
- Trin 4: Konfiguration af stikket
- Trin 5: Kalibrer spænding
- Trin 6: Installation af software på PI
- Trin 7: Installation af Grafana
- Trin 8: Installation af InfluxDB
- Trin 9: Installation af Telegraf
- Trin 10: Installer Mosquitto
- Trin 11: Afsendelse af data fra Smart Plug til Mosquitto
- Trin 12: Brug Telegraf til at skubbe data fra myg til tilstrømning
- Trin 13: Endelig opret grafer i Grafana
- Trin 14: Et par flere tips
Video: Husholdningsapparat Hindbær PI -baseret strømmonitor: 14 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Dette var et lille projekt, jeg lavede for at overvåge strømforbruget for individuelle apparater rundt i huset og vise grafer over deres strømforbrug over tid. Det er faktisk et af de lettere Raspberry PI -baserede projekter, jeg har udført, og der kræves ingen lodning eller hacking af åbne produkter. Det behøver ikke at være et Raspberry PI -projekt, det kan let gøres på en Linux -boks eller måske Windows.
Omkostningerne er $ 50 AUD for et sæt på 4 af strømovervågningen/smarte stik og omkostningerne ved en Raspberry PI. Dette kan køre på en Pi Zero eller den originale PI, selvom jeg syntes det var lidt langsomt. Den eneste anden PI, jeg har, er en PI 3, og jeg fandt den meget snappy, så det er det, jeg vil anbefale. Bemærk, at hvis du vil køre det på en ældre PI, kan du reducere dataindsamlingsfrekvensen (jeg brugte 10 sekunder).
Dette projekt har også den ekstra fordel eller at frigøre det smarte stik fra producentens firmware, så du ikke behøver at bruge deres specifikke apps og cloud -tjenester. Så de kan bruges med Home Assist eller bare med dine egne python -scripts.
Bemærk, jeg går ud fra, at du ved, hvordan du installerer OS på PI'en, opretter forbindelse til det og kører nogle grundlæggende linux -kommandoer. Jeg går også ud fra, at du ved, hvordan du finder IP -adressen på dit smarte stik, når det er forbundet til din WiFi.
Forbrugsvarer
2 pakker eller 4 pakker smarte stik herfra:
www.kogan.com/au/buy/kogan-smarterhome-sma…
1 Hindbær PI
Færdigheder:
Mulighed for opsætning af et hindbær PI
Grundlæggende linux kommandolinje
Teksteditor som vi eller nano (nano er mere brugervenlig, vi er hurtigere, når du lærer det at kende)
Mulighed for at finde IP -enheder på dit netværk.
Trin 1: Køb nogle smarte stik
Det smarte stik, jeg brugte, var herfra:
www.kogan.com/au/buy/kogan-smarterhome-sma…
Bemærk, at der er en hel række smarte stik, der er kompatible. De fleste (alle?) Er ESP8266 (WEMOS) baserede enheder og er meget lette at blinke. Sørg for at få noget, der har strømovervågning, som mange ikke har. Denne side viser en stor liste over kompatible enheder:
templates.blakadder.com/plug.html
Trin 2: Blinker enheden
Denne del var overraskende let. Du downloader stort set bare softwaren, kører den, og den træder dig igennem.
Til dette skal du bruge en Raspberry PI eller Linux boks med WiFi. Du skal have din primære forbindelse til denne enhed, der IKKE er WiFi. For min PI3 var dette let, da jeg var forbundet via Ethernet. Hvis du har en PI Zero, skal du forbinde den gammeldags måde med et tastatur og en skærm.
Jeg går ud fra, at du ved, hvordan du konfigurerer en PI og opretter forbindelse til den med SSH eller et tastatur, så jeg vil ikke gå igennem det. Hvis du er usikker, er der masser af selvstudier på nettet.
Inden vi starter, lige lidt baggrund på enhederne. Der er et firma i Kina ved navn Tuya, der pumper smarte stik ud til forskellige kunder. De foretager tilpasning til forskellige kunder og leverer en standard firmware og giver virksomheder mulighed for at foretage deres egne ændringer. Problemet med dette er, hvis du har en masse produkter fra forskellige leverandører, så ender du med at skulle køre en masse apps, hvoraf nogle fungerer bedre end andre. Ved at blinke en open source -firmware frigør du dig selv fra alt det. Så dette er godt for generel hjemmeautomatisering.
Så…. uden videre, her er instruktionerne:
1) Kør disse kommandoer på PI, dette installerer den nødvendige software.
# git-klon https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert#./install_prereq.sh
2) Slut det smarte stik til strømmen
3) Tænd for den med knappen
4) Hold tænd / sluk -knappen inde, indtil det blå lys begynder at blinke
5) Vent 10 sekunder. Dette er ikke vigtigt, men jeg fandt ud af, at det fungerede bedre, hvis du gjorde det.
6) Kør denne kommando
./start_flash.sh
Herfra følger du bare anvisningerne undtagen i slutningen "2. Tasmota". Der er en mulighed for en anden firmware, men jeg har ikke prøvet det, så jeg er ikke sikker på, hvordan det er.
Bemærk, at jeg var nødt til at gøre dette mere end én gang, først troede jeg, at jeg havde muret enheden, jeg havde ingen lys, ingen relæklik, ingen tegn på liv. Men jeg slukkede for det og kørte den sidste kommando igen, og det fungerede. Jeg var nødt til at gøre dette med 3 ud af de 4 enheder, jeg blinkede, kun en gik lige igennem, jeg tror på grund af trin 5.
Fuld instruktion her:
github.com/ct-Open-Source/tuya-convert
Trin 3: Tilslutning til firmwaren for første gang
Når du først har blinket tasmota til enheden, viser den ikke mange tegn på liv. Grunden til dette er, at det skal konfigureres. Det er ret let at gøre dette, jeg fandt det bedst at gøre det med min telefon. Trin er:
1) Søg efter WiFi -adgangspunkter
2) Opret forbindelse til den ene mærket tasmota_xxxx (hvor x er tal)
3) Telefonen skal lede dig til standardsiden, hvis ikke gå til 192.168.4.1
Bemærk på nogle telefoner det kan give dig en besked, der siger "ingen internetadgang, vil du forblive forbundet", vælg ja.
4) På siden åbnes navnet på dit WiFi -netværk og adgangskoden i de første 2 bokse. Klik på indstillingen for at vise adgangskode og tredobbelt kontrollere, at du har indtastet den rigtige adgangskode. Hvis du har indtastet den forkerte adgangskode, tror jeg, at det kan være svært at komme tilbage til denne konfigurationsskærm. Bemærk, at du også kan scanne efter WiFi -netværk, selvom du naturligvis stadig skal indtaste adgangskoden.
5) Stikket skulle nu have forbindelse til dit WiFi -netværk. Du skal gå til konfigurationssiden for din router og finde din enheds IP.
6) Åbn en webbrowser på din pc og gå til https:// [device_ip] Du skal se konfigurationsskærmen fra Tasmota.
Tillykke, du har med succes blinket stikket.
Trin 4: Konfiguration af stikket
Virksomheden, der fremstiller disse enheder, laver tilsyneladende 10.000 enheder med mange forskellige konfigurationer. Vi har lige blinket en ny firmware, og firmwaren ved ikke, hvilke enheder den er blevet flashet til. Så før noget virker, skal vi konfigurere det. For at gøre det skal vi finde detaljerne om vores enhed på internettet og indlæse den pågældende konfiguration.
Til dette formål skal du finde din enhed på denne side:
templates.blakadder.com/plug.html
For den enhed, jeg brugte, er konfigurationen her:
templates.blakadder.com/kogan-KASPEMHUSBA….
For at indstille konfigurationen kopierer vi bare teksten under Skabelon. I dette tilfælde er det:
Derefter
1) Gå til din enheds konfigurationsside https:// [IP for smart plug]
2) Klik på konfigurer, konfigurer andet
3) Indsæt skabelonstrengen i dig
4) Marker "Aktiver MQTT"
5) Klik på aktiver og Gem.
For at teste dette har fungeret, skal du klikke på "Hovedmenu" for at gå tilbage til startsiden, og du skal nu se strømforbrugstal. De vil alle være nul, selv spændingen, men dette er et godt tegn. Klik på vippeknappen, og du skal høre relæet klikke og se spændingen stige.
Trin 5: Kalibrer spænding
Jeg fandt spændingsaflæsningen vist ganske høj. Hvis du har en anden kilde til spændingsaflæsning i huset (f.eks. Smart meter måske ??), så kan du kalibrere stikket meget let. At gøre dette
1) Få den korrekte spændingsaflæsning
2) Tænd relæet i smartstikket
3) Klik på Konsol på enhedens startside
4) Indtast kommandoen "VoltageSet 228" og tryk enter (udskift 228 med din spænding)
Spændingen skal nu vise korrekt.
Trin 6: Installation af software på PI
Der er et par pakker, der skal installeres på PI. Disse er lette at installere og kan gøres ved at følge instruktionerne fra de forskellige pakker. Jeg giver instruktionerne her, men bemærk, at de kan ændre sig over tid, så mine instruktioner vil dateres. Pakkerne er:
Grafana (til visning af grafer)
Influxdb (tidsseriedatabase, der gemmer vores data)
Telegraf (bruges til at skubbe data ind i Influxdb)
Mosquitto (meddelelsesbus bruges til at videregive data rundt, det smarte stik skubber dataene her)
Dataflowkæden er sådan her:
Smart Plug -> Mosquitto -> Telegraf -> InfluxDB -> Grafana
Hvis du spørger, hvorfor vi ikke kan springe Mosquitto og Telegraf over, er det et godt spørgsmål. I teorien kunne Smart Plug skubbe til Tilstrømning. Problemet med det er, at det derefter skulle kunne konfigureres til 100'er af forskellige slutpunkter, og det ville låse os ude af nogle valg. De fleste ting inden for hjemmeautomatisering bruger Mosquitto til at videregive meddelelser. Som et eksempel kan vi tænde og slukke stikket ved at sende beskeder til Mosquitto, og det smarte stik vil modtage dem og svare.
Trin 7: Installation af Grafana
Fra:
grafana.com/grafana/download?platform=arm
Eller mange andre muligheder her:
grafana.com/grafana/download
Til Pi 1 og Pi Zero (ARMv6)
sudo apt-get install -y adduser libfontconfig1#find den nyeste version 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'er (ARMv7)
sudo apt -get install -y adduser libfontconfig1#find den nyeste version 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
At teste:
Gå til https:// [IP for PI]: 3000
brugernavn/adgangskode er admin/admin, det vil bede dig om at ændre det, du kan springe over for nu
Hvis du får en GUI, er alt godt, gå videre til næste trin
Trin 8: Installation af InfluxDB
Kør disse kommandoer 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 at skrive "tilstrømning". Dette skulle sætte dig ind i influxdb -kommandolinjen. Skriv "vis databaser", der vil ikke være nogen databaser endnu, men hvis du får en tom liste uden fejl, er alt godt.
Trin 9: Installation af Telegraf
Denne er virkelig let, fordi vi tilføjede de influxdb repos, vi bare kan skrive:
sudo apt-get install telegrafsudo systemctl aktiver telegrafsudo systemctl start telegraf
På dette tidspunkt logger Telegraf allerede systemmetrik til influxdb. Du kan se dem ved at skrive disse kommandoer:
tilstrømningshow databaser brug telegrafshow serierVÆLG * FRA cpu LIMIT 10;
Trin 10: Installer Mosquitto
Denne del er let, da vi bare installerer standardversionen, der er pakket med raspian:
sudo apt -get -y installer mosquittosudo apt -get -y installer mosquitto -clientssudo systemctl aktiver mosquittosudo systemctl start mosquitto# opret et kodeord for mosquittosudo mosquitto_passwd -c/etc/mosquitto/tasmota tasmota# indtast et kodeord. Skriv denne adgangskode ned, da vi skal give denne til smart plug
At teste:
kør dette i en SSH -session:
myg_sub -t test
Kør dette i en anden
myg_pub -t test -m minmeddelelse
Du skulle se din besked i den første SSH -session
Trin 11: Afsendelse af data fra Smart Plug til Mosquitto
Nu har vi myg kørende, vi skal konfigurere det smarte stik til at sende data til myg. Dette er ret let at gøre. Vi skal bruge den adgangskode, der er indtastet for myg fra det foregående trin.
1) Log ind på din smart plugs webside
2) Klik på Konfiguration og derefter på Konfigurer logføring
3) Indstil telemetriperioden til 10, og klik på Gem.
4) Klik på Konfigurer MQTT
5) Indtast IP -adressen på dit PI for værten
6) Indtast tasmota for brugernavn
7) Indtast adgangskoden fra det forrige trin for adgangskode
8) Angiv tasmota1 for emne
9) Klik på Gem
At teste:
Indtast nedenstående kommando i PI. Inden for 10 sekunder skulle du se data komme igennem.
mosquitto_sub -t tele/tasmota1/SENSOR
Data skal se sådan ud:
Trin 12: Brug Telegraf til at skubbe data fra myg til tilstrømning
Vi skal nu konfigurere Telegraf til at læse dataene fra myg og skubbe til influxdb. På PI:
1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak
2) sudo vi /etc/telegraf/telegraf.conf
Bemærk vi er ikke supervenlig for nye brugere, hvis du foretrækker et menubaseret tekstredigeringsprogram, skal du bruge nano i stedet:
sudo nano /etc/telegraf/telegraf.conf
3) Indsæt konfigurationen fra den vedhæftede fil
4) sudo systemctl genstart telegraf
For at teste, skriv dette på PI:
tilgang
vise databaser
du bør se testdatabasen. Hvis du ikke kan lide navnetesten, kan du ændre dest_db i filen telegraf.conf.
Trin 13: Endelig opret grafer i Grafana
Endelig får vi se nogle data:-):-)
Først skal vi oprette en forbindelse til databasen. Gå til grafana -websiden http: [ip of PI]: 3000
1) Log ind med admin/admin
2) Klik på tandhjulsikonet og datakilder i venstre kolonne
3) Klik på tilføj datakilde
4) Klik på influxdb
5) For URL indtast https:// localhost: 8086
6) For database indtast test
7) Indtast GET for
8) Indtast 10s for min tidsinterval
9) Klik på Gem og test, der skal stå "Datakilde virker"
OK, nu har vi en forbindelse til databasen, vi kan oprette en graf … endelig.
1) I venstre kolonne klikker du på + og derefter på Dashboard og Tilføj nyt panel
2) For database klik på InfluxDB
3) Klik på måling, og vælg Kogan
4) Vælg Energy_Power for feltet.
5) For alias, giv din serie et navn (f.eks. Opvaskemaskine)
6) Giv den et navn på paneletitel til højre, f.eks. Power.
7) Det er det, du skal se data. Klik på venstre pileknap for at gå ud af redigeringen, og klik derefter på Gem, giv dit betjeningspanel et navn.
Hvis du nåede så langt, stort arbejde, seriøst.
Trin 14: Et par flere tips
Den standard Telegraf -konfiguration, jeg leverede, var lidt vedligeholdelsesintensiv, idet der skal tilføjes en ny sektion for hver enhed, og der skal foretages en genstart af Telegraf. Med ændringerne nedenfor gør det tingene meget mere dynamiske, idet enheder kan tilføjes eller omdøbes i Tasmota -konfigurationen uden at skulle ændre Telegraf.
Den første ændring er at sætte + i emnet navn, dette er dybest set et jokertegn. Dette i sig selv ville være nok, undtagen når du laver grafer i Grafana, kommer enhederne op som navngivet som ting som "tele/WashingMachine/SENSOR". Den anden del af Telegraf -konfigurationen herunder er regex -processoren. Det trækker teksten "WashingMachine" ud af midten og gør det til et nyt mærke, der bliver skubbet til InfluxDB.
Bemærk: Sørg for at konfigurere et andet emnetavn i Tasmota -konfigurationen for hver enhed
[inputs.mqtt_consumer.tags] dest_db = "test"
Når dette er gjort, er det meget let at konfigurere Grafana til at vise flere enheder på den ene graf. Billedet vedhæftet dette trin viser, hvad der skal gøres. Bare klik på + -tegnet på gruppen efter linje og vælg tag (enhed). I bunden af Alias ved indtast $ tag_device. Du skulle nu se flere serier på den ene graf. Du kan klikke på teksten for hvert element for at tænde og slukke dem (ctrl klik virker for at vælge multipler)
Anbefalede:
Hindbær Pi nedlukning indikator: 6 trin
Raspberry Pi Shutdown Indicator: Det er et meget simpelt kredsløb til at vise driftsstatus for hindbær pi (i det følgende RPI). Måske er det nyttigt, når du kører RPI som hovedløs (uden skærm). Nogle gange er jeg bekymret, hvornår det er det rigtige tidspunkt for fuldstændig slukning efter nedlukning af RPI
Hindbær Pi, Python og en TB6600 Stepper Motor Driver: 9 trin
Raspberry Pi, Python og en TB6600 Stepper Motor Driver: Denne instruktion følger de trin, jeg tog for at forbinde en Raspberry Pi 3b til en TB6600 Stepper Motor Controller, en 24 VDC strømforsyning og en 6 -tråds trinmotor. Jeg er nok som mange af jer og har tilfældigvis en " gribetaske " af rest par
Læsning og tegning af lys- og temperatursensordata med hindbær Pi: 5 trin
Læsning og tegning af lys- og temperatursensordata med Raspberry Pi: I denne instruks kan du lære at læse en lys- og temperatursensor med hindbær pi og ADS1115 analog til digital konverter og tegne den ved hjælp af matplotlib. Lad os starte med de nødvendige materialer
Harry Potter IR -fjernbetjening med hindbær Pi: 5 trin
Harry Potter IR -fjernbetjening med Raspberry Pi: Denne instruktør beskriver, hvordan man laver et simpelt Python -script, der styres af Harry Potter universel fjernbetjeningsstav lavet af The Noble Collection. Det kræver en Raspberry Pi som controller og en Flirc USB IR -modtager i kombination
Måling af jordfugtighed med hindbær Pi 4: 4 trin
Måling af jordfugtighed med hindbær Pi 4: Ved du, hvor ofte du skal vande planter? Eller udgød planter og mistede dem. For at løse dette tænkte jeg, at det ville være mere omstændigt, hvis vi kan få værdien af vandindhold inde i jorden for at træffe en beslutning om vanding af planterne passende