Indholdsfortegnelse:

Husholdningsapparat Hindbær PI -baseret strømmonitor: 14 trin
Husholdningsapparat Hindbær PI -baseret strømmonitor: 14 trin

Video: Husholdningsapparat Hindbær PI -baseret strømmonitor: 14 trin

Video: Husholdningsapparat Hindbær PI -baseret strømmonitor: 14 trin
Video: How to Cook a Pizza in Solo Stove’s BRAND NEW Pi Pizza Oven 2024, Juli
Anonim
Home Appliance Hindbær PI -baseret strømmonitor
Home Appliance Hindbær PI -baseret strømmonitor
Home Appliance Hindbær PI -baseret strømmonitor
Home Appliance Hindbær PI -baseret strømmonitor

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

Køb nogle smarte stik
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

Tilslutning til firmwaren for første gang
Tilslutning til firmwaren for første gang
Tilslutning til firmwaren for første gang
Tilslutning til firmwaren for første gang
Tilslutning til firmwaren for første gang
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

Konfiguration af stikket
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

Kalibrer spænding
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

Installation af Grafana
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

Afsendelse af data fra Smart Plug til Mosquitto
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 opret grafer i Grafana
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

Lidt flere tips
Lidt flere tips
Lidt flere tips
Lidt 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: