Obsah:

Domácí spotřebič Monitor výkonu na bázi Raspberry PI: 14 kroků
Domácí spotřebič Monitor výkonu na bázi Raspberry PI: 14 kroků

Video: Domácí spotřebič Monitor výkonu na bázi Raspberry PI: 14 kroků

Video: Domácí spotřebič Monitor výkonu na bázi Raspberry PI: 14 kroků
Video: Najdroższy głośnik BT na świecie ma poważny BŁĄD elektroniki !! 2024, Červenec
Anonim
Domácí spotřebič Monitor napájení Raspberry PI
Domácí spotřebič Monitor napájení Raspberry PI
Domácí spotřebič Monitor výkonu na bázi Raspberry PI
Domácí spotřebič Monitor výkonu na bázi Raspberry PI

Toto byl malý projekt, který jsem sledoval spotřebu energie jednotlivých spotřebičů v domě a zobrazoval grafy jejich spotřeby energie v průběhu času. Je to vlastně jeden z jednodušších projektů založených na Raspberry PI, které jsem udělal, bez nutnosti pájení nebo hackování otevřených produktů. Nemusí to být projekt Raspberry PI, mohl by být snadno proveden na linuxovém boxu nebo možná Windows.

Cena je 50 AUD za sadu 4 monitorů napájení/chytrých zástrček a cena Raspberry PI. To může běžet na Pi Zero nebo Original PI, i když jsem zjistil, že je to trochu pomalé. Jediné další PI, které mám, je PI 3 a připadalo mi to velmi chytré, takže bych to doporučil. Všimněte si toho, pokud ho chcete spustit na starším PI, můžete snížit frekvenci sběru dat (používal jsem 10 sekund).

Tento projekt má také další výhodu nebo uvolňuje inteligentní konektor z firmwaru výrobce, takže nemusíte používat jejich konkrétní aplikace a cloudové služby. Lze je tedy použít s Home Assist nebo jen s vašimi vlastními python skripty.

Vezměte prosím na vědomí, že předpokládám, že víte, jak nainstalovat OS na PI, připojit se k němu a spustit některé základní příkazy Linux. Předpokládám také, že víte, jak najít IP adresu vašeho inteligentního konektoru, jakmile se připojí k vaší WiFi.

Zásoby

2 balení nebo 4 balení inteligentních zástrček odtud:

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

1 malina PI

Dovednosti:

Možnost nastavení malinového PI

Základní linuxový příkazový řádek

Textový editor jako vi nebo nano (nano je uživatelsky přívětivější, vi je rychlejší, když se s ním seznámíte)

Možnost najít IP zařízení ve vaší síti.

Krok 1: Kupte si nějaké chytré zástrčky

Kupte si nějaké chytré zástrčky
Kupte si nějaké chytré zástrčky

Chytrý konektor, který jsem použil, byl odtud:

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

Všimněte si toho, že existuje celá řada inteligentních konektorů, které jsou kompatibilní, většina (všechny?) Jsou zařízení založená na ESP8266 (WEMOS) a je velmi snadné je blikat. Ujistěte se, že získáte něco, co má monitorování napájení, jako mnoho lidí. Tato stránka zobrazuje velký seznam kompatibilních zařízení:

templates.blakadder.com/plug.html

Krok 2: Flashování zařízení

Tato část byla překvapivě snadná. V podstatě stačí stáhnout software, spustit ho a provede vás celým procesem.

K tomu budete potřebovat Raspberry PI nebo Linux box s WiFi. Budete muset mít primární připojení k tomuto zařízení, NENÍ WiFi. Pro můj PI3 to bylo snadné, protože jsem byl připojen přes ethernet. Pokud máte PI Zero, budete muset připojit staromódní způsob, s klávesnicí a monitorem.

Předpokládám, že víte, jak nastavit PI a připojit se k němu pomocí SSH nebo klávesnice, takže tím nebudu procházet. Pokud si nejste jisti, existuje na webu spousta návodů.

Než začneme, jen trochu pozadí na zařízeních. V Číně existuje společnost s názvem Tuya, která čerpá inteligentní zástrčky pro různé zákazníky. Provádějí přizpůsobení pro různé zákazníky a poskytují výchozí firmware a umožňují společnostem provádět vlastní úpravy. Problém je v tom, že pokud máte spoustu produktů od různých dodavatelů, nakonec budete muset spustit spoustu aplikací, z nichž některé fungují lépe než jiné. Flashováním firmwaru s otevřeným zdrojovým kódem se od toho všeho osvobodíte. To je tedy dobré pro obecnou domácí automatizaci.

Tak …. bez dalších okolků, zde jsou pokyny:

1) Spusťte tyto příkazy na PI, tím se nainstaluje požadovaný software.

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

2) Připojte inteligentní zástrčku k napájení

3) Zapněte jej tlačítkem

4) Podržte tlačítko napájení, dokud nezačne blikat modré světlo

5) Počkejte 10 sekund. To není podstatné, ale zjistil jsem, že to funguje lépe, pokud ano.

6) Spusťte tento příkaz

./start_flash.sh

Odtud se řiďte pokyny, až na konec vyberte „2. Tasmota“. Existuje možnost pro jiný firmware, ale nezkoušel jsem to, takže si nejsem jistý, jaké to je.

Všimněte si, že jsem to musel udělat více než jednou, nejdřív jsem si myslel, že jsem zařízení zazdil, neměl jsem žádná světla, žádné reléové cvaknutí, žádné známky života. Ale vypnul jsem to a znovu spustil poslední příkaz a fungovalo to. Musel jsem to udělat se 3 ze 4 zařízení, která jsem flashoval, jen jedno prošlo přímo, myslím kvůli kroku 5.

Kompletní pokyny zde:

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

Krok 3: První připojení k firmwaru

První připojení k firmwaru
První připojení k firmwaru
První připojení k firmwaru
První připojení k firmwaru
První připojení k firmwaru
První připojení k firmwaru

Jakmile na svůj přístroj přenesete tasmotu, nebude to příliš ukazovat známky života. Důvodem je to, že je třeba jej nakonfigurovat. To je docela snadné, zjistil jsem, že je nejlepší to udělat pomocí telefonu. Kroky jsou:

1) Vyhledejte přístupové body WiFi

2) Připojte se k jednotce označené tasmota_xxxx (kde x jsou čísla)

3) Telefon by vás měl přesměrovat na výchozí stránku, pokud ne přejít na 192.168.4.1

Na některých telefonech vám může přijít zpráva „žádný přístup k internetu, chcete zůstat připojeni“, vyberte ano.

4) Na stránce, která se objeví, zadejte do prvních 2 políček název vaší WiFi sítě a heslo. Kliknutím na možnost zobrazíte heslo a třikrát zkontrolujte, zda jste zadali správné heslo. Pokud jste zadali nesprávné heslo, domnívám se, že návrat na tuto konfigurační obrazovku může být obtížný. Všimněte si také, že můžete vyhledávat sítě WiFi, i když zjevně stále musíte zadat heslo.

5) Zástrčka by se nyní měla připojit k vaší WiFi síti. Budete muset přejít na konfigurační stránku routeru a zjistit IP adresu vašeho zařízení.

6) Otevřete na počítači webový prohlížeč a přejděte na adresu https:// [device_ip] Měli byste vidět konfigurační obrazovku z Tasmota.

Gratulujeme, úspěšně jste zapojili zástrčku.

Krok 4: Konfigurace Plug

Konfigurace Plug
Konfigurace Plug

Společnost, která tato zařízení vyrábí, zjevně vyrábí 10 000 zařízení s mnoha různými konfiguracemi. Právě jsme vytvořili nový firmware a firmware neví, na jaká zařízení byla flashována. Takže než bude něco fungovat, budeme to muset nakonfigurovat. K tomu potřebujeme najít podrobnosti o našem zařízení na webu a načíst konkrétní konfiguraci.

Za tímto účelem najděte své zařízení na této stránce:

templates.blakadder.com/plug.html

Konfigurace pro zařízení, které jsem použil, je zde:

templates.blakadder.com/kogan-KASPEMHUSBA….

K nastavení konfigurace stačí zkopírovat text pod Šablona. V tomto případě je to:

Pak

1) Přejděte na konfigurační stránku zařízení https:// [IP smart plug]

2) Klikněte na konfigurovat, konfigurovat jiné

3) Vložte řetězec šablony

4) Zaškrtněte „Povolit MQTT“

5) Klikněte na aktivovat a uložit.

Chcete -li otestovat, zda to funguje, klikněte na „Hlavní nabídka“a vraťte se na domovskou stránku. Nyní byste měli vidět údaje o spotřebě energie. Všechny budou nulové, dokonce i napětí, ale to je dobré znamení. Klikněte na přepínací tlačítko a měli byste slyšet cvaknutí relé a uvidíte, jak napětí stoupá.

Krok 5: Kalibrace napětí

Kalibrace napětí
Kalibrace napětí

Zjistil jsem, že napětí ukazuje docela vysokou hodnotu. Pokud máte v domě jiný zdroj odečtu napětí (např. Inteligentní měřič ??), můžete zástrčku kalibrovat velmi snadno. Udělat toto

1) Získejte správné hodnoty napětí

2) Zapněte relé v inteligentní zástrčce

3) Na domovské stránce zařízení klikněte na položku Konzola

4) Zadejte příkaz „VoltageSet 228“a stiskněte Enter (nahraďte 228 svým napětím)

Nyní by se napětí mělo zobrazovat správně.

Krok 6: Instalace softwaru na PI

Na PI je třeba nainstalovat několik balíčků. Tyto se snadno instalují a lze je provést podle pokynů z různých balíčků. Zde uvedu pokyny, ale všimněte si, že se mohou časem měnit, takže moje pokyny budou aktuální. Balíčky jsou:

Grafana (pro zobrazení grafů)

Influxdb (databáze časových řad, která bude ukládat naše data)

Telegraf (slouží k tlačení dat do Influxdb)

Mosquitto (sběrnice zpráv sloužila k předávání dat, inteligentní zásuvka tlačí data sem)

Řetězec toku dat je následující:

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

Pokud se ptáte, proč nemůžeme vynechat Mosquitto a Telegraf, je to dobrá otázka. Smart Plug by teoreticky mohl tlačit na Influx. Problém je v tom, že by to pak muselo být konfigurovatelné pro 100 s různých koncových bodů a to by nás zablokovalo z některých možností. Většina věcí v domácí automatizaci používá Mosquitto k předávání zpráv. Jako příklad můžeme zásuvku zapnout a vypnout odesláním zpráv Mosquitto a inteligentní zásuvka je přijme a odpoví.

Krok 7: Instalace Grafany

Instalace Grafany
Instalace Grafany

Z:

grafana.com/grafana/download?platform=arm

Nebo spousta dalších možností zde:

grafana.com/grafana/download

Pro Pi 1 a Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1#vyhledejte nejnovější verzi na stránce v topwgetu 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 povolit grafana-serversudo /bin /systemctl spustit grafana-server

Pro novější PI (ARMv7)

sudo apt -get install -y adduser libfontconfig1#najděte nejnovější verzi na stránce v topwgetu 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 povolit grafana-serveryudo/bin/systemctl spustit grafana-server

Testovat:

Přejděte na https:// [IP PI]: 3000

uživatelské jméno/heslo je admin/admin, požádá vás o jeho změnu, prozatím můžete přeskočit

Pokud získáte GUI, pak je vše v pořádku, přejděte k dalšímu kroku

Krok 8: Instalace InfluxDB

Spusťte na PI tyto příkazy:

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 povolit influxdbsudo systemctl start

Test zadáním „přílivu“. To by vás mělo dostat do příkazového řádku influxdb. Zadejte „zobrazit databáze“, zatím nebudou žádné databáze, ale pokud dostanete prázdný seznam bez chyb, bude vše v pořádku.

Krok 9: Instalace Telegrafu

Toto je opravdu snadné, protože jsme přidali reppos, které můžeme jednoduše zadat:

sudo apt-get install telegrafsudo systemctl povolit telegrafsudo systemctl start telegraf

V tomto okamžiku bude Telegraf již protokolovat metriky systému do influxdb. Můžete je zobrazit zadáním těchto příkazů:

databáze přílivové show použít telegrafní show sérieVÝBĚR * OD Cpu LIMIT 10;

Krok 10: Nainstalujte Mosquitto

Tato část je snadná, protože jsme nainstalovali výchozí verzi zabalenou s raspianem:

sudo apt -get -y install mosquittosudo apt -get -y install mosquitto -clientssudo systemctl enable mosquittosudo systemctl start mosquitto# create a password for mosquittosudo mosquitto_passwd -c/etc/mosquitto/tasmota tasmota# zadejte heslo. Zapište si toto heslo, protože to budeme muset dát smart plug

Testovat:

spusťte to v jedné relaci SSH:

mosquitto_sub -t test

Spusťte to v jiném

mosquitto_pub -t test -m moje zpráva

V první relaci SSH byste měli vidět vaši zprávu

Krok 11: Odesílání dat ze Smart Plug do Mosquitto

Odesílání dat ze Smart Plug do Mosquitto
Odesílání dat ze Smart Plug do Mosquitto

Nyní máme spuštěn mosquitto, musíme nakonfigurovat inteligentní konektor pro odesílání dat do mosquitto. To je docela snadné. Budeme potřebovat heslo zadané pro komáry z předchozího kroku.

1) Přihlaste se na webovou stránku smart plugs

2) Klikněte na Konfigurace a poté na Konfigurovat protokolování

3) Nastavte období telemetrie na 10 a klikněte na Uložit.

4) Klikněte na Konfigurovat MQTT

5) Pro hostitele zadejte IP adresu vašeho PI

6) Jako uživatelské jméno zadejte tasmota

7) Pro heslo zadejte heslo z předchozího kroku

8) Pro téma zadejte tasmota1

9) Klikněte na Uložit

Testovat:

Na PI zadejte níže uvedený příkaz. Do 10 sekund byste měli vidět procházející data.

mosquitto_sub -t tele/tasmota1/SENSOR

Data by měla vypadat takto:

Krok 12: Pomocí Telegrafu přenesete data z Mosquitto do Influx

Nyní se chystáme nakonfigurovat Telegraf tak, aby četl data z mosquitto a tlačil na influxdb. Na PI:

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

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

Poznámka vi není pro nové uživatele příliš přátelská, pokud dáváte přednost textovému editoru založenému na nabídce, použijte místo toho nano:

sudo nano /etc/telegraf/telegraf.conf

3) Vložte konfiguraci z přiloženého souboru

4) sudo systemctl restart telegraf

Chcete -li otestovat, zadejte toto na PI:

příliv

zobrazit databáze

měli byste vidět testovací databázi. Pokud se vám nelíbí test názvu, můžete změnit dest_db v souboru telegraf.conf.

Krok 13: Nakonec vytvořte grafy v Grafaně

Nakonec vytvořte grafy v Grafaně
Nakonec vytvořte grafy v Grafaně

Konečně se můžeme podívat na nějaká data:-):-)

Nejprve musíme vytvořit připojení k databázi. Přejděte na webovou stránku grafana http: [ip of PI]: 3000

1) Přihlaste se pomocí admin/admin

2) V levém sloupci klikněte na ikonu ozubeného kola a zdroje dat

3) Klikněte na Přidat zdroj dat

4) Klikněte na influxdb

5) Jako URL zadejte https:// localhost: 8086

6) Pro databázi zadejte test

7) Pro HTTP zadejte GET

8) Pro minimální časový interval zadejte 10 s

9) Klikněte na Uložit a otestovat, mělo by tam být „Zdroj dat funguje“

Dobře, nyní máme připojení k databázi, můžeme vytvořit graf … konečně.

1) V levém sloupci klikněte na + a poté na Hlavní panel a Přidat nový panel

2) Pro databázi klikněte na InfluxDB

3) Klikněte na měření a vyberte Kogan

4) V poli vyberte Energy_Power.

5) Pro alias pojmenujte svou sérii (např. Myčka nádobí)

6) Na pravé straně pro název panelu zadejte název, např. Power.

7) To je vše, měli byste vidět data. Kliknutím na tlačítko se šipkou vlevo opustíte úpravy a poté kliknete na tlačítko Uložit, pojmenujte hlavní panel.

Pokud jste se dostali tak daleko, skvělá práce, vážně.

Krok 14: Několik dalších tipů

Několik dalších tipů
Několik dalších tipů
Několik dalších tipů
Několik dalších tipů

Výchozí konfigurace Telegrafu, kterou jsem poskytl, byla trochu náročná na údržbu, protože pro každé zařízení je třeba přidat novou sekci a provést restart Telegrafu. Díky níže uvedeným změnám je to mnohem dynamičtější, protože zařízení lze přidávat nebo přejmenovávat v konfiguraci Tasmota bez nutnosti měnit Telegraf.

První změnou je vložení + do názvu tématu, toto je v podstatě zástupný znak. To by samo o sobě stačilo, kromě případů, kdy v Grafaně vytváříte grafy, se zařízení pojmenovávají jako „tele/WashingMachine/SENSOR“. Druhou částí konfigurace Telegrafu níže je regexový procesor. Vytáhne text „WashingMachine“ze středu a změní jej na nový tag, který bude zaslán do InfluxDB.

Poznámka: ujistěte se, že v konfigurátoru Tasmota nastavíte pro každé zařízení jiný název tématu

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

Jakmile je toto hotové, je velmi snadné nakonfigurovat Grafanu tak, aby zobrazovala více zařízení na jednom grafu. Obrázek připojený k tomuto kroku ukazuje, co je třeba udělat. Stačí kliknout na znaménko + na skupinu po řádku a vybrat značku (zařízení). Dole u Aliasu zadejte $ tag_device. Nyní byste na jednom grafu měli vidět více sérií. Kliknutím na text každé položky je můžete zapnout a vypnout (kliknutím na klávesy Ctrl vyberete násobky)

Doporučuje: