Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Kaufen Sie einige Smart Plugs
- Schritt 2: Flashen des Geräts
- Schritt 3: Erstmalige Verbindung mit der Firmware
- Schritt 4: Konfigurieren des Steckers
- Schritt 5: Spannung kalibrieren
- Schritt 6: Software auf dem PI installieren
- Schritt 7: Grafana installieren
- Schritt 8: InfluxDB installieren
- Schritt 9: Installieren von Telegraf
- Schritt 10: Installieren Sie Mosquitto
- Schritt 11: Senden von Daten vom Smart Plug an Mosquitto
- Schritt 12: Verwenden Sie Telegraf, um Daten von Mosquitto an Influx zu übertragen
- Schritt 13: Erstellen Sie schließlich Diagramme in Grafana
- Schritt 14: Noch ein paar Tipps
Video: Raspberry PI-basierter Strommonitor für Haushaltsgeräte - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Dies war ein kleines Projekt, das ich durchgeführt habe, um den Stromverbrauch einzelner Geräte im Haus zu überwachen und Diagramme ihres Stromverbrauchs im Laufe der Zeit anzuzeigen. Es ist tatsächlich eines der einfacheren Raspberry PI-basierten Projekte, die ich gemacht habe, kein Löten oder Hacken offener Produkte erforderlich. Es muss kein Raspberry PI-Projekt sein, es könnte leicht auf einer Linux-Box oder vielleicht Windows durchgeführt werden.
Die Kosten betragen 50 AUD für einen Satz von 4 Strommonitoren / Smart Plugs und die Kosten für einen Raspberry PI. Dies kann auf einem Pi Zero oder dem Original PI laufen, obwohl ich fand, dass es etwas langsam war. Der einzige andere PI, den ich habe, ist ein PI 3 und ich fand ihn sehr bissig, also würde ich ihn empfehlen. Beachten Sie, dass Sie die Häufigkeit der Datenerfassung reduzieren können (ich habe 10 Sekunden verwendet), wenn Sie es auf einem älteren PI ausführen möchten.
Dieses Projekt hat auch den zusätzlichen Vorteil, den Smart Plug von der Hersteller-Firmware zu befreien, sodass Sie ihre spezifischen Apps und Cloud-Dienste nicht verwenden müssen. So können sie mit Home Assist oder einfach mit Ihren eigenen Python-Skripten verwendet werden.
Bitte beachten Sie, dass ich davon ausgehe, dass Sie wissen, wie Sie das Betriebssystem auf dem PI installieren, eine Verbindung herstellen und einige grundlegende Linux-Befehle ausführen. Ich gehe auch davon aus, dass Sie wissen, wie Sie die IP-Adresse Ihres Smart Plugs finden, sobald er mit Ihrem WLAN verbunden ist.
Lieferungen
2er Pack oder 4er Pack Smart Plugs von hier:
www.kogan.com/au/buy/kogan-smarterhome-sma…
1 Himbeer-PI
Fähigkeiten:
Möglichkeit zum Einrichten eines Himbeer-PI
Grundlegende Linux-Befehlszeile
Texteditor wie vi oder nano (nano ist benutzerfreundlicher, vi ist schneller, wenn Sie es kennen)
Fähigkeit, die IP von Geräten in Ihrem Netzwerk zu finden.
Schritt 1: Kaufen Sie einige Smart Plugs
Der Smart Plug, den ich verwendet habe, war von hier:
www.kogan.com/au/buy/kogan-smarterhome-sma…
Beachten Sie, dass es eine ganze Reihe von Smart Plugs gibt, die kompatibel sind. Die meisten (alle?) ESP8266 (WEMOS)-basierten Geräte sind sehr einfach zu flashen. Stellen Sie sicher, dass Sie etwas mit Stromüberwachung erhalten, da viele dies nicht tun. Diese Seite zeigt eine große Liste kompatibler Geräte:
templates.blakadder.com/plug.html
Schritt 2: Flashen des Geräts
Dieser Teil war überraschend einfach. Sie laden im Grunde einfach die Software herunter, führen sie aus und führen Sie durch.
Dazu benötigen Sie eine Raspberry PI- oder Linux-Box mit WLAN. Sie benötigen Ihre primäre Verbindung zu diesem Gerät, die NICHT das WLAN ist. Für meinen PI3 war das einfach, da ich über Ethernet verbunden war. Wenn Sie einen PI Zero haben, müssen Sie ihn auf die altmodische Weise mit einer Tastatur und einem Monitor verbinden.
Ich gehe davon aus, dass Sie wissen, wie man einen PI einrichtet und mit SSH oder einer Tastatur eine Verbindung herstellt, damit ich das nicht durchmache. Wenn Sie sich nicht sicher sind, gibt es viele Tutorials im Internet.
Bevor wir beginnen, nur ein bisschen Hintergrund zu den Geräten. In China gibt es ein Unternehmen namens Tuya, das intelligente Stecker für verschiedene Kunden auspumpt. Sie nehmen Anpassungen für verschiedene Kunden vor und bieten eine Standard-Firmware und ermöglichen es Unternehmen, ihre eigenen Änderungen vorzunehmen. Das Problem dabei ist, dass Sie, wenn Sie eine Reihe von Produkten von verschiedenen Anbietern haben, am Ende eine Reihe von Apps ausführen müssen, von denen einige besser funktionieren als andere. Durch das Flashen einer Open-Source-Firmware befreien Sie sich von all dem. Dies ist also gut für die allgemeine Hausautomation.
So …. Hier ohne weiteres die Anleitung:
1) Führen Sie diese Befehle auf dem PI aus. Dadurch wird die erforderliche Software installiert.
# git clone https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert#./install_prereq.sh
2) Stecken Sie den intelligenten Stecker in die Stromversorgung
3) Schalten Sie es mit der Taste ein
4) Halten Sie den Netzschalter gedrückt, bis das blaue Licht zu blinken beginnt
5) Warten Sie 10 Sekunden. Dies ist nicht unbedingt erforderlich, aber ich fand, es funktionierte besser, wenn Sie es taten.
6) Führen Sie diesen Befehl aus
./start_flash.sh
Von hier aus folgen Sie einfach den Anweisungen, außer am Ende wählen Sie "2. Tasmota". Es gibt eine Option für eine andere Firmware, aber ich habe das nicht ausprobiert, bin mir also nicht sicher, wie es ist.
Beachten Sie, dass ich dies mehr als einmal tun musste, zuerst dachte ich, ich hätte das Gerät gemauert, ich hatte kein Licht, kein Relaisklicken, kein Lebenszeichen. Aber ich habe es ausgeschaltet und den letzten Befehl erneut ausgeführt und es hat funktioniert. Ich musste dies mit 3 von 4 Geräten machen, die ich geflasht habe, nur eines ging direkt durch, ich denke aufgrund von Schritt 5.
Vollständige Anleitung hier:
github.com/ct-Open-Source/tuya-convert
Schritt 3: Erstmalige Verbindung mit der Firmware
Sobald Sie Tasmota auf das Gerät geflasht haben, zeigt es nicht mehr viele Lebenszeichen. Der Grund dafür ist, dass es konfiguriert werden muss. Dies ist ziemlich einfach, ich fand es am besten, es mit meinem Telefon zu tun. Schritte sind:
1) Suche nach WLAN-Zugangspunkten
2) Verbinden Sie sich mit dem mit der Bezeichnung tasmota_xxxx (wobei x für Zahlen steht)
3) Das Telefon sollte Sie zur Standardseite leiten, wenn nicht, gehen Sie zu 192.168.4.1
Beachten Sie, dass bei einigen Telefonen möglicherweise die Meldung "Kein Internetzugang, möchten Sie verbunden bleiben" angezeigt wird, wählen Sie "Ja".
4) Geben Sie auf der angezeigten Seite den Namen Ihres WiFi-Netzwerks und das Passwort in die ersten 2 Felder ein. Klicken Sie auf die Option zum Anzeigen des Passworts und überprüfen Sie dreimal, ob Sie das richtige Passwort eingegeben haben. Wenn Sie das falsche Passwort eingegeben haben, kann es schwierig sein, zu diesem Konfigurationsbildschirm zurückzukehren. Beachten Sie, dass Sie auch nach WLAN-Netzwerken suchen können, obwohl Sie natürlich noch das Passwort eingeben müssen.
5) Der Stecker sollte jetzt mit Ihrem WiFi-Netzwerk verbunden sein. Sie müssen zur Konfigurationsseite Ihres Routers gehen und die IP Ihres Geräts finden.
6) Öffnen Sie einen Webbrowser auf Ihrem PC und gehen Sie zu https://[device_ip] Sie sollten den Konfigurationsbildschirm von Tasmota sehen.
Herzlichen Glückwunsch, Sie haben den Stecker erfolgreich geflasht.
Schritt 4: Konfigurieren des Steckers
Die Firma, die diese Geräte herstellt, stellt anscheinend 10.000 Geräte mit vielen verschiedenen Konfigurationen her. Wir haben gerade eine neue Firmware geflasht und die Firmware weiß nicht, auf welche Geräte sie geflasht wurde. Bevor also etwas funktioniert, müssen wir es konfigurieren. Dazu müssen wir die Details unseres Geräts im Web finden und diese spezielle Konfiguration laden.
Finden Sie dazu Ihr Gerät auf dieser Seite:
templates.blakadder.com/plug.html
Für das von mir verwendete Gerät ist die Konfiguration hier:
templates.blakadder.com/kogan-KASPEMHUSBA….
Um die Konfiguration einzustellen, kopieren wir einfach den Text unter Template. In diesem Fall ist es:
Dann
1) Gehen Sie zu Ihrer Gerätekonfigurationsseite https://[IP of Smart Plug]
2) Klicken Sie auf Konfigurieren, konfigurieren Sie andere
3) Fügen Sie Ihre Vorlagenzeichenfolge ein
4) Setzen Sie ein Häkchen bei "MQTT aktivieren"
5) Klicken Sie auf Aktivieren und Speichern.
Um zu testen, ob dies funktioniert hat, klicken Sie auf "Hauptmenü", um zur Startseite zurückzukehren und Sie sollten nun die Stromverbrauchszahlen sehen. Sie werden alle Null sein, sogar die Spannung, aber das ist ein gutes Zeichen. Klicken Sie auf die Umschalttaste und Sie sollten das Klicken des Relais hören und sehen, wie die Spannung ansteigt.
Schritt 5: Spannung kalibrieren
Ich fand, dass die Spannungsanzeige ziemlich hoch war. Wenn Sie eine andere Spannungsquelle im Haus haben (zB Smart Meter vielleicht??) dann können Sie den Stecker sehr einfach kalibrieren. Um dies zu tun
1) Holen Sie sich den korrekten Spannungswert
2) Schalten Sie das Relais im Smart Plug ein
3) Klicken Sie auf der Startseite des Geräts auf Konsole
4) Geben Sie den Befehl "VoltageSet 228" ein und drücken Sie die Eingabetaste (ersetzen Sie 228 durch Ihre Spannung)
Spannung sollte jetzt korrekt angezeigt werden.
Schritt 6: Software auf dem PI installieren
Es gibt einige Pakete, die auf dem PI installiert werden müssen. Diese sind einfach zu installieren und können den Anweisungen der verschiedenen Pakete folgen. Ich werde die Anweisungen hier geben, aber beachten Sie, dass sie sich im Laufe der Zeit ändern können, sodass meine Anweisungen veraltet sind. Die Pakete sind:
Grafana (zum Anzeigen von Grafiken)
Influxdb (Zeitreihendatenbank, die unsere Daten speichert)
Telegraf (wird verwendet, um Daten in Influxdb zu übertragen)
Mosquitto (Nachrichtenbus zum Weiterleiten von Daten, der Smart Plug schiebt die Daten hierher)
Die Kette des Datenflusses ist wie folgt:
Smart Plug -> Mosquitto -> Telegraf -> InfluxDB -> Grafana
Wenn Sie fragen, warum wir Mosquitto und Telegraf nicht überspringen können, ist das eine gute Frage. Theoretisch könnte der Smart Plug zu Influx drängen. Das Problem dabei ist, dass es dann für Hunderte verschiedener Endpunkte konfigurierbar sein müsste und uns von einigen Auswahlmöglichkeiten ausschließen würde. Die meisten Dinge in der Heimautomatisierung verwenden Mosquitto, um Nachrichten weiterzugeben. Als Beispiel können wir den Plug ein- und ausschalten, indem wir Nachrichten an Mosquitto senden und der Smart Plug empfängt sie und antwortet.
Schritt 7: Grafana installieren
Von:
grafana.com/grafana/download?platform=arm
Oder viele andere Optionen hier:
grafana.com/grafana/download
Für Pi 1 und Pi Zero (ARMv6)
sudo apt-get install -y adduser libfontconfig1#Finde die neueste Version von der Seite unter 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 enable grafana-serversudo /bin/systemctl start grafana-server
Für neuere PIs (ARMv7)
sudo apt-get install -y adduser libfontconfig1#finde die neueste Version von der Seite unter 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 enable grafana-serversudo /bin/systemctl start grafana-server
Zu testen:
Gehen Sie zu https://[IP von PI]:3000
Benutzername/Passwort ist admin/admin, Sie werden aufgefordert, es zu ändern, Sie können es vorerst überspringen
Wenn Sie eine GUI erhalten, ist alles gut, gehen Sie zum nächsten Schritt
Schritt 8: InfluxDB installieren
Führen Sie diese Befehle auf dem PI aus:
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 aktivieren influxdbsudo systemctl start influxdb
Testen Sie, indem Sie "influx" eingeben. Dies sollte Sie in die influxdb-Befehlszeile bringen. Geben Sie "Datenbanken anzeigen" ein, es werden noch keine Datenbanken angezeigt, aber wenn Sie eine leere Liste ohne Fehler erhalten, ist alles gut.
Schritt 9: Installieren von Telegraf
Dies ist wirklich einfach, weil wir die influxdb-Repos hinzugefügt haben, die wir einfach eingeben können:
sudo apt-get install telegrafsudo systemctl aktivieren telegrafsudo systemctl start telegraf
Zu diesem Zeitpunkt wird Telegraf bereits Systemmetriken in influxdb protokollieren. Sie können sie sehen, indem Sie diese Befehle eingeben:
influxshow databasesuse telegrafshow seriesSELECT * FROM CPU LIMIT 10;
Schritt 10: Installieren Sie Mosquitto
Dieser Teil ist einfach, da wir nur die Standardversion installieren, die mit raspian verpackt ist:
sudo apt-get -y mosquittosudo installieren apt-get -y mosquitto-clientssudo installieren systemctl mosquittosudo aktivieren systemctl mosquitto starten# Passwort für mosquittosudo erstellen mosquitto_passwd -c /etc/mosquitto/tasmota tasmota#passwort eingeben. Notieren Sie sich dieses Passwort, da wir es an Smart Plug weitergeben müssen
Zu testen:
Führen Sie dies in einer SSH-Sitzung aus:
mosquitto_sub -t test
Führen Sie dies in einem anderen aus
mosquitto_pub -t test -m meine Nachricht
Sie sollten Ihre Nachricht in der ersten SSH-Sitzung sehen
Schritt 11: Senden von Daten vom Smart Plug an Mosquitto
Jetzt haben wir mosquitto ausgeführt und müssen den Smart Plug so konfigurieren, dass er Daten an mosquitto sendet. Dies ist ziemlich einfach zu tun. Wir benötigen das Passwort, das für mosquitto aus dem vorherigen Schritt eingegeben wurde.
1) Melden Sie sich bei Ihrer Smart Plugs-Webseite an
2) Klicken Sie auf Konfiguration und dann auf Protokollierung konfigurieren
3) Stellen Sie den Telemetriezeitraum auf 10 ein und klicken Sie auf Speichern.
4) Klicken Sie auf MQTT konfigurieren
5) Geben Sie als Host die IP-Adresse Ihres PI ein
6) Geben Sie als Benutzername tasmota. ein
7) Geben Sie als Passwort das Passwort aus dem vorherigen Schritt ein
8) Geben Sie als Thema tasmota1 ein
9) Klicken Sie auf Speichern
Zu testen:
Geben Sie am PI den folgenden Befehl ein. Innerhalb von 10 Sekunden sollten Sie sehen, dass Daten durchkommen.
mosquitto_sub -t tele/tasmota1/SENSOR
Daten sollten so aussehen:
Schritt 12: Verwenden Sie Telegraf, um Daten von Mosquitto an Influx zu übertragen
Wir werden nun Telegraf so konfigurieren, dass die Daten von mosquitto gelesen und an influxdb gepusht werden. Auf der PI:
1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak
2) sudo vi /etc/telegraf/telegraf.conf
Hinweis vi ist für neue Benutzer nicht besonders benutzerfreundlich, wenn Sie einen menübasierten Texteditor bevorzugen, verwenden Sie stattdessen nano:
sudo nano /etc/telegraf/telegraf.conf
3) Fügen Sie die Konfiguration aus der angehängten Datei ein
4) sudo systemctl Neustart telegraf
Geben Sie dies zum Testen auf dem PI ein:
Zustrom
Datenbanken anzeigen
Sie sollten die Testdatenbank sehen. Wenn Ihnen der Namenstest nicht gefällt, können Sie dest_db in der Datei telegraf.conf ändern.
Schritt 13: Erstellen Sie schließlich Diagramme in Grafana
Endlich bekommen wir ein paar Daten zu sehen:-):-)
Zuerst müssen wir eine Verbindung zur Datenbank herstellen. Gehen Sie zur Grafana-Webseite http:[ip of PI]:3000
1) Einloggen mit admin/admin
2) Klicken Sie in der linken Spalte auf das Zahnradsymbol und die Datenquellen
3) Klicken Sie auf Datenquelle hinzufügen
4) Klicken Sie auf influxdb
5) Geben Sie als URL https://localhost:8086. ein
6) Geben Sie für die Datenbank test. ein
7) Geben Sie für HTTP GET. ein
8) Geben Sie für das min. Zeitintervall 10s. ein
9) Klicken Sie auf Speichern und testen, es sollte "Datenquelle funktioniert" sagen.
OK, jetzt haben wir eine Verbindung zur Datenbank und können einen Graphen erstellen … endlich.
1) Klicken Sie in der linken Spalte auf das + und dann auf Dashboard und Add New Panel
2) Für die Datenbank klicken Sie auf InfluxDB
3) Klicken Sie auf Messung und wählen Sie Kogan
4) Wählen Sie für das Feld Energy_Power aus.
5) Geben Sie als Alias Ihrer Serie einen Namen (z. B. Geschirrspüler)
6) Geben Sie auf der rechten Seite für Panel Title einen Namen ein, zB Power.
7) Das war's, Sie sollten Daten sehen. Klicken Sie auf den Pfeil nach links, um die Bearbeitung zu beenden, und klicken Sie dann auf Speichern, und geben Sie Ihrem Dashboard einen Namen.
Wenn Sie so weit gekommen sind, großartige Arbeit, ernsthaft.
Schritt 14: Noch ein paar Tipps
Die von mir bereitgestellte Standard-Telegraf-Konfiguration war etwas wartungsintensiv, da für jedes Gerät ein neuer Abschnitt hinzugefügt werden muss und ein Neustart von Telegraf durchgeführt werden muss. Mit den folgenden Änderungen wird die Dynamik viel dynamischer, da Geräte in der Tasmota-Konfiguration hinzugefügt oder umbenannt werden können, ohne dass Telegraf geändert werden muss.
Die erste Änderung besteht darin, das + in den Themennamen zu setzen, dies ist im Grunde ein Platzhalter. Dies allein würde ausreichen, außer wenn Sie in Grafana Diagramme erstellen, werden die Geräte als Dinge wie "Tele / WashingMachine / SENSOR" bezeichnet. Der zweite Teil der Telegraf-Konfiguration unten ist der Regex-Prozessor. Es zieht den Text "WashingMachine" aus der Mitte und verwandelt ihn in ein neues Tag, das an InfluxDB gepusht wird.
Hinweis: Stellen Sie sicher, dass Sie für jedes Gerät einen anderen Themennamen in der Tasmota-Konfiguration einrichten
[inputs.mqtt_consumer.tags] dest_db = "test"
Sobald dies erledigt ist, ist es sehr einfach, Grafana so zu konfigurieren, dass mehrere Geräte in einem Diagramm angezeigt werden. Das diesem Schritt beigefügte Bild zeigt, was zu tun ist. Klicken Sie einfach auf das +-Zeichen in der zeilenweisen Gruppe und wählen Sie Tag (Gerät) aus. Ganz unten bei Alias By geben Sie $tag_device ein. Sie sollten jetzt mehrere Reihen in einem Diagramm sehen. Sie können auf den Text jedes Elements klicken, um es ein- und auszuschalten (Strg-Klick funktioniert, um mehrere auszuwählen).
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
Anleitung für Raspberry Pi Gaming Emulator: 7 Schritte
Raspberry Pi Gaming Emulator Anleitung: Jeder liebt es zu spielen. Auch wenn wir ernsthafte Arbeit leisten. Und das ist natürlich, denn jeder verdient Ruhe, Freizeit oder Freizeit. Und natürlich können wir uns kaum weigern, unser Lieblingsspiel gespielt zu haben. Ich erinnere mich an die Zeit, als ein Typ
Anfängerleitfaden für Raspberry Pi: 6 Schritte (mit Bildern)
Anfängerleitfaden für Raspberry Pi: Ich arbeite seit geraumer Zeit mit Arduino. Es ist einfach, billig und erledigt die Arbeit. Aber in letzter Zeit tendiere ich mehr zu IoT-Projekten. Also begann ich mit dem ESP-Entwicklungsboard und es funktionierte perfekt. Aber jetzt möchte ich in Richtung
Hutschienenhalterung für Raspberry Pi 4: 7 Schritte
Hutschienenhalterung für Raspberry Pi 4: Manchmal ist es sinnvoll, Ihr Raspberry Pi 4 basiertes Projekt dauerhaft in einem Schaltschrank zu montieren - zum Beispiel in der Hausautomation oder industriellen Anwendungen. In solchen Fällen hilft Ihnen unser RasPiBox Gehäuse-Set für Raspberry Pi A+, 3B+ und 4B
Tox & Toxygen für den Raspberry Pi 3: 5 Schritte
Tox & Toxygen für den Raspberry Pi 3: In dieser Anleitung erfahren Sie, wie Sie Toxygen auf Raspberry Pi 3 installieren und verwenden. Aber zuerst sprechen wir über Tox.Tox ist eine verschlüsselte Art zu sprechen und laut seiner Website "A New Kind" von Instant Messaging. Ob Konzerne oder Regierungen