
Mesure de la pression atmosphérique avec Raspberry Pi
Si nous voulons connaître et surveiller la pression atmosphérique de manière peu coûteuse… Comment pourriez-vous ne pas… Ceci est votre document! On peut le faire rapidement avec un Raspberry Pi et un capteur qui dépasse à peine le 2 Euros! Dans cet article, nous verrons toutes les étapes dont vous aurez besoin pour y parvenir, Aussi comme toujours… nous allons stocker les mesures dans une base de données MySQL puis nous visualiserons les valeurs avec de beaux graphiques grâce à Grafana!
Nous utiliserons un petit capteur de pression barométrique BMP180, avec lui, nous pouvons obtenir la température, pression atmosphérique et même altitude!
La connexion GPIO du BMP180 serait très simple, avec le Raspberry Pi visiblement éteint, nous nous connectons à partir de la connexion VCC BMP180 à la broche 1 (3.3v), GND vers un port onshore Raspberry Pi, SCL à épingler 5 (GPIO03) ou SCL1; et enfin la connexion SDA ira à l’épingle 3 (GPIO02) ou Pi SDA1.
Nous comprenons que nous avons un Raspberry Pi fonctionnel avec Raspbian installé, si nous n’avons pas activé les connexions I2C, Nous devons le faire en exécutant
“sudo raspi-config” > Nous allons “Options d’interfaçage”, Nous permettons “I2C” et redémarrer le Raspberry Pi.
Et maintenant, le merveilleux, merci à Matt Hawkins, nous pouvons télécharger son script Python et l’exécuter pour obtenir les données!!
[Code source]wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/bme280.py
Python bme280.py[/Code source]
Comme nous pouvons le voir, ce script est pour le BME280, qui aurait également un capteur d’humidité, Le script est entièrement pris en charge, Tellement génial! Maintenant que j’ai dit, Chacun doit traiter les données comme il l’entend, comme d'habitude, Et comme vous le savez déjà, Ce que je fais habituellement, c’est créer une tâche planifiée avec cron qui exécute le script et stocke la valeur de la pression atmosphérique dans une base de données MySQL, puis je vois les données avec Grafana C’est très cool comme vous le savez! Donc, si nous ajoutons cela à la fin du script, nous pourrons stocker la pression atmosphérique dans la base de données:
[Code source]Importer sys
importer MySQLdb
db = MySQLdb.connect(« SERVIDOR_MYSQL »,« UTILISATEUR »,« MOT DE PASSE »,« BASE_DE_DATOS »)
curseur = db.cursor()
curseur.exécuter(« ""INSÉREZ DANS presion_atmosferica (Pression) VALEURS (%s) """,( pression))
db.commit()[/Code source]
Et comme toujours, Au cas où vous seriez intéressé, je vais coller le texte dont vous avez besoin pour créer le tableau exactement comme je l’ai, Mais il n’y a pas de mystère, A 2 Colonnes, l’un pour stocker la pression et l’autre la datte (qu’en n’autorisant pas NULL, il se termine automatiquement chaque fois que la valeur de pression est définie):
[Code source]CRÉER LA TABLE 'presion_atmosferica' (
'pressure' 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
ROW_FORMAT=COMPACT
;[/Code source]
Et prêt à Grafana, dans un tableau de bord que nous avons, super facile d’ajouter un panneau de type Graph et de le personnaliser à votre guise, Dépenser 5 minutes que Grafana est super intuitif, dans mon cas, j’ai un connecteur MySQL qui se connecte à la base de données et avec cette requête, j’ai ce graphique sympa:
[Code source]SELECT pression comme valeur, « La pression" en tant que métrique, UNIX_TIMESTAMP(date) COMME time_sec DE presion_atmosferica OÙ __timeFilter $(date) Commander par time_sec ASC[/Code source]
Prêt!!! J’espère que vous le trouverez intéressant! Nous avons déjà surveillé la pression atmosphérique! Parfait pour une station météo ou qui? Succès!