Messung des Atmosphärendrucks mit Raspberry Pi
Wenn wir den atmosphärischen Druck auf billige Weise kennen und überwachen wollen… Wie könntest du nicht… Das ist Ihr Dokument! Wir können es schnell mit einem Raspberry Pi und einem Sensor tun, der kaum über die 2 Euros! In diesem Beitrag sehen wir alle Schritte, die Sie benötigen, um dies zu erreichen, Auch wie immer… Wir werden die Messungen in einer MySQL-Datenbank speichern und dann die Werte dank Grafana mit schönen Grafiken visualisieren!
Wir werden einen kleinen BMP180 Luftdrucksensor verwenden, Damit können wir die Temperatur ermitteln, Luftdruck und sogar Höhe!
GPIO-Anbindung des BMP180 wäre denkbar einfach, wobei der Raspberry Pi offensichtlich ausgeschaltet ist, Wir verbinden uns von der BMP180 VCC-Verbindung mit dem Pin 1 (3.3v), GND zu einem Raspberry Pi Onshore Port, SCL zu Pin 5 (GPIO03) oder SCL1; und schließlich geht die SDA-Verbindung an den Pin 3 (GPIO02) oder Pi SDA1.
Wir gehen davon aus, dass wir einen funktionsfähigen Raspberry Pi mit installiertem Raspbian haben, wenn wir I2C-Verbindungen nicht aktiviert haben, Wir müssen es tun, indem wir
“sudo raspi-config” > Wir werden “Schnittstellen-Optionen”, Wir ermöglichen “I2C” und starten Sie den Raspberry Pi neu.
Und nun das wunderbare, Dank an Matt Hawkins, Wir können das Python-Skript herunterladen und ausführen, um die Daten abzurufen!!
[Quellcode]wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/bme280.py
Python-bme280.py[/Quellcode]
Wie wir sehen können, ist dieses Skript für den BME280, die auch einen Feuchtigkeitssensor haben würde, Das Skript wird vollständig unterstützt, So toll! Jetzt, wo ich sagte, Jeder muss die Daten so behandeln, wie er es möchte, wie gewöhnlich, Und wie Sie bereits wissen, Normalerweise erstelle ich eine geplante Aufgabe mit Cron, die das Skript ausführt und den atmosphärischen Druckwert in einer MySQL-Datenbank speichert, dann sehe ich die Daten mit Grafana Es ist sehr cool, wie ihr wisst! Wenn wir dies also am Ende des Skripts hinzufügen, können wir den atmosphärischen Druck in der DB speichern:
[Quellcode]SYS importieren
MySQLdb importieren
db = MySQLdb.connect("SERVIDOR_MYSQL","BENUTZER","PASSWORT","BASE_DE_DATOS")
cursor = db.cursor()
cursor.execute("""IN presion_atmosferica EINFÜGEN (Druck) WERTE (%s) """,( Druck))
db.commit()[/Quellcode]
Und wie immer, Falls Sie interessiert sind, füge ich den Text, den Sie benötigen, um die Tabelle zu erstellen, genau so ein, wie ich ihn habe, Aber es hat kein Geheimnis, Hat 2 Spalten, einer zum Speichern des Drucks und der andere zum Speichern des Datums (dass, wenn NULL nicht zugelassen wird, jedes Mal automatisch vervollständigt wird, wenn der Druckwert festgelegt wird):
[Quellcode]TABELLE 'presion_atmosferica' ERSTELLEN (
'pressure' FLOAT NULL DEFAULT NULL,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP BEI UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
ENGINE=InnoDB
ROW_FORMAT=KOMPAKT
;[/Quellcode]
Und fertig in Grafana, in einem Dashboard, das wir, super einfach, ein Diagramm-Panel hinzuzufügen und es nach Ihren Wünschen anzupassen, Ausgeben 5 Minuten, die Grafana super intuitiv ist, In meinem Fall habe ich einen MySQL-Konnektor, der eine Verbindung zur DB herstellt, und mit dieser Abfrage habe ich diesen coolen Graphen:
[Quellcode]SELECT Druck als Wert, "Druck" als Metrik, UNIX_TIMESTAMP(Datum) ALS time_sec VON presion_atmosferica, WO __timeFilter $(Datum) Sortieren nach time_sec ASC[/Quellcode]
Fertig!!! Ich hoffe, Sie finden es interessant! Den Luftdruck haben wir bereits überwacht! Perfekt für eine Wetterstation oder das? Erfolg!