Raspberry Pi DIY Wetterstation – Luftdrucksensor
Zuletzt fügen wir der Wetterstation noch einen Luftdrucksensor hinzu. Der Luftdruck hat meiner Meinung nach auf das Raumklima den geringsten Einfluss. Da ich von dem Sensor zwei unterschiedliche Modelle besitze bietet sich die Messung und Speicherung der Daten an.
Raspberry Pi DIY Wetterstation – Luftdrucksensor
Auch bei dem Luftdruck gibt es zahlreiche Fragen die wir aus den Daten hoffentlich klären können. Wie stark wirkt sich der Luftdruck außerhalb auf den vom Raum aus? Wie steht diese Veränderung mit dem gemessenen Klima im Einklang, wo gibt es signifikante Messwerte?
BMP085 Luftdrucksensor
Für meine DIY Wetterstation verwende ich den BMP085 Sensor. Ich habe euch in meinem Blog bereits früher die beiden Luftdrucksensoren BMP085 und BMP180 vorgestellt. Diese Sensoren verhalten sich gleich, der Unterschied ist nur in der Genauigkeit der Messwerte zu suchen. Der große Unterschied zu den bereits vorgestellten Temperatur- und Luftfeuchtigkeitssensoren ist die Art der Datenübermittlung. Der Luftfeuchtigkeitssensor ist ein I2C Gerät, welcher über 2 Datenleitungen mit dem Raspberry Pi I2C Datenbus verbunden ist. Die beiden Leitungen sind:
- SCL (Taktleitung)
- SDA (Datenleitung)
Der Datenbus ist also ein getakteter, über diesen können sehr viele I2C Sensoren (über 1000 Stück) angeschlossen werden. Um diesen Bus zu verwenden muss man am Raspberry Pi I2C aktivieren. Die dazugehörige Einstellung findet sich in den Optionen:
Der Sensor wir auf dem Steckbrett verbaut und wie bei den anderen Sensoren zuvor an die Stromversorgung angeschlossen. Der BMP085 Sensor ist auf der Rückseite gut beschriftet. Dank dieser ist die Pinbelegung auf der ersten Blick klar. Die Spannungsversorgung passiert über die beiden äußeren Pins VCC für +5 Volt und GND. Von den restlichen Pins benötigen wir nur SDA und SCL welche für den I2C Datenbus benötigt werden.
Die Verkabelung ist im folgenden Bild ersichtlich. Ich habe mich für I2C für ein weißes und ein graues Kabel entschieden.
Software
Für den Luftdrucksensor gibt es wie schon für den Feuchtigkeitssensor eine Python Bibliothek von Adafruit. Details zum Setup und zur Installation der Adafuit Bibliothek sind aus meinem Luftdruck messen Artikel zu entnehmen.
Die Messwerte werden unter Python recht einfach über folgende Codezeilen abgefragt und in Variablen gespeichert:
# pressure and humidity from bmp085 sensor sensor = BMP085.BMP085() sensor_bmp085_temperature = format(sensor.read_temperature()) sensor_bmp085_pressure = format(sensor.read_pressure() * 0.01) # Pa to hPa
Man beachte, dass ich auch hier neben dem Luftdruck auch die Temperatur abfragen kann. Auch dieser Sensor stellt einen Temperaturwert bereit. Da der Luftdruck in Pascal kommt, ich ihn aber zum Vergleich mit einem weiteren Messwert (siehe dazu den nächsten Artikel) in hPA brauche wandeln wir den Wert um. Wir speichern die Werte zur weiteren Verarbeitung in den Variablen sensor_bmp085_temperature und sensor_bmp085_pressure.
Am Anfang vom Script muss man dazu die Bibliothek noch importieren:
import Adafruit_BMP.BMP085 as BMP085
Fazit
Ich habe euch gezeigt wie man den BMP085 Sensor für den Luftdruck mit dem Raspberry Pi verkabelt. Dieses I2C Gerät wird über den I2C Bus abgefragt. Im Software Teil habe ich noch kurz gezeigt wie einfach man die Werte dank der Python Bibliothek auslesen kann. Im nächsten Artikel werden wir uns nun noch Wetterdaten über eine API holen. Diese dienen später zum Vergleich.