Unseren Stromverbrauch mit einem Raspberry Pi messen

Folgende Dokumente neugierig Dinge, die wir tun können, mit einem Raspberry Pi, etwas sehr einfach zu erreichen ist, zum Beispiel den Stromverbrauch zu messen, was wir wollen, Die in diesem Dokument werden wir sehen, wie man zu einem Raspberry Pi einen nicht-invasiven Sensoren und Messstrom verbrachte unsere Heimat verbinden, da das elektrische Feld unserem Haus zu verbinden! Metrics wird eine MySQL-Datenbank exportieren und dann Grafana ein Panel schaffen, in dem wir eine sehr intuitive Art und Weise zu sehen und wie viel wir ausgeben!

 

gut, Was brauchen wir einen Hauch von Heimautomation zu uns nach Hause zu überwachen oder das Hinzufügen fortzusetzen? Persönlich fand ich die wirtschaftlichste und interessant, Es ist ein kleiner Hut aufzusetzen Himbeere, Ich empfehle den Hersteller LeChacal weil es anders Hut hat, die in jeder erdenklichen Bedürfnisse erfüllen, weil ihnen können wir sie verbinden von 1 eingriffsfreien Sensor 8, wir wollen, dass es auf der ETS hängt, Lichtsensoren akzeptieren zunehmend teurer, aber ich denke, der Preis mehr als akzeptabel ist, gehen… Und wenn wir setzen mehr eingriffsfreien Sensoren so viele zusammenstellen, wie wir HAT übereinander brauchen! so:

 

Ich empfehlen Ihnen diese Liste der Sensoren auf einem wackeligen jeder, der Sie interessiert: http://lechacal.com/wiki/index.php/Main_Page

billigste, für 3 Sensoren, einige 12 Pfund: http://lechacal.com/wiki/index.php/RPICT7V1_v2.0. Denken Sie daran, beim Kauf, dass Ausgang Meer en formato CSV, und Sie werden es sehen, wenn Sie es kaufen, aber dies berücksichtigen!

Dann würden wir so viele erwerben, wie wir brauchen, nicht-intrusive Sensoren: SCT-013-000. Wir haben sie auf der gleichen Seite oder auf Amazon oder eBay für ca. 4 € je.

 

Seit dem HAT verbindet das Raspberry Pi und Sensoren, die haben; in den Klammern der Sensoren berücksichtigen nur ein Kabel zu verbringen, eh! und nichts, damit können wir den Verbrauch in Watt kennen (W) was bedeutet each ‚Was‘ wir haben erstickt. Wir können Elektrogerät cualquer messen, und ich sagte:, setzen diese in der Heimat elektrische Platte und den Verbrauch messen von dort, wenn wir gut Kennzeichnung, Es kostet uns nicht Verbrauch Allgemeine oder die Beleuchtung zu messen, Verbrauchsstellen, Kühlschrank, Backofen, Waschmaschine, Aquarium… ich weiß,!

 

Mit diesem Befehl können wir durch den Anschluss Serie ETS und sehen, was spuckt. HAT sehen, dass je nachdem, welche Sie erworben haben Sie die aktuelle sehen, Spannung oder Temperatur, was es ist, was ich dieses separaten Befehl Kommas spucken.

stty -F /dev/ttyAMA0 raw speed 38400
cat /dev/ttyAMA0

 

jetzt, wie wird Behandeln Ausgänge esos (ein formato CSV), in meinem Beispiel sehen, wenn Sie Watt zurückkehren 7 Nicht-intrusive Sensoren, jeder von ihnen hat ein Kabel an meinen Schalttafel verbunden, den Code zu sehen, Sie werden sehen, dass ich Ströme messen (Allgemeines, Stecker eine Herde, die Geschirrspülmaschine und Waschmaschine, die Beleuchtung, Backofen und Herd, und Stecker. Dann exportiert diese Informationen zu einer Tabelle, die in MySQL zuvor erstellt haben, so Wir brauchen MySQL haben auf einer Maschine installiert (oder installieren Sie es auf Pi selbst) und dann schaffen wir die Datenbank und Tabelle, die wir wollen, Ich gebe mein Beispiel eine Spalte für jeden Sensor:

CREATE TABLE `corriente` (
`general` FLOAT NULL DEFAULT NULL,
`estufas` FLOAT NULL DEFAULT NULL,
`lavavajillas_lavadora` FLOAT NULL DEFAULT NULL,
`alumbrado` FLOAT NULL DEFAULT NULL,
`horno_vitro` FLOAT NULL DEFAULT NULL,
`enchufes` FLOAT NULL DEFAULT NULL,
`fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;

 

und nichts, Jetzt haben wir nur diese wunderbare Python-Skript, das wir Tabelle stopfen ‚Strom‘ unserer Datenbank! Erstellen Sie das Skript:

corriente.py

#!/usr/bin/python
import serial
import urllib
import json
import MySQLdb

ser = serial.Serial('/dev/ttyAMA0', 38400)

response = ser.readline()
z = response.split(",")
if len(z)>=7:
 print "General: %s Watts" % z[0]
 print "Estufas: %s Watts" % z[1]
 print "Lavavajillas y Lavadora: %s Watts" % z[2]
 print "Alumbrado: %s Watts" % z[3]
 print "Horno y vitro: %s Watts" % z[4]
 print "Enchufes: %s Watts" % z[5]

general_valor=z[0]
estufas_valor=z[1]
lavavajillas_lavadora_valor=z[2]
alumbrado_valor=z[3]
horno_vitro_valor=z[4]
enchufes_valor=z[5]

db = MySQLdb.connect("localhost","root","xxxxxx","NOMBRE_BASE_DATOS")
cursor = db.cursor()

cursor.execute("""INSERT INTO corriente (general,estufas,lavavajillas_lavadora,alumbrado,horno_vitro,enchufes) VALUES (%s,%s,%s,%s,%s,%s) """, (general_valor,estufas_valor,lavavajillas_lavadora_valor,alumbrado_valor,horno_vitro_valor,enchufes_valor))
db.commit()

 

und bereit! Was bleibt, ist dieses Skript zu planen mit dem Intervall laufen, die uns interessiert, Lauf ‚crontab-‚ und fügen Sie die folgende beispielsweise ausgeführt werden jede Minute:

* * * * * python /home/pi/corriente.py

 

es würde die Ginde zu beenden? Nun wie gewohnt, dank Grafana, Wir können super einfach und schnell alle Daten zu arbeiten,, wie in diesem Beispiel eine Tabelle MySQL. Wenn Sie montiert Grafana Überprüfung dieses Dokument, und danach, Sie können ein Dashboard erstellen, wo Sie hinzufügen, was Sie wollen. Sie treten Beispiele:

Diagramm, in dem wir die Metrik und die Farbe hinzufügen, in diesem Fall wird die Verbrauchsstellen:

SELECT enchufes as value, "Enchufes" as metric, UNIX_TIMESTAMP(fecha) as time_sec FROM corriente  WHERE $__timeFilter(fecha) order by time_sec asc

In Graphen, wo Metriken Beleuchtung Verbrauch:

SELECT alumbrado as value, "Alumbrado" as metric, UNIX_TIMESTAMP(fecha) as time_sec FROM corriente  WHERE $__timeFilter(fecha) order by time_sec asc

Mit der Singlestat Plugin können wir zeigen, zum Beispiel, Die laufenden Ausgaben General:

SELECT general FROM corriente order by fecha desc limit 1

 

Ich hoffe, Sie haben hilfreich, frei zu modifizieren und personalizaroslo als necesitéis! Wie ich bereits in anderen Beiträgen ich sage, Diese ditties of'm mit einem Spiegel dieser magischen oder Magicmirror, wo ich einen ansehnlichen Morgen und ein paar Informationen haben, ich eines Tages werden Sie alles erzählen, aber jetzt, nach und nach! Wenn Sie so weit gekommen sind, vielen Dank für das Lesen! und an alle, die gemeinsam in sozialen Netzwerken!

 

Hector Herrero
Letzte Artikel von Hector Herrero (Alle anzeigen)