INHOUDSOPGAWE:

Huistoestel Framboos PI -gebaseerde kragmonitor: 14 stappe
Huistoestel Framboos PI -gebaseerde kragmonitor: 14 stappe

Video: Huistoestel Framboos PI -gebaseerde kragmonitor: 14 stappe

Video: Huistoestel Framboos PI -gebaseerde kragmonitor: 14 stappe
Video: Rafik lemhadi(Broer van mobicep)komt mobicep tegen terwijl ze een flinke ruzie hebben 2024, Julie
Anonim
Huistoestel Framboos PI -gebaseerde kragmonitor
Huistoestel Framboos PI -gebaseerde kragmonitor
Huistoestel Framboos PI -gebaseerde kragmonitor
Huistoestel Framboos PI -gebaseerde kragmonitor

Dit was 'n klein projek wat ek gedoen het om die kragverbruik van individuele toestelle in die huis te monitor en grafieke van hul energieverbruik oor tyd te vertoon. Dit is eintlik een van die makliker Raspberry PI -gebaseerde projekte wat ek gedoen het, geen soldeer of oopmaak van produkte is nodig nie. Dit hoef nie 'n Raspberry PI -projek te wees nie; dit kan maklik op 'n Linux -boks of Windows gedoen word.

Die koste is $ 50 AUD vir 'n stel van 4 van die kragmonitor/slimproppe en die koste van 'n Framboos PI. Dit kan op 'n Pi Zero of die oorspronklike PI werk, alhoewel ek gevind het dat dit 'n bietjie stadig was. Die enigste ander PI wat ek het, is 'n PI 3, en ek vind dit baie snaaks, so dit is wat ek sou aanbeveel. Let op: as u dit op 'n ouer PI wil gebruik, kan u die frekwensie van data -insameling verminder (ek gebruik 10 sekondes).

Hierdie projek het ook die bykomende voordeel of om die slimprop van die vervaardigers se firmware los te maak, sodat u nie hul spesifieke programme en wolkdienste hoef te gebruik nie. Hulle kan dus saam met Home Assist of net met u eie python -skrifte gebruik word.

Let wel, ek neem aan dat u weet hoe u die bedryfstelsel op die PI moet installeer, daarmee kan koppel en 'n paar basiese Linux -opdragte moet uitvoer. Ek neem ook aan dat u weet hoe u die IP -adres van u slimprop kan vind sodra dit met u WiFi verbind is.

Voorrade

2 pakke of 4 pakke slimproppe van hier af:

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

1 Framboos PI

Vaardighede:

Die vermoë om 'n framboos -PI op te stel

Basiese Linux -opdragreël

Teksredakteur soos vi of nano (nano is meer gebruikersvriendelik, vi is vinniger sodra u dit leer ken)

Die vermoë om IP -toestelle op u netwerk te vind.

Stap 1: Koop 'n paar slimstekkers

Koop 'n paar slim proppe
Koop 'n paar slim proppe

Die slimprop wat ek gebruik het, was van hier af:

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

Let daarop dat daar 'n hele reeks slimproppe is wat verenigbaar is, die meeste (almal?) Is op ESP8266 (WEMOS) gebaseerde toestelle en dit is baie maklik om te flits. Maak seker dat u iets kry wat kragmonitering het, aangesien baie dit nie doen nie. Hierdie bladsy toon 'n groot lys versoenbare toestelle:

templates.blakadder.com/plug.html

Stap 2: Flits die toestel

Hierdie deel was verbasend maklik. U laai basies net die sagteware af, voer dit uit en dit lei u deur.

Hiervoor benodig u 'n Raspberry PI- of Linux -boks met WiFi. U moet u primêre verbinding met hierdie toestel hê, en dit is nie die WiFi nie. Vir my PI3 was dit maklik omdat ek via Ethernet gekoppel was. As u 'n PI Zero het, moet u die outydse manier verbind met 'n sleutelbord en 'n monitor.

Ek neem aan dat u weet hoe u 'n PI moet instel en daaraan kan koppel met SSH of 'n sleutelbord, sodat ek dit nie sal ondergaan nie. As u nie seker is nie, is daar baie tutoriale op die internet.

Voordat ons begin, net 'n bietjie agtergrond oor die toestelle. Daar is 'n maatskappy in China met die naam Tuya wat slimstekkers vir verskillende kliënte uitpomp. Hulle maak aanpassings vir verskillende kliënte en bied 'n standaard firmware en stel ondernemings in staat om hul eie aanpassings aan te bring. Die probleem hiermee is dat as u 'n klomp produkte van verskillende verskaffers het, u baie programme moet bestuur, waarvan sommige beter werk as ander. Deur 'n open source firmware te flits, bevry u uself van dit alles. Dit is dus goed vir algemene tuisautomatisering.

So…. Hier is die instruksies sonder meer:

1) Voer hierdie opdragte uit op die PI, dit sal die vereiste sagteware installeer.

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

2) Koppel die slimprop aan

3) Skakel dit aan met die knoppie

4) Hou die aan / uit -knoppie ingedruk totdat die blou lig begin flikker

5) Wag 10 sekondes. Dit is nie noodsaaklik nie, maar ek het gevind dat dit beter werk as u dit gedoen het.

6) Voer hierdie opdrag uit

./start_flash.sh

Hiervandaan volg u net die aanwysings, behalwe aan die einde "2. Tasmota". Daar is 'n opsie vir 'n ander firmware, maar ek het dit nog nie probeer nie, dus weet ek nie hoe dit is nie.

Let op dat ek dit meer as een keer moes doen; eers het ek gedink ek het die toestel met 'n baksteen, ek het geen ligte nie, geen relais -klik, geen tekens van lewe nie. Maar ek het dit afgeskakel en die laaste opdrag weer uitgevoer en dit het gewerk. Ek moes dit doen met 3 uit die 4 toestelle wat ek flits, net een het reguit deurgegaan, ek dink weens stap 5.

Volledige instruksies hier:

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

Stap 3: Maak vir die eerste keer verbinding met die firmware

Maak vir die eerste keer verbinding met die firmware
Maak vir die eerste keer verbinding met die firmware
Maak vir die eerste keer verbinding met die firmware
Maak vir die eerste keer verbinding met die firmware
Maak vir die eerste keer verbinding met die firmware
Maak vir die eerste keer verbinding met die firmware

As u eers die tasmota op die toestel aangebring het, sal dit nie veel tekens van lewe toon nie. Die rede hiervoor is dat dit gekonfigureer moet word. Dit is redelik maklik om dit te doen; ek vind dit die beste om dit met my selfoon te doen. Stappe is:

1) Soek WiFi -toegangspunte

2) Koppel aan die een met die naam tasmota_xxxx (waar x getalle is)

3) Die telefoon moet u na die standaardbladsy verwys, indien nie na 192.168.4.1 nie

Let op dat sommige telefone u 'n boodskap kan gee wat sê: "geen internettoegang nie, wil u verbind bly", kies ja.

4) Voer op die bladsy die naam van u WiFi -netwerk en die wagwoord in die eerste twee blokkies in. Klik op die opsie om die wagwoord te wys en kyk of u die regte wagwoord ingevoer het. As u die verkeerde wagwoord ingevoer het, glo ek dat dit moeilik kan wees om terug te keer na hierdie konfigurasieskerm. Let daarop dat u ook na WiFi -netwerke kan soek, hoewel u natuurlik nog steeds die wagwoord moet invoer.

5) Die prop moes nou aan u WiFi -netwerk gekoppel wees. U moet na die konfigurasiebladsy van u router gaan en die IP -adres van u toestel vind.

6) Maak 'n webblaaier op u rekenaar oop en gaan na https:// [device_ip] U moet die instellingsskerm van Tasmota sien.

Baie geluk, jy het die prop suksesvol geflits.

Stap 4: Stel die prop in

Die instel van die prop
Die instel van die prop

Die onderneming wat hierdie toestelle vervaardig, maak blykbaar 10 000 toestelle met baie verskillende konfigurasies. Ons het pas 'n nuwe firmware geflits en die firmware weet nie op watter toestelle dit geflits is nie. Dus, voordat iets sal werk, moet ons dit instel. Om dit te kan doen, moet ons die besonderhede van ons toestel op die internet vind en die spesifieke konfigurasie laai.

Hiervoor vind u u toestel op hierdie bladsy:

templates.blakadder.com/plug.html

Vir die toestel wat ek gebruik het, is die konfigurasie hier:

templates.blakadder.com/kogan-KASPEMHUSBA….

Om die konfigurasie in te stel, kopieer ons die teks onder sjabloon. In hierdie geval is dit:

Toe

1) Gaan na die konfigurasiebladsy van u toestel https:// [IP van slimprop]

2) Klik op configure, configure other

3) Plak die sjabloonreeks in u sjabloon in

4) Merk 'Aktiveer MQTT'

5) Klik op aktiveer en stoor.

Om te toets of dit gewerk het, klik op "Hoofkieslys" om terug te gaan na die tuisblad, en u moet nou die syfers vir kragverbruik sien. Hulle sal almal nul wees, selfs die spanning, maar dit is 'n goeie teken. Klik op die skakelknoppie, en u moet die relais klik en die spanning sien styg.

Stap 5: Kalibreer spanning

Kalibreer spanning
Kalibreer spanning

Ek het gevind dat die spanningslesing redelik hoog was. As u 'n ander bron van spanning in die huis het (bv. 'N slim meter?), Kan u die prop baie maklik kalibreer. Om dit te doen

1) Kry die korrekte spanningslesing

2) Skakel die aflos in die slimprop aan

3) Klik op die konsole op die tuisblad van die toestel

4) Voer die opdrag "VoltageSet 228" in en druk enter (vervang 228 met u spanning)

Spanning moet nou korrek wys.

Stap 6: Installeer sagteware op die PI

Daar is 'n paar pakkette wat op die PI geïnstalleer moet word. Dit is maklik om te installeer en kan gedoen word volgens die instruksies van die verskillende pakkette. Ek sal die instruksies hier gee, maar let op dat dit mettertyd kan verander, sodat my instruksies sal dateer. Die pakkette is:

Grafana (vir die vertoon van grafieke)

Influxdb (tydreeksdatabasis wat ons data stoor)

Telegraf (gebruik om data na Influxdb te stoot)

Mosquitto (boodskapbus wat gebruik is om data deur te gee, die slimprop druk die data hierheen)

Die ketting van datavloei is soos volg:

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

As u vra waarom ons Mosquitto en Telegraf nie kan oorslaan nie, is dit 'n goeie vraag. In teorie kan die Smart Plug tot instroom styg. Die probleem daarmee is dat dit dan vir honderde verskillende eindpunte konfigureerbaar moet wees, en dit sou ons uit sommige keuses sluit. Die meeste dinge in huishoudelike outomatisering gebruik Mosquitto om boodskappe oor te dra. As voorbeeld kan ons die prop aan en af skakel deur boodskappe na Mosquitto te stuur, en die slimprop sal dit ontvang en reageer.

Stap 7: Installeer Grafana

Installeer Grafana
Installeer Grafana

Van:

grafana.com/grafana/download?platform=arm

Of baie ander opsies hier:

grafana.com/grafana/download

Vir Pi 1 en Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1#vind die nuutste weergawe van die bladsy op die 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 aktiveer grafana-serversudo /bin /systemctl begin grafana-bediener

Vir nuwer PI's (ARMv7)

sudo apt -get install -y adduser libfontconfig1#vind die nuutste weergawe van die bladsy op die 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 aktiveer grafana-serversudo/bin/systemctl begin grafana-bediener

Om te toets:

Gaan na https:// [IP van PI]: 3000

gebruikersnaam/wagwoord is admin/admin, dit sal u vra om dit te verander, u kan dit vir eers oorslaan

As u 'n GUI kry, gaan dan goed na die volgende stap

Stap 8: Installeer InfluxDB

Voer hierdie opdragte uit op die 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 stable" | 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 aktiveer influxdbsudo systemctl begin influxdb

Toets deur 'instroming' te tik. Dit behoort u in die command line van influxdb te plaas. Tik "wys databasisse", daar sal nog geen databasisse wees nie, maar as u 'n leë lys sonder foute kry, is dit goed.

Stap 9: Installeer Telegraf

Hierdie een is regtig maklik, want ons het die influxdb -repos bygevoeg wat ons net kan tik:

sudo apt-get install telegrafsudo systemctl aktiveer telegrafsudo systemctl begin telegraf

Op hierdie stadium sal Telegraf reeds stelselstatistieke aanmeld by influxdb. U kan dit sien deur hierdie opdragte in te tik:

instroomvertoon databasisse gebruik telegrafshow -reeksSELECT * VANAF cpu LIMIT 10;

Stap 10: Installeer Mosquitto

Hierdie deel is maklik, aangesien ons net die standaard weergawe wat met raspian verpak is, installeer:

sudo apt -get -y install mosquittosudo apt -get -y install mosquitto -clientssudo systemctl aktiveer mosquittosudo systemctl start mosquitto# skep 'n wagwoord vir mosquittosudo mosquitto_passwd -c/etc/mosquitto/tasmota tasmota# voer 'n wagwoord in. Skryf hierdie wagwoord neer, aangesien ons dit aan die slimprop moet gee

Om te toets:

voer dit uit in een SSH -sessie:

muskiet_sub -t toets

Begin hierdie in 'n ander

muskiet_pub -t toets -m myboodskap

U behoort u boodskap in die eerste SSH -sessie te sien

Stap 11: Stuur data van die slimprop na Mosquitto

Stuur data van die slimprop na Mosquitto
Stuur data van die slimprop na Mosquitto

Nou het ons muskiete aan die gang, ons moet die slimprop instel om data na muskiet te stuur. Dit is redelik maklik om te doen. Ons benodig die wagwoord wat vir die muskiet ingevoer is vanaf die vorige stap.

1) Teken in op u slimproppe -webwerf

2) Klik op Konfigurasie en dan op Logboek instel

3) Stel die telemetrieperiode op 10 en klik op stoor.

4) Klik op Configure MQTT

5) Voer vir die gasheer die IP -adres van u PI in

6) Voer tasmota in vir gebruikersnaam

7) Voer die wagwoord van die vorige stap in vir die wagwoord

8) Voer tasmota1 in vir onderwerp

9) Klik op stoor

Om te toets:

Tik by die PI die onderstaande opdrag. Binne 10 sekondes behoort u data te sien deurkom.

mosquitto_sub -t tele/tasmota1/SENSOR

Data behoort so te lyk:

Stap 12: Gebruik Telegraf om data van muskiet na toestroom te stoot

Ons gaan nou Telegraf opstel om die data van muskiet te lees en na influxdb te stoot. Op die PI:

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

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

Let op dat vi nie supervriendelik is vir nuwe gebruikers nie; as u verkies om 'n menu -gebaseerde teksredakteur te gebruik, gebruik dan nano:

sudo nano /etc/telegraf/telegraf.conf

3) Plak die konfig in die aangehegte lêer

4) sudo systemctl herlaai telegraf

Om dit te toets, tik dit op die PI:

instroming

wys databasisse

u moet die toetsdatabasis sien. As u nie van die naamtoets hou nie, kan u dest_db in die telegraf.conf -lêer verander.

Stap 13: Laastens, skep grafieke in Grafana

Uiteindelik, skep grafieke in Grafana
Uiteindelik, skep grafieke in Grafana

Uiteindelik kry ons 'n paar data:-):-)

Eerstens moet ons 'n verbinding met die databasis skep. Gaan na die grafana -webwerf http: [ip van PI]: 3000

1) Meld aan met admin/admin

2) Klik in die linkerkolom op die rat -ikoon en databronne

3) Klik op Voeg databron by

4) Klik op influxdb

5) Vir URL, voer https:// localhost: 8086 in

6) Tik toets vir databasis in

7) Tik GET vir

8) Tik 10s vir min tydsinterval

9) Klik op Stoor en toets, daar moet staan "Databron werk"

OK, nou het ons 'n verbinding met die databasis, ons kan 'n grafiek skep … uiteindelik.

1) Klik in die linkerkolom op die + en dan op Dashboard en voeg nuwe paneel by

2) Klik op InfluxDB vir die databasis

3) Klik op meting en kies Kogan

4) Kies Energy_Power vir veld.

5) Gee u reeks 'n naam (bv. Skottelgoedwasser) vir u naam

6) Gee dit 'n naam aan die regterkant van die paneltitel, bv. Power.

7) Dit is alles, u moet data sien. Klik op die linkerpylknoppie om uit die wysiging te gaan en klik dan op stoor, gee u dashboard 'n naam.

As u so ver gekom het, wonderlike werk, ernstig.

Stap 14: Nog 'n paar wenke

Nog 'n paar wenke
Nog 'n paar wenke
Nog 'n paar wenke
Nog 'n paar wenke

Die standaard Telegraf -konfigurasie wat ek verskaf het, was 'n bietjie onderhoudsintensief, aangesien 'n nuwe afdeling vir elke toestel bygevoeg moet word en dat Telegraf weer moet begin. Met die onderstaande veranderings maak dit dinge baie meer dinamies deurdat toestelle in die Tasmota -konfigurasie bygevoeg of hernoem kan word sonder om Telegraf te hoef te verander.

Die eerste verandering is om die + in die onderwerpnaam te plaas, dit is basies 'n joker. Dit is alleen genoeg, behalwe as u grafieke in Grafana maak, kom die toestelle voor as 'tele/WashingMachine/SENSOR'. Die tweede deel van die Telegraf -konfigurasie hieronder is die regex -verwerker. Dit trek die teks "WashingMachine" uit die middel en verander dit in 'n nuwe tag wat na InfluxDB gestoot word.

Opmerking: maak seker dat u 'n ander onderwerpnaam in die Tasmota -opstelling vir elke toestel opstel

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

Sodra dit klaar is, is dit baie maklik om Grafana op te stel om meer toestelle op die een grafiek te wys. Die foto wat by hierdie stap aangeheg is, toon wat u moet doen. Klik net op die + -teken in die groep vir reël en kies tag (toestel). Onderaan Alias By voer $ tag_device in. U behoort nou verskeie reekse op die een grafiek te sien. U kan op die teks van elke item klik om dit aan en uit te skakel (ctrl klik werk om veelvoude te kies)

Aanbeveel: