Echtzeit-Temperatur- & Feuchtigkeitsmonitoring via Web auf Raspberry Pi 4
In diesem Projekt hostet ein Raspberry Pi 4 einen leichten Bottle-Webserver, der Daten von einem Adafruit DHT11 Temperatur-Feuchtigkeitssensor ausliest und die Werte in Echtzeit zurückgibt. Eine auf dem Board montierte RGB-LED leuchtet bei jeder Anfrage in einer eigenen Farbe, was sofortiges visuelles Feedback zur Serverfunktion gibt.
Funktionsweise
- Navigieren Sie zu
https://pi‑adresse:6789/, um die Root-Route auszulösen. Die rote LED leuchtet während des Ladens. - Nach dem Laden können Sie einen von drei Buttons drücken:
- Blau – zeigt aktuelle Luftfeuchtigkeit und schaltet LED blau.
- Grün – zeigt aktuelle Temperatur und schaltet LED grün.
- Rot (Stop) – löscht Anzeige, setzt LED auf rot und stoppt kontinuierliche Updates.
- Jeder Button sendet jede Sekunde einen GET-Request, bis der Stop-Button gedrückt oder das Browserfenster geschlossen wird.
- Serverstopp mit
Ctrl+Cschaltet alle LEDs aus und bereinigt GPIO-Pins.
Hardware-Schema
Server-Code
from bottle import route, run, template, request
import RPi.GPIO as GPIO
import Adafruit_DHT
# GPIO Modus konfigurieren
GPIO.setmode(GPIO.BCM)
# Sensor Konfiguration – DHT11 an GPIO 25
sensor_type = Adafruit_DHT.DHT11
sensor_pin = 25
GPIO.setup(sensor_pin, GPIO.IN)
# RGB LED Pins
GPIO.setup(14, GPIO.OUT) # Rot
GPIO.setup(15, GPIO.OUT) # Grün
GPIO.setup(18, GPIO.OUT) # Blau
# Helper: alle LEDs aus
def set_leds_off():
GPIO.output(14, GPIO.LOW)
GPIO.output(15, GPIO.LOW)
GPIO.output(18, GPIO.LOW)
# Routes
@route('/')
def index():
set_leds_off()
GPIO.output(14, GPIO.HIGH)
return template('index.html')
@route('/humidity')
def humidity():
set_leds_off()
GPIO.output(18, GPIO.HIGH)
humidity, temperature = Adafruit_DHT.read(sensor_type, sensor_pin)
return {'humidity': humidity}
@route('/temperature')
def temperature_route():
set_leds_off()
GPIO.output(15, GPIO.HIGH)
humidity, temperature = Adafruit_DHT.read(sensor_type, sensor_pin)
return {'temperature': temperature}
@route('/stop')
def stop():
set_leds_off()
GPIO.output(14, GPIO.HIGH)
return {'stop': 'No further updates.'}
# Bottle Server starten
run(host='0.0.0.0', port='6789')
# Cleanup beim Beenden
set_leds_off()
GPIO.cleanup()
Quelle: Get Humidity/Temperature from Web
Herstellungsprozess
- Raspberry Pi Temperatur- & Feuchtigkeits-Netzwerkmonitor – DIY Setup Guide
- Heim-Temperatur- & Feuchtigkeitsmonitor mit Raspberry Pi & Web-Dashboard – Echtzeit-Fernüberwachung
- Nahtlose Temperatur- & Feuchtigkeitsüberwachung am Raspberry Pi mit EzTemp
- Einsteiger IoT Tutorial: Temperaturdaten vom Raspberry Pi streamen
- DS1820 One-Wire Temperatursensor an Raspberry Pi GPIO anschließen
- Netzwerkfähige Labor-Wetterstation mit Raspberry Pi bauen
- Raspberry Pi 4 als Webserver nutzen und eigene Website erstellen
- Von Daten zum Graphen: Flask-SQLite IoT-Dashboard mit Raspberry Pi erstellen
- ROI Ihrer Lead-Generierungsinvestition maximieren
- Neue Wearable-Technologie tarnt Nutzer vor Wärmesensoren, passt sich in Minuten an Temperatur an