Der Raspberry Pi 4 ist ein wahrer Alleskönner. Vom Mediacenter über Retro-Gaming bis hin zum Heimautomatisierungsserver – die Einsatzmöglichkeiten sind nahezu unbegrenzt. In diesem Artikel zeigen wir Ihnen, wie Sie zwei nützliche Anwendungen gleichzeitig auf Ihrem Raspberry Pi 4 betreiben: Einen BME280 Sensor zur Messung von Temperatur, Luftfeuchtigkeit und Luftdruck und den Pi-Hole zur Netzwerkweiten Werbung-Blockierung.
Warum diese Kombination Sinn macht
Warum sollte man gerade diese beiden Dienste kombinieren? Ganz einfach: Beide Anwendungen sind ressourcenschonend und können problemlos auf einem Raspberry Pi 4 im Hintergrund laufen. Der Pi-Hole filtert Werbung im gesamten Netzwerk, während der BME280 kontinuierlich Umweltdaten erfasst. Diese Daten können dann für vielfältige Zwecke genutzt werden, beispielsweise zur Steuerung der Heizung oder Klimaanlage, zur Überwachung des Raumklimas oder zur Erstellung von Wetterstatistiken.
Benötigte Hardware
Bevor wir loslegen, stellen Sie sicher, dass Sie folgende Hardware zur Hand haben:
- Einen Raspberry Pi 4 (empfohlen: mit mindestens 2 GB RAM)
- Eine MicroSD-Karte (mindestens 16 GB)
- Ein Netzteil für den Raspberry Pi 4
- Einen BME280 Sensor (Achten Sie auf die korrekte Spannung: 3.3V)
- Jumper-Kabel
- Optional: Ein Gehäuse für den Raspberry Pi 4
Vorbereitung des Raspberry Pi 4
1. Betriebssystem installieren: Laden Sie das offizielle Raspberry Pi OS (ehemals Raspbian) von der Raspberry Pi Foundation herunter und installieren Sie es auf der MicroSD-Karte. Verwenden Sie dazu beispielsweise den Raspberry Pi Imager.
2. Booten und Konfigurieren: Starten Sie den Raspberry Pi 4 von der MicroSD-Karte. Konfigurieren Sie das Netzwerk (WLAN oder Ethernet), ändern Sie das Standardpasswort und aktivieren Sie SSH für den Fernzugriff.
3. Aktualisieren: Führen Sie im Terminal folgende Befehle aus, um das Betriebssystem und die installierten Pakete zu aktualisieren:
sudo apt update
sudo apt upgrade
4. I2C aktivieren: Der BME280 kommuniziert über das I2C-Protokoll. Aktivieren Sie I2C über die Raspberry Pi Konfiguration (sudo raspi-config
-> Interface Options -> I2C).
Installation und Konfiguration des Pi-Hole
Die Installation des Pi-Hole ist denkbar einfach. Führen Sie folgenden Befehl im Terminal aus:
curl -sSL https://install.pi-hole.net | bash
Folgen Sie den Anweisungen des Installationsassistenten. Wählen Sie Ethernet oder WLAN als Netzwerkschnittstelle aus, bestätigen Sie die Standardeinstellungen für die Upstream-DNS-Server und wählen Sie eine statische IP-Adresse für Ihren Raspberry Pi 4. Notieren Sie sich das Admin-Passwort, das am Ende der Installation angezeigt wird.
Nach der Installation können Sie die Pi-Hole-Weboberfläche über die IP-Adresse Ihres Raspberry Pi 4 aufrufen (z.B. http://192.168.1.100/admin
). Melden Sie sich mit dem notierten Passwort an.
Konfiguration des Netzwerks: Um den Pi-Hole effektiv zu nutzen, müssen Sie Ihren Router so konfigurieren, dass er den Raspberry Pi 4 als DNS-Server verwendet. Die genaue Vorgehensweise hängt von Ihrem Router-Modell ab. Suchen Sie in den Router-Einstellungen nach den DNS-Einstellungen und tragen Sie die IP-Adresse Ihres Raspberry Pi 4 als primären DNS-Server ein. Als sekundären DNS-Server können Sie beispielsweise den DNS-Server Ihres Internetproviders oder einen öffentlichen DNS-Server wie 8.8.8.8 (Google) oder 1.1.1.1 (Cloudflare) eintragen.
Anschluss des BME280 Sensors
Verbinden Sie den BME280 Sensor mit dem Raspberry Pi 4 gemäß folgender Tabelle:
BME280 | Raspberry Pi 4 |
---|---|
VCC | 3.3V (Pin 1) |
GND | GND (Pin 6) |
SDA | SDA (GPIO2, Pin 3) |
SCL | SCL (GPIO3, Pin 5) |
Achten Sie darauf, dass die Verbindungen korrekt sind, um Schäden am Sensor oder Raspberry Pi 4 zu vermeiden.
Installation der Software für den BME280
Um die Daten des BME280 Sensors auszulesen, benötigen Sie eine geeignete Bibliothek. Wir verwenden hier die Bibliothek smbus2
:
sudo apt install python3-smbus i2c-tools
sudo pip3 install smbus2
Erstellen Sie nun eine Python-Datei (z.B. bme280.py
) und fügen Sie folgenden Code ein:
import smbus2
import bme280
port = 1
address = 0x76 # Oder 0x77, je nach Sensor
bus = smbus2.SMBus(port)
calibration_params = bme280.load_calibration_params(bus, address)
data = bme280.sample(bus, address, calibration_params)
print(data.id)
print(data.temperature)
print(data.pressure)
print(data.humidity)
Erläuterung des Codes:
smbus2
: Die Bibliothek für die I2C-Kommunikation.bme280
: Die Bibliothek zur Steuerung des BME280 Sensors.port
: Der I2C-Port (in der Regel 1 auf dem Raspberry Pi).address
: Die I2C-Adresse des Sensors (häufig 0x76 oder 0x77). Überprüfen Sie die Dokumentation Ihres Sensors.calibration_params
: Die Kalibrierungsparameter des Sensors.data.temperature
,data.pressure
,data.humidity
: Die ausgelesenen Werte für Temperatur, Luftdruck und Luftfeuchtigkeit.
Führen Sie das Skript mit python3 bme280.py
aus. Sie sollten nun die aktuellen Messwerte des Sensors im Terminal sehen.
Datenintegration und Visualisierung (Optionale Schritte)
Die Messwerte des BME280 Sensors können nun auf vielfältige Weise weiterverarbeitet werden. Hier einige Ideen:
- Logging: Schreiben Sie die Messwerte in eine Datei oder Datenbank, um sie später auszuwerten.
- Visualisierung: Verwenden Sie ein Tool wie Grafana, um die Messwerte in Echtzeit grafisch darzustellen.
- Heimautomatisierung: Integrieren Sie die Messwerte in ein Heimautomatisierungssystem wie Home Assistant, um beispielsweise die Heizung oder Klimaanlage automatisch zu steuern.
- Webserver: Stellen Sie die Messwerte über einen Webserver (z.B. Flask oder Django) bereit, um sie von überall abrufen zu können.
Für die Visualisierung mit Grafana und InfluxDB (als Zeitreihendatenbank) können Sie zum Beispiel folgendes vorgehen:
- InfluxDB installieren: Folgen Sie der offiziellen Dokumentation von InfluxDB, um die Datenbank auf Ihrem Raspberry Pi 4 zu installieren und zu konfigurieren.
- Grafana installieren: Installieren Sie Grafana ebenfalls gemäß der offiziellen Dokumentation.
- Daten in InfluxDB schreiben: Modifizieren Sie das Python-Skript, um die Messwerte in InfluxDB zu schreiben. Verwenden Sie dazu die Python-Bibliothek
influxdb
. - Grafana konfigurieren: Fügen Sie InfluxDB als Datenquelle in Grafana hinzu und erstellen Sie ein Dashboard, um die Messwerte zu visualisieren.
Ressourcenmanagement und Optimierung
Da wir zwei Dienste gleichzeitig auf dem Raspberry Pi 4 betreiben, ist es wichtig, das Ressourcenmanagement im Auge zu behalten. Der Raspberry Pi 4 hat zwar ausreichend Leistung für beide Anwendungen, aber es kann dennoch sinnvoll sein, einige Optimierungen vorzunehmen:
- Regelmäßige Neustarts: Planen Sie regelmäßige Neustarts des Raspberry Pi 4, um das System sauber zu halten und Ressourcen freizugeben.
- Prozessüberwachung: Überwachen Sie die CPU- und Speichernutzung der einzelnen Prozesse, um Engpässe zu identifizieren.
- Leichte Betriebssysteme: Verwenden Sie eine schlankere Variante von Raspberry Pi OS, wenn Sie keine grafische Oberfläche benötigen (z.B. Raspberry Pi OS Lite).
Fazit
Die Kombination von BME280 Sensor und Pi-Hole auf einem Raspberry Pi 4 ist eine praktische und kostengünstige Möglichkeit, sowohl Werbung im Netzwerk zu blockieren als auch Umweltdaten zu erfassen. Mit den hier beschriebenen Schritten können Sie diese beiden Anwendungen problemlos auf Ihrem Raspberry Pi 4 installieren und konfigurieren. Die erfassten Daten können dann für vielfältige Zwecke genutzt werden, von der einfachen Visualisierung bis hin zur komplexen Heimautomatisierung.