Startseite>Mit dem BMP180 Luftdruck und Temperatur erfassen
Aus Raspberry Pi Geek 05/2015

Mit dem BMP180 Luftdruck und Temperatur erfassen

© Tomwang, 123RF

Gute Aussichten

Martin Mohr

Ein Kernel-Modul vereinfacht den Zugriff auf den Sensor BMP180. So erfassen Sie mit einem Shell-Kommando Temperatur und Luftdruck.

Der digitale Sensor BMP180 für Luftdruck und Temperaturen ist für ein breites Einsatzspektrum konzipiert. Er eignet sich zur Vorhersage des Wetters und als Zusatz für Navigationssysteme. Der ab Werk kalibrierte Baustein gibt die Messwerte im Klartext aus. Er meldet sich am I2C-Bus unter der Adresse 0x77h. Da er über keine zusätzlichen Möglichkeiten zum Einstellen der Adresse verfügt, dürfen Sie nur einen dieser Bausteine pro Bus betreiben. Der Messbereich des BMP180 reicht von 300 bis 1100 hPa, bei einer maximalen Auflösung von 0,02 hPa – das bedeutet, dass der Chip Höhenunterschiede von 17 Zentimeter zu erfassen vermag.

Physik und Meteorologie

Um die Daten richtig zu interpretieren, lohnt es sich, genau zu hinterfragen, worum es sich beim Luftdruck genau handelt und welche Schlüsse ein ermittelter Wert zulässt.

Im Allgemeinen ist der Luftdruck der Druck, den die vorhandene Menge an Luft über Ihnen auf Sie ausübt. Da Luft ein leichtes Medium ist, spüren Sie im täglichen Leben davon nicht viel. Ändert er sich aber schnell, wenn Sie mit einem Auto den Berg hochfahren oder sich mit einem Fahrstuhl bewegen, spüren Sie dies in der Regel in den Ohren. Der Luftdruck nimmt ab, je höher Sie sich bewegen. Das liegt daran, dass die Menge an Luft abnimmt. Das wiederum ermöglicht es, Rückschlüsse auf die aktuelle Höhe zu ziehen. Dabei beziehen sich die Messungen auf Normalhöhennull (NHN), abgeleitet vom Pegel Amsterdam, also letztlich dem Meeresspiegel.

Der durchschnittliche Luftdruck auf Normalhöhennull beträgt 1013,25 hPa. Mit steigender Höhe nimmt der Luftdruck leicht exponentiell ab. Die Tabelle “Luftdruck in der Höhe” zeigt zu einigen Höhen den entsprechenden Druck. Dies genügt, um abzuschätzen, ob der Sensor den Luftdruck korrekt misst.

Luftdruck in der Höhe

Höhe

Luftdruck (%)

Luftdruck (hPa)

Anmerkung

-425

105,6

1070,10

Totes Meer

0

100

1013,25

Meeresspiegel

500

93,8

950,30

Augsburg

1000

88,0

891,20

Neustift (Tirol)

1500

82,5

835,80

San Pellegrino in Alpe (Italien)

2000

77,4

783,80

Chandolin (Wallis, Schweiz)

2962

68,4

692,80

Zugspitze

4810

53,9

546,52

Mont Blanc

8848

32,1

325,40

Mount Everest

20 000

7,7

77,8

Stratosphäre

100 000

0,00027

0,27

Kármán-Linie (“Weltraum”)

Quelle: Wikipedia-Eintrag “Luftdruck” (deutsch)

Der BMP180 ermittelt den tatsächlichen Luftdruck am Messort. Auf dem heimischen Barometer oder der Wetterkarte im Internet sehen Sie in der Regel einen anderen Wert: Das liegt daran, dass diese den Luftdruck zur leichteren Vergleichbarkeit auf den Wert auf Meereshöhe umrechnen – Listing 1 zeigt die Faustformel dazu. Sie geht davon aus, dass sich der Luftdruck je 8,5 Meter mehr Höhe über Normalhöhennull um 1 hPa verringert – üblicherweise eine gute Näherung an den tatsächlichen Wert.

Listing 1

 

Luftdruck_NHN = Messwert_BMP180+(Höhe_über_NHN/8,5)

In der Meteorologie kommt der Luftdruck zum Einsatz, um Vorhersagen zu erstellen. In Bereichen mit erhöhtem Luftdruck – den beliebten Hochdruckgebieten – lösen sich Wolkenformationen auf, die Sonne bricht durch. Tiefdruckgebiete dagegen erzeugen eher schlechtes Wetter. So ist es möglich, aus dem Luftdruck einige Stunden im Voraus darauf zu schließen, wie sich das Wetter vermutlich entwickelt. Um eine tragfähige Vorhersage zu erstellen, brauchen Sie allerdings sehr viele solcher Messungen an verschiedenen Stellen.

Hardware

Bis jetzt ging es ausschließlich um die Theorie, um eine Vorstellung zu entwickeln, was der Sensor anzeigen müsste. Nun geht es an die praktische Umsetzung: Da der Sensor selbst eine für Bastler eher unhandliche Bauform hat, besorgen Sie sich am einfachsten ein fertig aufgebautes Modul. Zwar führen die großen Versandhändler diese speziellen Bausteine eher nicht, der Online-Händler Ex-store.de hat sie aber im Sortiment [1].

Abbildung 1 zeigt den recht einfachen Aufbau. Sie schließen den Sensor so an, wie er beschriftet ist. Dabei müssen Sie lediglich auf die korrekte Betriebsspannung achten, zwischen 1,6 und 3,6 Volt. Das passt ausgezeichnet zur GPIO des Raspberry, die mit 3,3 Volt arbeitet.

Abbildung 1: Ein erster Aufbau mit dem Luftdrucksensor fällt sehr übersichtlich aus.

Abbildung 1: Ein erster Aufbau mit dem Luftdrucksensor fällt sehr übersichtlich aus.

I<+>2<+>C einrichten

Um den I2C-Bus des RasPi zu aktivieren, laden Sie die entsprechenden Treiber. Das klappt mit dem entsprechenden Menüpunkt in raspi-config nicht, weshalb Sie die notwendigen Schritte manuell vornehmen. Dazu editieren Sie zunächst als root die Datei /etc/modules und fügen ihr die beiden Zeilen aus Listing 2 hinzu. Danach schreiben Sie, ebenfalls mit administrativen Rechten, die zwei Zeilen aus Listing 3 in die Datei /boot/config.txt.

Listing 2

 

i2c-bcm2708
i2c-dev

Listing 3

 

dtparam=i2c1=on
dtparam=i2c_arm=on

Nun aktualisieren Sie die Software auf dem RasPi und installieren die I2C-Tools (Listing 4, Zeile 1 bis 3). Anschließend nehmen Sie noch den Benutzer pi in die Gruppe i2c auf (Listing 4, Zeile 4): So benötigen Sie später nicht immer Root-Rechte, wenn Sie auf den Bus zugreifen wollen. Zu guter Letzt booten Sie den RasPi noch einmal und überprüfen dann, ob sich der BMP180 ordnungsgemäß am Bus angemeldet hat. Im Test funktionierte das auf Anhieb (Listing 5).

Listing 4

 

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install i2c-tools
$ sudo adduser pi i2c
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland