Sisällysluettelo:

Kodinkoneiden vadelma PI -pohjainen virtamittari: 14 vaihetta
Kodinkoneiden vadelma PI -pohjainen virtamittari: 14 vaihetta

Video: Kodinkoneiden vadelma PI -pohjainen virtamittari: 14 vaihetta

Video: Kodinkoneiden vadelma PI -pohjainen virtamittari: 14 vaihetta
Video: Kuinka tehdä järjestelmä edistyneelle nykyiselle mittaukselle kotona 2024, Heinäkuu
Anonim
Kodinkoneiden Vadelma PI -pohjainen virtamittari
Kodinkoneiden Vadelma PI -pohjainen virtamittari
Kodinkoneiden Vadelma PI -pohjainen virtamittari
Kodinkoneiden Vadelma PI -pohjainen virtamittari

Tämä oli pieni projekti, jonka tein seuratakseni yksittäisten laitteiden virrankulutusta ympäri taloa ja näyttääkseni kaavioita niiden virrankulutuksesta ajan mittaan. Se on itse asiassa yksi helpoimmista Raspberry PI -pohjaisista projekteista, joita olen tehnyt, ei juottamista tai hakkerointia. Sen ei tarvitse olla Raspberry PI -projekti, se voidaan helposti tehdä Linux -laatikossa tai ehkä Windowsissa.

Hinta on 50 dollaria AUD 4: n tehomittarin/älypistokkeiden sarjasta ja Vadelma PI: n hinta. Tämä voi toimia Pi Zerolla tai alkuperäisellä PI: llä, vaikka huomasin, että se oli vähän hidasta. Ainoa muu PI, joka minulla on, on PI 3, ja löysin sen erittäin reippaana, joten suosittelen sitä. Huomaa, jos haluat käyttää sitä vanhemmalla PI: llä, voit vähentää tiedonkeruutiheyttä (käytin 10 sekuntia).

Tässä projektissa on myös lisäetuja tai se, että älypistoke vapautuu valmistajien laiteohjelmistosta, joten sinun ei tarvitse käyttää heidän erityisiä sovelluksiaan ja pilvipalveluitaan. Joten niitä voidaan käyttää Home Assistin kanssa tai vain omien python -skriptien kanssa.

Huomaa, että oletan, että tiedät kuinka asentaa käyttöjärjestelmä PI: hen, muodostaa siihen yhteys ja suorittaa joitain Linux -peruskomentoja. Oletan myös, että tiedät kuinka löytää älypistokkeesi IP -osoite, kun se muodostaa yhteyden WiFi -verkkoon.

Tarvikkeet

2 kpl tai 4 kpl älypistokkeita täältä:

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

1 Vadelma PI

Taidot:

Mahdollisuus määrittää vadelma PI

Perus linux -komentorivi

Tekstieditori, kuten vi tai nano (nano on käyttäjäystävällisempi, vi on nopeampi, kun opit tuntemaan sen)

Mahdollisuus löytää verkossa olevien laitteiden IP -osoitteet.

Vaihe 1: Osta älykkäitä pistokkeita

Osta älykkäitä pistokkeita
Osta älykkäitä pistokkeita

Käyttämäni älypistoke oli täältä:

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

Huomaa, että on olemassa joukko älykkäitä pistokkeita, jotka ovat yhteensopivia, useimmat (kaikki?) Ovat ESP8266 (WEMOS) -pohjaisia laitteita ja niitä on erittäin helppo vilkuttaa. Varmista, että saat jotain, jossa on tehonvalvonta, kuten monet eivät. Tällä sivulla on laaja luettelo yhteensopivista laitteista:

templates.blakadder.com/plug.html

Vaihe 2: Laitteen vilkkuminen

Tämä osa oli yllättävän helppo. Käytännössä lataat ohjelmiston, suoritat sen ja se ohjaa sinut läpi.

Tätä varten tarvitset Raspberry PI- tai Linux -laatikon, jossa on WiFi. Sinun on oltava ensisijainen yhteys tähän laitteeseen, EI ole WiFi. PI3: lle tämä oli helppoa, koska olin yhteydessä Ethernetin kautta. Jos sinulla on PI Zero, sinun on yhdistettävä vanhanaikainen tapa näppäimistöllä ja näytöllä.

Oletan, että tiedät kuinka asentaa PI ja muodostaa siihen yhteys SSH: lla tai näppäimistöllä, joten en käy sitä läpi. Jos olet epävarma, verkossa on paljon opetusohjelmia.

Ennen kuin aloitamme, vain vähän taustaa laitteista. Kiinassa on Tuya -niminen yritys, joka pumppaa älykkäitä pistokkeita eri asiakkaille. Ne räätälöivät eri asiakkaita ja tarjoavat oletusohjelmiston ja mahdollistavat yritysten tehdä omia muutoksia. Ongelmana on, että jos sinulla on joukko tuotteita eri toimittajilta, joudut käyttämään joukon sovelluksia, joista osa toimii paremmin kuin toiset. Vilkuttamalla avoimen lähdekoodin laiteohjelmistoa vapautat itsesi kaikesta tästä. Tämä sopii siis yleiseen kodin automaatioon.

Joten…. ilman lisäselvityksiä, tässä ohjeet:

1) Suorita nämä komennot PI: llä, tämä asentaa vaaditun ohjelmiston.

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

2) Kytke älypistoke pistorasiaan

3) Käynnistä se painikkeella

4) Pidä virtapainiketta painettuna, kunnes sininen valo alkaa vilkkua

5) Odota 10 sekuntia. Tämä ei ole välttämätöntä, mutta huomasin, että se toimi paremmin, jos tekisit.

6) Suorita tämä komento

./start_flash.sh

Täältä voit vain seurata ohjeita, paitsi valitse lopussa "2. Tasmota". On olemassa vaihtoehto eri laiteohjelmistolle, mutta en ole kokeillut sitä, joten en ole varma, millainen se on.

Huomaa, että minun piti tehdä tämä useammin kuin kerran, aluksi luulin, että olin tiilistänyt laitteen, minulla ei ollut valoja, ei releen napsautusta, ei merkkejä elämästä. Mutta sammutin sen ja suoritin viimeisen komennon uudelleen ja se toimi. Minun piti tehdä tämä kolmella neljästä vilkkuneesta laitteesta, vain yksi meni suoraan läpi, luulen, että vaiheen 5 vuoksi.

Täydelliset ohjeet täältä:

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

Vaihe 3: Yhdistäminen laiteohjelmistoon ensimmäistä kertaa

Yhdistäminen laiteohjelmistoon ensimmäistä kertaa
Yhdistäminen laiteohjelmistoon ensimmäistä kertaa
Yhdistäminen laiteohjelmistoon ensimmäistä kertaa
Yhdistäminen laiteohjelmistoon ensimmäistä kertaa
Yhdistäminen laiteohjelmistoon ensimmäistä kertaa
Yhdistäminen laiteohjelmistoon ensimmäistä kertaa

Kun olet väläyttänyt tasmota laitteeseen, se ei näytä paljon elämän merkkejä. Syynä tähän on, että se on määritettävä. Tämä on melko helppoa, huomasin, että on parasta tehdä se puhelimella. Vaiheet ovat:

1) Etsi WiFi -tukiasemia

2) Yhdistä tasmota_xxxx (jossa x on numeroita)

3) Puhelimen pitäisi ohjata sinut oletussivulle, jos ei, siirry osoitteeseen 192.168.4.1

Huomaa, että joissakin puhelimissa se saattaa antaa sinulle viestin "ei Internet -yhteyttä, haluatko pysyä yhteydessä", valitse kyllä.

4) Syötä avautuvalla sivulla WiFi -verkon nimi ja salasana kahteen ensimmäiseen ruutuun. Napsauta vaihtoehtoa näyttääksesi salasanan ja kolminkertaisen tarkistuksen, että olet antanut oikean salasanan. Jos olet antanut väärän salasanan, uskon, että voi olla vaikeaa palata tähän määritysnäyttöön. Huomaa, että voit myös etsiä WiFi -verkkoja, vaikka sinun on ilmeisesti vielä annettava salasana.

5) Pistokkeen pitäisi nyt olla yhteydessä WiFi -verkkoon. Sinun on siirryttävä reitittimen asetussivulle ja löydettävä laitteesi IP -osoite.

6) Avaa tietokoneesi verkkoselain ja siirry osoitteeseen https:// [device_ip] Sinun pitäisi nähdä Tasmota -määritysnäyttö.

Onnittelut, olet onnistunut sytyttämään pistokkeen.

Vaihe 4: Pistokkeen määrittäminen

Pistokkeen määrittäminen
Pistokkeen määrittäminen

Näitä laitteita valmistava yritys valmistaa ilmeisesti 10 000 laitetta monilla eri kokoonpanoilla. Olemme juuri väläyttäneet uuden laiteohjelmiston, eikä laiteohjelmisto tiedä, mihin laitteisiin se on väläytetty. Joten ennen kuin mikään toimii, meidän on määritettävä se. Tätä varten meidän on löydettävä laitteemme tiedot verkosta ja ladattava kyseinen kokoonpano.

Löydät laitteesi tältä sivulta:

templates.blakadder.com/plug.html

Käyttämäni laitteen kokoonpano on tässä:

templates.blakadder.com/kogan-KASPEMHUSBA….

Asetusten määrittämiseksi kopioimme vain tekstin Malli -kohtaan. Tässä tapauksessa se on:

Sitten

1) Siirry laitteen määrityssivulle https:// [älypistokkeen IP]

2) Napsauta Määritä, määritä muut

3) Liitä malliin merkkijono

4) Valitse "Ota MQTT käyttöön"

5) Napsauta aktivoi ja tallenna.

Testaa, että tämä on toiminut, napsauta "Päävalikko" palataksesi kotisivulle ja sinun pitäisi nyt nähdä virrankulutusluvut. Ne ovat kaikki nollaa, jopa jännite, mutta tämä on hyvä merkki. Napsauta vaihtopainiketta ja kuulet releen napsautuksen ja näet jännitteen nousevan.

Vaihe 5: Kalibroi jännite

Kalibroi jännite
Kalibroi jännite

Huomasin, että jännitteen lukema oli melko korkea. Jos talossasi on jokin muu jännitelukulähde (esim. Älymittari, ehkä ??), voit kalibroida pistokkeen erittäin helposti. Tehdä tämä

1) Hanki oikea jännitteen lukema

2) Kytke rele päälle älypistokkeessa

3) Napsauta laitteen kotisivulla Konsoli

4) Kirjoita komento "VoltageSet 228" ja paina enter (korvaa 228 jännitteellä)

Jännitteen pitäisi nyt näkyä oikein.

Vaihe 6: Ohjelmiston asentaminen PI: hen

PI: hen on asennettava muutama paketti. Nämä on helppo asentaa ja ne voidaan tehdä noudattamalla eri pakkausten ohjeita. Annan ohjeet täällä, mutta huomaa, että ne voivat muuttua ajan myötä, joten ohjeeni tulevat ajan tasalle. Paketit ovat:

Grafana (kaavioiden näyttämiseen)

Influxdb (aikasarjatietokanta, joka tallentaa tietomme)

Telegraf (käytetään tietojen siirtämiseen Influxdb: hen)

Mosquitto (viestiväylä, jota käytetään tietojen siirtämiseen, älypistoke työntää tiedot tänne)

Tietovirran ketju on seuraava:

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

Jos kysyt, miksi emme voi ohittaa Mosquitto ja Telegraf, se on hyvä kysymys. Teoriassa Smart Plug voi saada virtauksen. Ongelmana on, että sen pitäisi sitten olla konfiguroitavissa 100: lle eri päätepisteelle ja se estäisi meidät joistakin valinnoista. Useimmat kodin automaation tavarat käyttävät Mosquitoa viestien välittämiseen. Voimme esimerkiksi kytkeä pistokkeen päälle ja pois lähettämällä viestejä Mosquitolle, ja älypistoke vastaanottaa ne ja vastaa niihin.

Vaihe 7: Grafanan asennus

Grafanan asentaminen
Grafanan asentaminen

Lähettäjä:

grafana.com/grafana/download?platform=arm

Tai paljon muita vaihtoehtoja täällä:

grafana.com/grafana/download

Pi 1 ja Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1#etsi uusin versio sivun ylälaidasta 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 ota käyttöön grafana-palvelimetudo /bin /systemctl käynnistä grafana-palvelin

Uusille PI -laitteille (ARMv7)

sudo apt -get install -y adduser libfontconfig1#etsi uusin versio sivun ylälaidasta 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 ota käyttöön grafana-palvelimetudo/bin/systemctl käynnistä grafana-palvelin

Testata:

Siirry osoitteeseen https:// [PI: n IP]: 3000

käyttäjätunnus/salasana on admin/admin, se pyytää sinua vaihtamaan sen, voit ohittaa nyt

Jos saat käyttöliittymän, kaikki on kunnossa, siirry seuraavaan vaiheeseen

Vaihe 8: InfluxDB: n asennus

Suorita nämä komennot PI: llä:

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 vinkuva vakaa" | 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-hanki päivitykset

Testaa kirjoittamalla "sisäänvirtaus". Tämän pitäisi asettaa sinut sisäänvirtaavaan komentoriville. Kirjoita "näytä tietokannat", tietokantoja ei vielä ole, mutta jos saat tyhjän luettelon ilman virheitä, kaikki on hyvin.

Vaihe 9: Telegrafin asennus

Tämä on todella helppoa, koska lisäsimme sisäänvirtaavat repot, jotka voimme vain kirjoittaa:

sudo apt-get install telegrafsudo systemctl ota käyttöön telegrafsudo systemctl käynnistä telegraf

Tässä vaiheessa Telegraf kirjaa jo järjestelmämittareita sisäänvirtaukseen. Näet ne kirjoittamalla nämä komennot:

sisäänvirtausshow -tietokannatkäytä telegrafshow -sarjaa VALITTU * FROM cpu LIMIT 10;

Vaihe 10: Asenna Mosquitto

Tämä osa on helppo, koska asennamme vain oletusversion, joka on pakattu raspianin kanssa:

sudo apt -get -y install mosquittosudo apt -get -y install mosquitto -customerssudo systemctl ota käyttöön mosquittosudo systemctl käynnistä mosquitto# luo salasana mosquittosudo mosquitto_passwd -c/etc/mosquitto/tasmota tasmota# anna salasana. Kirjoita tämä salasana muistiin, koska meidän on annettava tämä älypistokkeelle

Testata:

suorita tämä yhdessä SSH -istunnossa:

mosquitto_sub -testi

Suorita tämä toisessa

mosquitto_pub -testi -m -viestini

Sinun pitäisi nähdä viestisi ensimmäisessä SSH -istunnossa

Vaihe 11: Tietojen lähettäminen älypistokkeesta Mosquitoon

Tietojen lähettäminen Smart Plugista Mosquitolle
Tietojen lähettäminen Smart Plugista Mosquitolle

Nyt meillä on käynnissä hyttynen, ja meidän on määritettävä älypistoke lähettämään tietoja hyttysille. Tämä on melko helppo tehdä. Tarvitsemme hyttysten salasanan edellisestä vaiheesta.

1) Kirjaudu Smart Plugs -verkkosivullesi

2) Napsauta Määritykset ja sitten Määritä loki

3) Aseta telemetriajakso 10 ja napsauta Tallenna.

4) Napsauta Configure MQTT

5) Anna isännälle PI: si IP -osoite

6) Kirjoita käyttäjätunnukseksi tasmota

7) Anna salasanaksi edellisen vaiheen salasana

8) Kirjoita aiheeksi tasmota1

9) Napsauta Tallenna

Testata:

Kirjoita PI -komentoon alla oleva komento. Kymmenen sekunnin kuluessa sinun pitäisi nähdä tiedot saapuvat.

mosquitto_sub -t tele/tasmota1/SENSOR

Datan pitäisi näyttää tältä:

Vaihe 12: Käytä Telegrafia tietojen siirtämiseen Mosquitosta sisäänvirtaukseen

Määritämme nyt Telegrafin lukemaan hyttysten tiedot ja siirtymään sisäänvirtaukseen. PI: stä:

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

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

Huomautus vi ei ole erittäin ystävällinen uusille käyttäjille, jos haluat valikkopohjaisen tekstieditorin, käytä sen sijaan nano:

sudo nano /etc/telegraf/telegraf.conf

3) Liitä kokoonpano liitteenä olevasta tiedostosta

4) sudo systemctl käynnistä telegraf uudelleen

Testaa tämä kirjoittamalla PI: lle:

tulva

näyttää tietokantoja

sinun pitäisi nähdä testitietokanta. Jos et pidä nimitestistä, voit muuttaa dest_db -tiedostoa telegraf.conf.

Vaihe 13: Lopuksi luo kaavioita Grafanaan

Luo lopuksi kaaviot Grafanaan
Luo lopuksi kaaviot Grafanaan

Lopulta saamme nähdä tietoja:-):-)

Ensin meidän on luotava yhteys tietokantaan. Siirry grafanan verkkosivulle http: [ip of PI]: 3000

1) Kirjaudu sisään admin/admin

2) Napsauta vasemmassa sarakkeessa rataskuvaketta ja tietolähteitä

3) Napsauta Lisää tietolähde

4) Napsauta virtaa

5) Kirjoita URL -osoitteeksi https:// localhost: 8086

6) Anna tietokantaan testi

7) Kirjoita HTTP: lle GET

8) Anna minimi aikaväli 10s

9) Napsauta Tallenna ja testaa, sen pitäisi sanoa "Tietolähde toimii"

OK, nyt meillä on yhteys tietokantaan, jonka avulla voimme luoda kaavion … lopulta.

1) Napsauta vasemmassa sarakkeessa + ja sitten Kojelauta ja Lisää uusi paneeli

2) Valitse tietokanta InfluxDB

3) Napsauta mittausta ja valitse Kogan

4) Valitse kentälle Energy_Power.

5) Anna sarjalle nimi (esim. Astianpesukone)

6) Paneelin nimen oikealla puolella on nimi, esim. Virta.

7) Siinä kaikki, sinun pitäisi nähdä tiedot. Napsauta vasenta nuolipainiketta poistuaksesi muokkauksesta ja napsauta sitten Tallenna ja anna hallintapaneelille nimi.

Jos olet päässyt tähän asti, hienoa työtä, vakavasti.

Vaihe 14: Muutama vinkki

Muutama vinkki
Muutama vinkki
Muutama vinkki
Muutama vinkki

Antamani oletusarvoinen Telegraf -kokoonpano oli hieman huoltointensiivinen, koska jokaiselle laitteelle on lisättävä uusi osio ja Telegraf on käynnistettävä uudelleen. Alla olevilla muutoksilla se tekee asioista paljon dynaamisempia, koska laitteita voidaan lisätä tai nimetä uudelleen Tasmota -kokoonpanossa ilman tarvetta muuttaa Telegrafia.

Ensimmäinen muutos on lisätä + aiheen nimeen, tämä on pohjimmiltaan yleismerkki. Tämä yksinään riittäisi, paitsi jos teet kaavioita Grafanassa, laitteita kutsutaan nimellä "tele/WashMachine/SENSOR". Telegraf -kokoonpanon toinen osa on regex -prosessori. Se vetää tekstin "WashMachine" pois keskustasta ja muuttaa sen uudeksi tunnisteeksi, joka työnnetään InfluxDB: hen.

Huomautus: muista asettaa eri aiheen nimi Tasmota -määrityksessä kullekin laitteelle

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

Kun tämä on tehty, on erittäin helppo määrittää Grafana näyttämään useita laitteita yhdessä kaaviossa. Tämän vaiheen liitteenä oleva kuva osoittaa, mitä on tehtävä. Napsauta vain + -merkkiä ryhmässä riviltä ja valitse tunniste (laite). Alareunassa kohdassa Alias Kirjoita $ tag_device. Sinun pitäisi nyt nähdä useita sarjoja yhdessä kaaviossa. Voit ottaa ne käyttöön ja poistaa ne käytöstä napsauttamalla kunkin kohteen tekstiä (ctrl -napsautus valitsee useita)

Suositeltava: