Sisukord:

Kodumasina vaarika PI -põhine võimsusmonitor: 14 sammu
Kodumasina vaarika PI -põhine võimsusmonitor: 14 sammu

Video: Kodumasina vaarika PI -põhine võimsusmonitor: 14 sammu

Video: Kodumasina vaarika PI -põhine võimsusmonitor: 14 sammu
Video: Самый дешевый 7-дневный круиз класса люкс на борту Diamond Princess 2024, Detsember
Anonim
Kodumasina Raspberry PI -põhine võimsusmonitor
Kodumasina Raspberry PI -põhine võimsusmonitor
Kodumasina Raspberry PI -põhine võimsusmonitor
Kodumasina Raspberry PI -põhine võimsusmonitor

See oli väike projekt, mida tegin, et jälgida maja ümber asuvate üksikute seadmete energiatarbimist ja kuvada graafikuid nende energiatarbimise kohta aja jooksul. See on tegelikult üks lihtsamaid Raspberry PI -põhiseid projekte, mida ma teinud olen, ei vaja jootmist ega avatud toodete häkkimist. See ei pea olema Raspberry PI projekt, seda saab hõlpsasti teha Linuxi kasti või võib -olla Windowsiga.

Toitlusmonitori/nutipistikute komplekti hind on 50 dollarit ja Vaarika PI hind. See võib töötada Pi Zero või originaalse PI -ga, kuigi leidsin, et see oli natuke aeglane. Ainus teine PI, mis mul on, on PI 3 ja mulle tundus see väga nõtke, nii et ma soovitaksin seda. Pange tähele, et kui soovite seda käivitada vanema PI -ga, saate andmete kogumise sagedust vähendada (ma kasutasin 10 sekundit).

Sellel projektil on ka lisakasu või nutipistiku vabastamine tootjate püsivarast, nii et te ei pea kasutama nende konkreetseid rakendusi ja pilveteenuseid. Nii et neid saab kasutada koos koduabiga või lihtsalt oma pythoni skriptidega.

Pange tähele, ma eeldan, et teate, kuidas OS -i PI -le installida, sellega ühenduse luua ja käivitada mõned põhilised Linuxi käsud. Samuti eeldan, et teate, kuidas leida oma nutipistiku IP -aadress, kui see on ühendatud teie WiFi -ga.

Tarvikud

2 pakki või 4 pakki nutikaid pistikuid siit:

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

1 Vaarika PI

Oskused:

Võimalus seadistada vaarika PI

Põhiline Linuxi käsurida

Tekstiredaktor nagu vi või nano (nano on kasutajasõbralikum, vi on kiirem, kui sellega tuttavaks saate)

Võimalus leida võrgus olevate seadmete IP.

Samm: ostke mõned nutikad pistikud

Osta mõned nutikad pistikud
Osta mõned nutikad pistikud

Nutikas pistik, mida ma kasutasin, oli siit:

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

Pange tähele, et ühilduvaid nutipistikuid on terve rida, enamik (kõik?) On ESP8266 (WEMOS) -põhised seadmed ja neid on väga lihtne välgutada. Hankige kindlasti midagi, millel on võimsuse jälgimine, nagu paljudel pole. Sellel lehel kuvatakse suur ühilduvate seadmete loend:

templates.blakadder.com/plug.html

Samm: seadme vilkumine

See osa oli üllatavalt lihtne. Põhimõtteliselt laadite tarkvara lihtsalt alla, käivitate selle ja see juhendab teid.

Selleks vajate WiFi -ga Raspberry PI või Linuxi kasti. Peate olema selle seadmega esmane ühendus, EI OLE WiFi. Minu PI3 jaoks oli see lihtne, kuna olin ühendatud Etherneti kaudu. Kui teil on PI Zero, peate ühendama vanamoodsa viisi klaviatuuri ja monitoriga.

Ma eeldan, et teate, kuidas PI seadistada ja sellega SSH või klaviatuuri abil ühenduse luua, nii et ma ei hakka seda läbi tegema. Kui te pole kindel, on veebis palju õpetusi.

Enne alustamist vaid pisut tausta seadmetest. Hiinas on ettevõte Tuya, mis pumpab erinevate klientide jaoks välja nutikad pistikud. Need kohandavad erinevaid kliente ja pakuvad vaikimisi püsivara ning võimaldavad ettevõtetel ise muudatusi teha. Probleem on selles, et kui teil on hunnik tooteid erinevatelt müüjatelt, peate lõpuks käivitama hulga rakendusi, millest mõned töötavad paremini kui teised. Avatud lähtekoodiga püsivara vilkumisega vabastate end sellest kõigest. Nii et see sobib hästi üldiseks koduautomaatikaks.

Niisiis…. ilma pikema jututa siin on juhised:

1) Käivitage need käsud PI -l, see installib vajaliku tarkvara.

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

2) Ühendage nutikas pistik vooluvõrku

3) Lülitage see nupuga sisse

4) Hoidke toitenuppu all, kuni sinine tuli hakkab vilkuma

5) Oodake 10 sekundit. See pole hädavajalik, kuid leidsin, et see toimiks paremini, kui te seda teeksite.

6) Käivitage see käsk

./start_flash.sh

Siit järgite lihtsalt juhiseid, välja arvatud lõpus valige "2. Tasmota". Teise püsivara jaoks on võimalus, kuid ma pole seda proovinud, nii et ma pole kindel, milline see on.

Pange tähele, et pidin seda tegema rohkem kui üks kord, algul arvasin, et olen seadme telliskivist kinni pannud, mul ei ole tulesid, relee klõpsu ega elumärke. Aga ma lülitasin selle välja ja käivitasin viimase käsu uuesti ja see töötas. Pidin seda tegema 3 -st neljast välgutatud seadmest, ainult üks läks otse läbi, ma arvan, et 5. sammu tõttu.

Täielikud juhised siin:

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

Samm: esmakordne püsivaraga ühenduse loomine

Püsivaraga esmakordne ühendamine
Püsivaraga esmakordne ühendamine
Püsivaraga esmakordne ühendamine
Püsivaraga esmakordne ühendamine
Püsivaraga esmakordne ühendamine
Püsivaraga esmakordne ühendamine

Kui olete tasmota seadmele vilkunud, ei näita see palju elumärke. Selle põhjuseks on see, et see tuleb konfigureerida. Seda on üsna lihtne teha, leidsin, et kõige parem on seda teha oma telefoniga. Sammud on järgmised:

1) Otsige WiFi pääsupunkte

2) Looge ühendus sildiga tasmota_xxxx (kus x on numbrid)

3) Telefon peaks suunama teid vaikelehele, kui mitte, minge aadressile 192.168.4.1

Pange tähele, et mõnes telefonis võidakse teile saata sõnum „Internetiühendus puudub, kas soovite ühendust hoida”, valige jah.

4) Sisestatud lehel sisestage oma WiFi -võrgu nimi ja parool 2 esimesse kasti. Klõpsake suvandit parooli kuvamiseks ja kolmekordset kontrolli, kas olete sisestanud õige parooli. Kui sisestasite vale parooli, usun, et sellele konfiguratsiooniekraanile naasmine võib olla keeruline. Pange tähele, et saate ka WiFi -võrke otsida, kuigi ilmselgelt peate parooli sisestama.

5) Pistik peaks nüüd olema ühendatud teie WiFi -võrguga. Peate minema ruuteri konfiguratsioonilehele ja leidma oma seadme IP -aadressi.

6) Avage oma arvutis veebibrauser ja minge aadressile https:// [device_ip] Te peaksite nägema Tasmota konfiguratsiooniekraani.

Palju õnne, olete pistiku edukalt välgutanud.

4. samm: pistiku seadistamine

Pistiku seadistamine
Pistiku seadistamine

Neid seadmeid valmistav ettevõte teeb ilmselt 10 000 seadet, millel on palju erinevaid konfiguratsioone. Oleme äsja käivitanud uue püsivara ja püsivara ei tea, millistele seadmetele see on välgutatud. Nii et enne kui midagi töötab, peame selle konfigureerima. Selleks peame leidma veebist oma seadme üksikasjad ja laadima selle konkreetse konfiguratsiooni.

Selleks otsige oma seadet sellelt lehelt:

templates.blakadder.com/plug.html

Minu kasutatava seadme konfiguratsioon on siin:

templates.blakadder.com/kogan-KASPEMHUSBA….

Konfiguratsiooni määramiseks kopeerime lihtsalt malli all oleva teksti. Sel juhul on see:

Siis

1) Minge oma seadme konfiguratsioonilehele https:// [nutipistiku IP]

2) Klõpsake nuppu Konfigureeri, seadista muud

3) Kleepige endale malli string

4) Märkige ruut "Luba MQTT"

5) Klõpsake nuppu Aktiveeri ja Salvesta.

Selle toimimise kontrollimiseks klõpsake avalehele naasmiseks nuppu "Peamenüü" ja nüüd peaksite nägema energiatarbimise näitajaid. Nad kõik on null, isegi pinge, kuid see on hea märk. Klõpsake lülitusnuppu ja peaksite kuulma relee klõpsatust ning nägema pinge tõusu.

Samm: kalibreerige pinge

Pinge kalibreerimine
Pinge kalibreerimine

Leidsin, et pinge näit oli üsna kõrge. Kui teil on majas mõni muu pingeallika allikas (nt äkki tark arvesti ??), saate pistikut väga lihtsalt kalibreerida. Selle tegemiseks

1) Hankige õige pinge näit

2) Lülitage relee nutipistikus sisse

3) Klõpsake seadme avalehel nuppu Konsool

4) Sisestage käsk "VoltageSet 228" ja vajutage sisestusklahvi (asendage 228 oma pingega)

Pinge peaks nüüd õigesti näitama.

6. samm: tarkvara installimine PI -le

PI -le tuleb installida mõned paketid. Neid on lihtne paigaldada ja neid saab teha, järgides erinevate pakettide juhiseid. Annan juhised siin, kuid pange tähele, et need võivad aja jooksul muutuda, nii et minu juhised kuupäevaks muutuvad. Paketid on:

Grafana (graafikute kuvamiseks)

Influxdb (aegridade andmebaas, mis salvestab meie andmed)

Telegraf (kasutatakse andmete sisestamiseks Influxdb -sse)

Mosquitto (sõnumibuss, mida kasutatakse andmete edastamiseks, nutikas pistik lükkab andmed siia)

Andmevoo ahel on järgmine:

Nutikas pistik -> Mosquitto -> Telegraf -> InfluxDB -> Grafana

Kui te küsite, miks me ei saa Mosquitto ja Telegrafi vahele jätta, on see hea küsimus. Teoreetiliselt võib nutikas pistik Influxi tekitada. Probleem on selles, et see peaks olema konfigureeritav 100 erineva lõpp -punkti jaoks ja see lukustaks meid mõnest valikust. Enamik koduautomaatika asju kasutab sõnumite edastamiseks Mosquitto. Näitena võime pistiku sisse ja välja lülitada, saates sõnumid Mosquittole ja nutikas pistik võtab need vastu ning vastab.

Samm: Grafana installimine

Grafana installimine
Grafana installimine

Saatja:

grafana.com/grafana/download?platform=arm

Või palju muid võimalusi siin:

grafana.com/grafana/download

Pi 1 ja Pi Zero jaoks (ARMv6)

sudo apt-get install -y adduser libfontconfig1#otsige uusimat versiooni lehe ülaosast https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg -i grafana-rpi_7.0.1_armhf. debsudo /bin /systemctl deemon-reloadsudo /bin /systemctl lubage grafana-serveridudo /bin /systemctl käivitage grafana-server

Uuemate PI -de jaoks (ARMv7)

sudo apt -get install -y adduser libfontconfig1#otsige lehe ülaosas uusim versioon https://dl.grafana.com/oss/release/grafana_7.0.1_…sudo dpkg -i grafana_7.0.1_armhf.debsudo/ bin/systemctl deemon-reloadsudo/bin/systemctl lubage grafana-serveridudo/bin/systemctl käivitage grafana-server

Testimiseks:

Minge aadressile https:// [PI IP]: 3000

kasutajanimi/parool on admin/admin, see palub teil seda muuta, saate praegu vahele jätta

Kui saate graafilise kasutajaliidese, on kõik korras, liikuge järgmise sammu juurde

8. samm: InfluxDB installimine

Käivitage need käsud PI -l:

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 tall" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie tall" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch tall" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster tall" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt-get updatesudo apt-get install influenxdbsudo systemctl lubab sissevoolu

Testige, sisestades "sissevool". See peaks teid sisestama käsureale influenxdb. Tippige "näita andmebaase", seal pole veel andmebaase, kuid kui saate tühja loendi ilma vigadeta, on kõik korras.

Samm: Telegrafi installimine

See on tõesti lihtne, sest lisasime juurdevoolu, mida saame lihtsalt sisestada:

sudo apt-get install telegrafsudo systemctl lubab telegrafsudo systemctl käivitada telegraf

Siinkohal logib Telegraf juba süsteemimõõdikuid sissevoolu juurde. Neid näete, sisestades need käsud:

sissevoolu näitamise andmebaasid Kasutage telegrafshow seeriat Valitud * FROM cpu LIMIT 10;

Samm: installige Mosquitto

See osa on lihtne, kuna me lihtsalt installime vaikeversiooni, mis on pakitud raspianiga:

sudo apt -get -y install mosquittosudo apt -get -y install mosquitto -customerssudo systemctl lubage mosquittosudo systemctl käivitage mosquitto# looge mosquittosudo jaoks parool mosquitto_passwd -c/etc/mosquitto/tasmota tasmota# sisestage parool. Kirjutage see parool alla, kuna peame selle andma nutikale pistikule

Testimiseks:

käivitage see ühe SSH -seansi jooksul:

mosquitto_sub -testi

Käivitage see teises

mosquitto_pub -testi -m mymessage

Te peaksite oma sõnumit nägema esimesel SSH -seansil

11. samm: andmete saatmine nutipistikust Mosquitto

Andmete saatmine nutipistikust Mosquitto
Andmete saatmine nutipistikust Mosquitto

Nüüd, kui sääsk töötab, peame konfigureerima nutika pistiku, et need sääskudele saata. Seda on üsna lihtne teha. Vajame eelmises etapis sääskede jaoks sisestatud parooli.

1) Logige sisse oma nutipistikute veebisaidile

2) Klõpsake Configuration, seejärel Configure Logging

3) Määrake telemeetria perioodiks 10 ja klõpsake nuppu Salvesta.

4) Klõpsake Configure MQTT

5) Hosti jaoks sisestage oma PI IP -aadress

6) Kasutajanime jaoks sisestage tasmota

7) Parooli sisestamiseks sisestage eelmise sammu parool

8) Teema jaoks sisestage tasmota1

9) Klõpsake nuppu Salvesta

Testimiseks:

Tippige PI -s järgmine käsk. 10 sekundi jooksul peaksite nägema andmeid.

mosquitto_sub -t tele/tasmota1/SENSOR

Andmed peaksid välja nägema sellised:

12. samm: kasutage Telegrafi, et edastada andmed Mosquitto'st sissevoolu

Seadistame nüüd Telegrafi, et see loeks sääskede andmeid ja liiguks sissevoolu juurde. PI kohta:

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

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

Märkus vi ei ole uutele kasutajatele eriti sõbralik, kui eelistate menüüpõhist tekstiredaktorit, kasutage selle asemel nano:

sudo nano /etc/telegraf/telegraf.conf

3) Kleebi lisatud failist konfiguratsioon

4) sudo systemctl taaskäivitage telegraf

Selle tüübi testimiseks PI -l tehke järgmist.

sissevool

näita andmebaase

peaksite nägema testide andmebaasi. Kui teile nime test ei meeldi, saate failis telegraf.conf muuta aadressi dest_db.

Samm 13: Lõpuks looge Grafanas graafikud

Lõpuks looge Grafanas graafikuid
Lõpuks looge Grafanas graafikuid

Lõpuks näeme mõningaid andmeid:-):-)

Esiteks peame looma ühenduse andmebaasiga. Minge grafana veebisaidile http: [ip of PI]: 3000

1) Logige sisse administraatori/administraatoriga

2) Klõpsake vasakpoolses veerus hammasrattaikooni ja andmeallikaid

3) Klõpsake nuppu Lisa andmeallikas

4) Klõpsake sissevoolu

5) URL -i jaoks sisestage https:// localhost: 8086

6) Andmebaasi jaoks sisestage test

7) HTTP jaoks sisestage GET

8) Minimaalse ajavahemiku jaoks sisestage 10 s

9) Klõpsake nuppu Salvesta ja testi, see peaks ütlema "Andmeallikas töötab"

OK, nüüd on meil ühendus andmebaasiga, mille abil saame luua graafiku … lõpuks.

1) Klõpsake vasakpoolses veerus nuppu + ja seejärel Dashboard ja Add New Panel

2) Andmebaasi jaoks klõpsake InfluxDB

3) Klõpsake mõõtmist ja valige Kogan

4) Valige väljale Energy_Power.

5) Varjunime jaoks andke oma seeriale nimi (nt nõudepesumasin)

6) Paneeli pealkirja paremal küljel anna sellele nimi, nt toide.

7) See on kõik, peaksite andmeid nägema. Redigeerimisest väljumiseks klõpsake vasakpoolset noole nuppu ja seejärel nuppu Salvesta, andke armatuurlauale nimi.

Kui olete nii kaugele jõudnud, siis suurepärane töö, tõsiselt.

14. samm: veel mõned näpunäited

Veel mõned näpunäited
Veel mõned näpunäited
Veel mõned näpunäited
Veel mõned näpunäited

Minu esitatud vaikimisi Telegrafi konfiguratsioon oli natuke hooldusmahukas, kuna igale seadmele tuleb lisada uus jaotis ja Telegraf tuleb taaskäivitada. Allpool tehtud muudatustega muudab see asja palju dünaamilisemaks, kuna Tasmota konfiguratsioonis saab seadmeid lisada või ümber nimetada ilma Telegrafi muutmata.

Esimene muudatus on lisada teema nimetusse +, see on põhimõtteliselt metamärk. Sellest iseenesest piisaks, välja arvatud juhul, kui teete Grafanas graafikuid, tulevad seadmed välja selliste asjadega nagu "tele/WashMachine/SENSOR". Telegrafi konfiguratsiooni teine osa on regex -protsessor. See tõmbab teksti "WashMachine" keskelt välja ja muudab selle uueks märgendiks, mis lükatakse InfluxDB -sse.

Märkus: seadistage Tasmota konfiguratsioonis iga seadme jaoks kindlasti erinev teema nimi

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

Kui see on tehtud, on väga lihtne seadistada Grafana näitama ühel graafikul mitut seadet. Sellele sammule lisatud pilt näitab, mida tuleb teha. Lihtsalt klõpsake rida -rida + -märgil ja valige silt (seade). Sisestage alias all varjunimega Sisestage $ tag_device. Nüüd peaksite ühel graafikul nägema mitut seeriat. Sisse- ja väljalülitamiseks saate klõpsata iga üksuse teksti (ctrl -klahvi abil saab valida mitu)

Soovitan: