Ingenieure von Morgen Robotik Kinder
Intuitiver Einstieg Arduino programmieren
Für Tüftler Elektrobaukästen
Exploratives Lernen Raspberry Pi

Raspberry Pi Wetterstation – Tutorial in 4 Schritten

Veröffentlicht: . Geändert: .
Raspberry Pi Wetterstation – Ein Tutorial

Du möchtest eine Wetterstation mit Deinem Raspberry Pi selber bauen, weißt aber nicht, wie das genau funktioniert? Dann bist Du bei uns genau richtig! Denn unser Artikel verrät Dir, wie Du in vier Schritten aus der kleinen Platine eine digitale Messstation zusammenbaust. Falls dieses Tutorial Dein Tüftlerherz entfacht, findest Du in unserer Rubrik Raspberry Pi zahlreiche Anregungen für Dein nächstes Projekt. Doch jetzt erklären wir Dir erstmal, wie Du Deinen Raspberry Pi in eine Wetterstation verwandelst.

Raspberry Pi Wetterstation – Das digitale Messgerät 

Eine Wetterstation mit dem Raspberry Pi einzurichten, klingt auf den ersten Blick ziemlich kompliziert. Doch der Pi lässt sich mithilfe der GPIO-Schnittstelle sehr einfach mit elektronischen Bauteilen verbinden und in eine kleine Messstation verwandeln. Somit hast Du bei der nächsten Hitzewelle die steigenden Temperaturen im Klassenraum genau im Blick. Denn ab einer Raumtemperatur von mehr als 27°C stehen die Chancen gar nicht mal so schlecht, dass Du früher nach Hause gehen darfst. Das Bauen einer Messstation kann also nicht schaden. Die hier vorgestellte Wetterstation besteht aus einem Thermometer, einem Barometer und einem Hygrometer. Dabei lassen sich alle Daten ganz einfach mit dem Handy abfragen. Du siehst: Coding kann richtig viel Spaß machen. Falls Du noch tiefer in die Materie einsteigen möchtest, kannst Du gerne in unserem Computerkurs vorbeischauen.

Die erforderlichen Bauteile

Du brennst dafür Deine eigene Wetterstation mit dem Raspberry Pi zu erstellen, hast aber noch nie mit der Platine gearbeitet? Keine Sorge! Um Deine eigene Messstation zu entwerfen, benötigst Du nur wenige Bauteile. Die meisten findest Du im Baumarkt oder kannst sie ganz einfach im Internet bestellen. Denn schließlich wurde die Platine für einfache DIY-Projekte entwickelt. Um Deinen Raspberry Pi in eine Wetterstation zu verwandeln, brauchst Du folgende Bauteile:

  • Einen Raspberry Pi 4 mit Raspberry Pi OS
  • Einen Sensor BME280
  • Ein Breadboard mit Verbindungskabeln
Raspberry Pi Wetterstation – Die Bauteile
Abb. 1: Die Bauteile, um eine Wetterstation mit Raspberry Pi zu erstellen

Damit Deine Wetterstation auch alle relevanten Daten erfassen kann, benötigst Du einen Umgebungssensor zur Messung von Temperatur, Luftdruck und Luftfeuchtigkeit. Hierfür eignet sich insbesondere der Sensor BME280 der Marke Bosch. Hierbei handelt es sich nicht nur um das neuste Modell, sondern er eignet sich zudem perfekt für Anfänger:innen, die ihre erste Wetterstation mit dem Raspberry Pi bauen möchten. Denn dank der I2C-Schnittstelle ist das Montieren der Bauteile und das Auslesen der Daten super einfach. Wenn Du Dir das Sensor-Board genauer anschaust, findest Du darauf die erforderlichen Anschlüsse mit den Beschriftungen SCL (Serial Clock) und SDA (Serial Data). Aber auch im Vergleich mit den Bauteilen anderer Hersteller liefert der Sensor ziemlich genaue Messergebnisse. Bei der Temperaturmessung beträgt die Abweichung beispielsweise maximal 1°C.

Wetterstation mit Raspberry Pi in 4 Schritten selber bauen

Nun kennst Du die wichtigsten technischen Details, um eine Wetterstation mit dem Raspberry Pi zu erstellen. Damit Du gleich mit dem Bauen starten kannst, findest Du im Folgenden die passende Anleitung. Also, pack das Raspberry Pi Zubehör aus und beginne mit dem Tüfteln. Wir wünschen Dir dabei viel Spaß!

1. Aufbau der Schaltung 

Bevor wir uns um das Einrichten des Servers kümmern, starten wir erst einmal mit der Elektronik und begeben uns an die Verkabelung aller Bauteile. Die Schaltung kannst Du ganz ohne Löten auf einem Breadboard zusammenstecken. Abbildung 2 zeigt Dir den einfachen Aufbau:

Raspberry Pi Wetterstation – Das Breadboard mit dem Umgebungssensor
Abb. 2: Das Breadboard mit dem Umgebungssensor

Alles ist fixiert? Perfekt! Dann sind nun die Sensoren dran. Dabei werden die Anschlüsse VIN, GND, SCL und SDA des Sensors mit den Pins 1 (3v3), 14 (GND), 5 (GPIO3=SCL) und 3 (GPIO2=SDA) verbunden. Das klingt alles ziemlich kompliziert, oder? Abbildung 3 hilft Dir beim Anbringen der einzelnen Bauteile:

Die Schaltung einrichten – Raspberry Pi Wetterstation
Abb. 3: Die Schaltung für die Wetterstation mit dem Raspberry Pi einrichten

2. Die Schnittstelle aktivieren 

Wenn der Aufbau abgeschlossen ist, kannst Du den Raspberry Pi starten. Um den Sensor zum Laufen zu bringen, muss zunächst die I2C-Schnittstelle eingerichtet werden. Diese kannst Du ganz einfach aktivieren, indem Du in den Einstellungen unter Raspberry Pi-Konfiguration den Reiter Schnittstellen änderst:

Die Schnittstelle aktivieren
Abb. 4: Raspberry Pi Wetterstation – Das Aktivieren der Schnittstelle

Danach wird der Raspi neu gestartet. Anschließend testest Du mit dem Programm i2cdetect im Raspberry Pi Terminal, ob die I2C-Schnittstelle funktioniert. Dabei scannt dieses die Schnittstelle und zeigt angeschlossene Geräte an. Mit folgendem Befehl kannst Du die Funktion abfragen:

i2cdetect -y 1

Die Zahl 1 steht dabei für den Port. Solltest Du ein älteres Modell verwenden, musst Du an dieser Stelle eine 0 einsetzen. Wenn Du alles richtig eingegeben hast, solltest Du folgende Ausgabe angezeigt bekommen:

Raspberry Pi Wetterstation – Die Konfiguration

Die einzelne Zahl 76 zeigt an, dass unter dieser Adresse ein Gerät (der BME280) angeschlossen ist. Der Sensor ist also ansprechbar. Wenn Du magst, kannst Du diesen aus dem Breadboard ziehen und den Befehl erneut ausführen. Du wirst danach sehen, dass die Zahl 76 verschwunden ist.

3. Die Umweltdaten erfassen und auslesen 

Die Daten des Sensors von Hand auszulesen, ist ziemlich mühsam. Daher nutzen wir hierfür die Bibliothek RPi.bme280. Um das Abfragen der Messungen zusätzlich zu vereinfachen, verwenden wir außerdem das Paket SMBus2. Beide Bibliotheken werden mit dem Paketmanager pip installiert. Um beide für die Konfiguration nutzen zu können, führst Du folgenden Befehl aus:

sudo pip3 install RPi.bme280 smbus2

Wenn das geklappt hat, wird es Zeit für einen ersten Test. Der folgende Code teilt Dir die Daten für den Luftdruck und für die Luftfeuchtigkeit mit. Du kannst diesen anschließend in Deine Lieblings-IDE wie zum Beispiel Thonny eingeben und von dort aus starten:

import smbus2
import bme280

port = 1
address = 0x76
bus = smbus2.SMBus(port)

calibration_params = bme280.load_calibration_params(bus, address)

data = bme280.sample(bus, address, calibration_params)

print(data.temperature)
print(data.pressure)
print(data.humidity)

Nach dem Import der beiden Bibliotheken werden die Variablen für Port, I2C-Adresse und Bus angelegt. Vor dem Adresswert 76 findet sich der Zusatz 0x, der angibt, dass es sich um eine Zahl im hexadezimalen Format handelt. Mit diesen Daten werden die Kalibrierungsinformationen aus der Bibliothek gelesen. Anschließend wird eine Messung durchgeführt. Abbildung 5 zeigt das Ergebnis. In unserem Beispiel beträgt die Temperatur 21,5°C, der Luftdruck 1005 hPa und die Luftfeuchtigkeit 57 %. Wenn Du mehr über das digitale Auslesen von Temperaturen erfahren möchtest, liefert die Universität Wuppertal eine einfache Übersicht.

Raspberry Pi Wetterstation – Eine Messung durchführen
Abb. 5: Durchführung der Messung bei einer Wetterstation mit Raspberry Pi

4. Die Messfunktionen erweitern

Du könntest nun den Code für jede Messung erneut in der IDE ausführen und das Ergebnis im Shell-Fenster ablesen. Hierbei handelt es sich aber um eine sehr unelegante Methode. Schicker wäre es, wenn die Daten auf dem Handy abgerufen werden könnten. Deshalb erweitern wir den Code und erstellen einen einfachen Webserver:

from http.server import BaseHTTPRequestHandler, HTTPServer
import time
import smbus2
import bme280

hostName = „localhost“
serverPort = 8080
port = 1
address = 0x76
bus = smbus2.SMBus(port)

calibration_params = bme280.load_calibration_params(bus, address)

class MyServer(BaseHTTPRequestHandler):
    def do_GET(self):

        data = bme280.sample(bus, address, calibration_params)

        self.send_response(200)
        self.send_header(„Content-type“, „text/html“)
        self.end_headers()
        self.wfile.write(bytes(„<html><body>“, „utf-8“))
        self.wfile.write(bytes(„<p>Temperatur: „ + str(data.temperature) + „</p>“, „utf-8“))
        self.wfile.write(bytes(„<p>Luftdruck: „ + str(data.pressure) + „</p>“, „utf-8“))
        self.wfile.write(bytes(„<p>Luftfeuchtigkeit: „ + str(data.humidity) + „</p>“„utf-8“))
        self.wfile.write(bytes(„</body></html>“, „utf-8“))

if __name__ == „__main__“:        
    webServer = HTTPServer((hostName, serverPort), MyServer)
    print(„Server gestartet http://%s:%s“ % (hostName, serverPort))

    try:
        webServer.serve_forever()
    except KeyboardInterrupt:
        pass

    webServer.server_close()
    print(„Server gestoppt.“)

Nach dem Start des Skripts wird eine Instanz der Klasse HTTPServer mit den zuvor festgelegten Variablen hostname und serverport erzeugt. Der Server wird anschließend mit dem Kommando serve_forever() gestartet. Wenn ein GET-Request eintrifft, wird die Methode DO_GET aufgerufen. In ihr erfolgt das Auslesen des Sensors im HTML-Format. Aufgerufen wird der Webserver im Raspi-Browser Chromium durch die Eingabe folgender URL: http://localhost:8080.

Die Messdaten im Browser
Abb. 6: Die Messdaten im Browser

Um die Seite im WLAN aufrufen zu können, musst Du den Hostnamen localhost durch die IP-Adresse des Raspis ersetzen. Du findest sie heraus, indem Du das Kommando ifconfig eingibst. Anschließend suchst Du in der darauffolgenden Ausgabe im Abschnitt wlan0 nach vier Zahlen, die durch drei Punkte voneinander getrennt sind. Sie sollten dabei hinter dem Wort inet stehen. Nach dem Neustart kannst Du den Server im Netzwerk erreichen. Achte darauf, dass Du beim Aufruf die ermittelte IP-Adresse verwendest. Dies könnte wie folgt aussehen:

http://192.168.178.64:8080

Nun hast Du erfahren, wie man in wenigen Schritten eine Wetterstation mit dem Raspberry Pi erstellt. Das war doch gar nicht mal so schwer, oder? Wenn Du eine kleine Herausforderung suchst, solltest Du Dich einmal am Raspberry Pi Temperatursensor versuchen.

FAQs zur Raspberry Pi Wetterstation 

Welches Board sollte ich beim Erstellen der Raspberry Pi Wetterstation verwenden?

Beim Kauf des Boards solltest Du schauen, ob Du eins mit bereits gelöteten Kontaktstiften bekommst. Denn dann kannst Du den Sensor ganz einfach am Board befestigen. Notfalls kann man aber auch die Anschlusskabel direkt in die Löcher stecken. Was man beim Arbeiten alles beachten sollte, verrät Dir unser Artikel zum Raspberry Pi Einstieg.

Muss ich beim Bau einer Wetterstation mit Raspberry Pi eine IDE verwenden?

Während der Entwicklung einer Software ist eine IDE sehr hilfreich. Denn sie unterstützt Dich beim Schreiben des Codes und beim Aufspüren von Fehlern. Nach der Entwicklung speichert man den Code einfach in einer Textdatei und ruft ihn mit Python auf.

Gibt es Möglichkeiten, die Raspberry Pi Wetterstation mit zusätzlichen Features auszustatten?

Es gibt zahlreiche Möglichkeiten, mit denen Du Deine Wetterstation aufrüsten kannst. Indes kannst Du sie mit einem Touchscreen ausstatten und die Daten digital ablesen. Du kannst Dich aber auch von der Vielfalt unserer Raspberry Pi Projekte inspirieren lassen.

Anderen hat auch das noch gefallen