RaspiLab Wetterstation sechste Mission Druck messem mit dem BMP280

Sei die erste, die diesen Beitrag teilt.

Das ist die sechste von sieben Missionen in einem dreistündigen Program für Schüler mit ihren Lehrern. Ziel des Programms ist, Schüler dazu fit zu machen, dass sie eine Wetterstation aufzubauen können. Die sechste Mission behandelt die Luftdruckmessung mit dem Bosch-Sensor BMP280.

BMP280

Der Sensor BMP280 ist ein Barometer und kann den Luftdruck und auch Temperaturen messen. Der BMP280 verwendet den sogenannten I2C-Bus. Es gibt einen (teureren) Sensor BME280, der auch die Luftfeuchtigkeit messen kann.

Schaltplan

Abb. 11 zeigt die Beschaltung des BMP280. Der BMP280 benötigt keinen Pull-Up-Wiederstand.

Abb. 11: Die Anschlüsse des Drucksensors BMP280

Achtung: In Abb. 12 finden Sie den BMP180. Je nach Ausführung des BMP208 liegen die Anschlüsse an anderer Stelle. Passen Sie entsprechend an.

Abbildung 12: Verkabelung des Raspberry Pi mit dem Drucksensor BMP280

Breadboard Verkabelung

Sensor in B30, B31, B32, B33, B34 und B35
Jumperkabel A32 zu Pin 3 (I2C SDA)
Jumperkabel A33 zu Pin 5 (I2C SCL)
Jumperkabel A34 zu Pin 6 (Ground)
Jumperkabel A35 zu Pin 1 (3.3 V)

Vorbereiten des Raspberry Pi für die Druckmessung

Schritt 1 (I2C Bus einstellen)

a Konfigurationsmenü aufrufen mit dem Befehl

sudo raspi-config

b Wählen Sie den Unterpunkt 5 Interfacing Options aus
c Wählen Sie den Unterpunkt 5 I2C aus und Bestätigen Sie.
Schritt 2: Führen Sie einen Neustart des Raspberry Pi durch:

sudo reboot

Schritt 3: Installieren Sie die praktischen I2C-Tools und testen Sie mit dem Befehl i2cdetect, ob der Sensor erkannt wurde.
a Installation der I2C-Tools und der I2C-Untestützung für Python mit

apt-get update
apt-get install i2c-tools
apt-get install python-smbus

Dann Test mit

i2cdetect -y 1

Die Ausgabe sollte wie folgt aussehen:

0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --

Schritt 3: Laden Sie eine Bibliothek für den Sensor mit dem Befehl wget

wget -O bme280.py http://bit.ly/bme280py

Überprüfen Sie mit

nano bme280.py

ob in der Datei bme280.py die richtige DEVICE-Adresse eingetragen ist. Die Zeile

DEVICE = 0x76 # Default device I2C address

sollte die mit i2cdetect ermittelte Zahl (hier 0x76) adressieren. Ggf. ändern Sie das.

Das Programm für die Druckmessung erstellen

Schritt 1: Erstellen Sie das Programm mit nano
nano sensorbmp280.py
Schritt 2: Fügen Sie den Inhalt des Quellcodes ein.

#!/usr/bin/python
import bme280
#Messdaten Holen
temperatur,druck, x = bme280.readBME280All()
print "Temperatur : ", temperatur, "C"
print "Druck: ", druck, "hPa"

Schritt 3: Geben Sie Ihren Script Rechte mittels des folgenden Befehls:

sudo chmod 777 sensorbmp280.py

Schritt 4: Testen Sie Ihr Script mit den folgenden Befehl:

./sensorbmp280.py