
Mesurer notre consommation d’électricité avec un Raspberry Pi
Continuons avec des documents sur les choses curieuses que nous pouvons faire avec un Raspberry Pi, Quelque chose de très simple à réaliser est par exemple de mesurer la consommation d’électricité de ce que nous voulons, Dans ce document, nous allons voir comment connecter des capteurs de courant non invasifs à un Raspberry Pi et mesurer le coût de notre maison, puisque nous le connecterons au panneau électrique de notre maison! Nous allons exporter les métriques vers une base de données MySQL, puis avec Grafana, nous allons créer un tableau de bord où nous pouvons voir de manière très intuitive ce que nous dépensons et combien!
Pas mal, De quoi avons-nous besoin pour continuer à surveiller ou à donner une touche de domotique à notre maison? Personnellement, la chose la moins chère que j’ai trouvée et c’est intéressant, c’est de mettre un peu de HAT sur la framboise, Je vous recommande du fabricant Chacal puisqu’il dispose de différents HAT qui répondront à tous nos besoins, puisque nous pouvons les connecter à partir de 1 Capteur non intrusif jusqu’à 8, cela dépend du HAT que l’on veut, Bien sûr, plus vous acceptez de capteurs, plus ils sont chers, mais je pense que le prix est plus qu’abordable, aller… Et si nous voulons mettre plus de capteurs non intrusifs, nous montons autant de HAT que nécessaire, les uns sur les autres! Ainsi:
Je vous recommande de consulter cette liste de capteurs afin que chacun puisse prendre celui qui l’intéresse le plus: http://lechacal.com/wiki/index.php/Main_Page
Le moins cher, pour 3 Capteurs, quelques 12 Livres: http://lechacal.com/wiki/index.php/RPICT7V1_v2.0. N’oubliez pas lors de l’achat que le sortie au format CSV, Vous le verrez lorsque vous l’achèterez, mais gardez-le à l’esprit!
Ensuite, il serait nécessaire d’acquérir autant de capteurs non intrusifs que nécessaire: SCT-013-000. Nous les avons sur le même site Web ou sur Amazon ou eBay pour environ 4 € chacun.
Nous connecterons ensuite le HAT au Raspberry Pi et les capteurs dont nous disposons; Dans les pinces des capteurs, nous prendrons en compte le passage d’un seul câble, hé! Et rien, avec cela, nous pourrons connaître la consommation en Watts (W) Qu’est-ce que chaque chose fait ?’ que nous avons pincé. Nous pouvons mesurer à partir de n’importe quel appareil électrique, ainsi que ce qui a été dit, Mettez-le sur le panneau électrique de la maison et mesurez la consommation à partir de là, si nous l’avons bien étiqueté, il ne nous sera pas difficile de mesurer la consommation générale ou celle de l’éclairage, Consommation des prises, du réfrigérateur, four, machine à laver, Verseau… Qu’est-ce que je sais!
Avec cette commande, nous serons en mesure de connexion par série au HAT Et voyez ce qu’il crache. Vous verrez qu’en fonction du HAT que vous avez acheté, vous pourrez voir le, tension ou température, C’est ce que cette commande vous crachera séparé en virgules.
[Code source]stty -F /dev/ttyVitesse brute AMA0 38400
chat /dev/ttyAMA0[/Code source]
Maintenant, Ce que nous ferons, c’est Traitez ces sorties (au format CSV), Dans mon exemple, si vous regardez, il renvoie les watts de 7 Capteurs non intrusifs, Chacun d’entre eux, je l’ai connecté à un câble de mon panneau électrique, Lorsque vous voyez le code, vous verrez quels courants je mesure (Généralités, Prises de poêle, Lave-vaisselle et machine à laver, Éclairage, le four et la plaque vitrocéramique, et prises. Ensuite, j’exporte ces informations vers une table que j’ai précédemment créée dans MySQL, Ainsi nous aurons besoin d’avoir MySQL installé sur une machine (ou l’installer sur le Pi lui-même) et nous allons créer la base de données et la table que nous voulons y, Je vous donne mon exemple qui a une colonne pour chaque capteur:
[Code source]CRÉER UNE TABLE 'Ordinaire' (
'general' FLOAT NULL PAR DÉFAUT NULL,
'stoves' FLOAT NULL DEFAULT NULL,
'lavavajillas_lavadora' FLOAT NULL VALEUR NULLE PAR DÉFAUT,
'lighting' FLOAT NULL DEFAULT NULL,
'horno_vitro' FLOAT NULL VALEUR NULLE PAR DÉFAUT,
'plugs' FLOAT NULL DEFAULT NULL,
'date' horodatage non null CURRENT_TIMESTAMP PAR DÉFAUT LORS DE LA MISE À JOUR CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
MOTEUR=InnoDB
;[/Code source]
Et rien, Maintenant, nous n’avons plus qu’à avoir ce merveilleux script en python qui remplira la Table 'Flux’ de notre base de données! Nous avons créé un tel scénario:
corriente.py
[Code source]#!/usr/bin/python
Importer en série
Importer urllib
Importer JSON
importer MySQLdb
ser = série. Feuilleton('/dev/ttyAMA0', 38400)
Réponse = ser.readline()
z = réponse.split(",")
Si Len(z)>=7:
print "Général: %s Watts" % z[0]
print "Fourneaux: %s Watts" % z[1]
imprimer "Lave-vaisselle et machine à laver: %s Watts" % z[2]
imprimer "Éclairage: %s Watts" % z[3]
print "Four & Vitro: %s Watts" % z[4]
print "Bouchons: %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 »,« racine »,« xxxxxx »,« NOMBRE_BASE_DATOS »)
curseur = db.cursor()
curseur.exécuter(« ""INSERT INTO stream (Généralités,Poêles,lavavajillas_lavadora,éclairage,horno_vitro,Prises) VALEURS (%s,%s,%s,%s,%s,%s) """, (general_valor,estufas_valor,lavavajillas_lavadora_valor,alumbrado_valor,horno_vitro_valor,enchufes_valor))
db.commit()[/Code source]
Et c’est tout! Il ne reste plus qu’à programmer ce script pour qu’il s’exécute avec l’intervalle qui nous intéresse, Courir ‘crontab -e‘ et on ajoute ce qui suit pour qu’il s’exécute par exemple toutes les minutes:
[Code source]* * * * * python /accueil/pi/corriente.py[/Code source]
Qu’est-ce que ce serait le Ginda pour finir? Eh bien, l’habituel, grâce à Grafana, Nous serons en mesure de travailler sur n’importe quelle donnée de manière super simple et rapide, comme dans cet exemple une table MySQL. Si vous n’avez pas monté Grafana, examinez Ce document, et après cela, vous pouvez créer un tableau de bord où vous ajouterez ce que vous voulez. En voici quelques exemples:
Graphique où nous ajoutons la métrique et je l’ai peinte pour nous, Dans ce cas, le Consommation des prises:
[Code source]SELECT enchufes comme valeur, "Prises" en tant que métrique, UNIX_TIMESTAMP(date) comme time_sec DE corriente OÙ $__timeFilter(date) Commander par time_sec ASC[/Code source]
Graphique où l’on ajoute la métrique de la Consommation d’éclairage:
[Code source]SELECT alumbrado comme valeur, "Éclairage" en tant que métrique, UNIX_TIMESTAMP(date) comme time_sec DE corriente OÙ $__timeFilter(date) Commander par time_sec ASC[/Code source]
Avec le plugin Singlestat, nous pouvons montrer par exemple le dépenses courantes de lal:
[Code source]SELECT général À partir de la commande actuelle par date desc limit 1[/Code source]
J’espère que vous l’avez trouvé utile, Soyez libre de le modifier et de le personnaliser selon vos besoins! Comme je vous le dis dans d’autres articles, J’utilise ces absurdités dans l’un de ces miroirs magiques ou MagicMirror, où je deviens belle le matin et j’ai quelques infos, Un jour, je vous raconterai tout, Mais pour l’instant, Petit à petit! Si vous êtes arrivé jusqu’ici, merci de m’avoir lu! et tous ceux que vous partagez sur les réseaux sociaux!