Nach dem ein Artikel von über die mobile Variante eines Feinstaubsensors in der C’t Ausgabe 1 / 2018 veröffentlich wurde (Vorschau C’t), knüpft die hier beschriebene Erweiterung mit dem BME280 Sensor genau an diesen Artikel an. Daher sind die in diesem Artikel beschriebenen Bibliotheken und Programme eine Voraussetzung um die folgende Beschreibung umsetzen zu können.

Ich habe mich für den BME280 Sensor von Adafruit entschieden da mir dieser von seiner Qualität sehr gut erschien. Natürlich gibt es im chinesischen Versandhandel wesentlich billigere Module zu kaufen aber wenn ich auch die Adafruit Bibliotheken einsetze, dann möchte ich auch Adafruit durch den Kauf des Adafruit Sensors unterstützen.

Auch bei Amazon kann man dieses Modell von Adafruit über den folgenden Link bestellen.

(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Das folgende Bild zeigt den mobilen Feinstaubsensor mit dem angeschlossenen BME280 Sensor von Adafruit.

Feinstaub Sensor SDS011 - BME280 Sensor

Feinstaub Sensor SDS011 – BME280 Sensor

Anschließen des BME280 Sensors

Sie benötigen vier Kabel um den BME280 Sensor mit dem Raspberry Pi verbinden zu können. Die folgende Tabelle zeigt wie die Kabel zwischen Raspberry Pi und Sensor gesteckt werden müssen.

Raspberry Pi BME280 Sensor
5 V VCC
GND GND
SDA SDI
SCL SCK

Software Installation BME280 Sensor

Hinweis: Die hier beschriebene Ergänzung für den mobilen Feinstaubsensor mit dem BME280 Sensor für Luftfeuchte, Luftdruck und Lufttemperatur Messungen setzt als Basis die Installation des Feinstaubsensors wie in der C’t 1 / 2018 beschrieben voraus. Die notwendigen von mir geschreibenen Python Programme sind auf meinem GitHub Account verfügbar und auf diese setzt die Beschreibung hier auf.

Zu nächst muss überprüft werden ob der I2C Bus am Raspberry Pi aktiv ist. Hierzu bitte den folgenden Befehl ausführen und im Menüpunkt Interfaces überprüfen ob der I2C Bus aktiv ist.

Befehl: sudo raspi-config

Damit die notwendige Software auch wirklich installiert ist um mit dem I2C Bus arbeiten zu können installieren Sie bitte die folgenden Pakete.

  • Befehl: sudo apt-get update
  • Befehl: sudo apt-get install build-essential python-pip python-dev python-smbus

Jetzt sollten Sie überprüfen, ob der Sensor auch gefunden wird auf dem I2C Bus. Dazu führen Sie den folgenden Befehl in dem Terminal Fenster aus. Der Sensor sollte mit der Adresse 77 angezeigt werden.

Befehl: i2cdetect -y 1

Wenn bei Ihnen der Sensor angezeigt wurde dann geht es im folgenden Abschnitt weiter mit der Installation der Adafruit Bibliothek.

Als erstes wird die Adafruit Bibliothek installiert mit der die Kommunikation via Python über die GPIO Pins erfolgt. Dazu führen Sie die folgenden Befehle einen nach dem anderen aus.

  • Befehl: git clone https://github.com/adafruit/Adafruit_Python_GPIO.git
  • Befehl: cd Adafruit_Python_GPIO
  • Befehl: sudo python setup.py install

Haben Sie das erfolgreich geschafft folgt jetzt die Installation der Adafruit Bibliothek für den BME280 Sensor. Diese erhalten Sie mit dem folgenden Befehl.

  • Befehl: git clone https://github.com/adafruit/Adafruit_Python_BME280.git

Jetzt haben Sie die notwendigen Voraussetzungen geschafft um auf den Sensor zugreifen zu können und die ersten Messwerte auslesen zu können.

Die Verkabelung des BME280 Sensors in meinem Feinstaubsensor sieht wie folgt aus. Noch bin ich mir nicht sicher wie ich den Sensor außerhalb des Gehäuses befestigen kann.

Feinstaub Sensor SDS011 - BME280 Sensor macro Aufnahme

Feinstaub Sensor SDS011 – BME280 Sensor macro Aufnahme

Test BME280 Sensor

Der Sensor kann auf Funktion ganz einfach mit dem von Adafruit mitgelieferten Beispielprogramm getestet werden. Dazu wechseln Sie in den Ordner “Adafruit_Python_BME280” in dem Verzeichnis in dem Sie die Bibliothek installiert haben. Dort führen Sie den folgenden Befehl aus.

  • Befehl: python Adafruit_BME280_Example.py

Sie sollten jetzt die Messwerte für Temperatur, Luftfeuchte und Luftdruck erhalten. Die Ausgabe solle wie folgt aussehen.

Feinstaub Sensor SDS011 - BME280 Sensor Testausgabe

Feinstaub Sensor SDS011 – BME280 Sensor Testausgabe

Python Programm web_feinstaub_bme280.py

Das Programm web_feinstaub_bme280.py habe ich auf meinen GitHub Account mit der dazu gehörigen HTML Datei veröffentlicht. Das Repository können Sie mit dem folgenden Befehl auf Ihren Raspberry Pi herunter laden.

Befehl: git clone https://github.com/custom-build-robots/Feinstaubsensor

Zusammenfassung

Dank der guten Beschreibung von Adafruit und der bereitgestellten Software ist es ein leichtes den BME280 Sensor an einem Raspberry Pi in Betrieb zu nehmen. Das mitgelieferte Beispielprogramm hilft einem beim Einstieg und der Entwicklung der eigenen Software sehr weiter. Auch kann man mit diesem die Funktion des Sensors direkt überprüfen.

Beitragsübersicht Feinstaubsensor SDS011

Ich finde die Diskussion rund um das Thema Feinstaub sehr spannend und habe mich daher mit einer Lösung beschäftigt mit der ich unterwegs die Feinstaubbelastung messen kann. Die nachfolgende Artikelübersicht fasst alle Beiträge von mir zusammen die ich geschrieben habe.


Feinstaub Sensor SDS011 - mobile Variante mit Datenaufzeichnung und GPS logging
Artikel auf heise.de: Der eigene Schmutzfänger - Feinstaub unterwegs messen und mit GPS-Daten aufzeichnen
Feinstaub Sensor SDS011 - Komponentenliste
Feinstaub Sensor SDS011 – Software Installation
Feinstaub Sensor SDS011 – BME280 Luftdruck, Luftfeuchte und Temperatur Sensor
(Visited 2.630 times, 1 visits today)