Real-Time Temperatuur & Vochtigheid Monitoring Via Web Op Raspberry Pi 4
In dit project host een Raspberry Pi 4 een lichtgewicht Bottle webserver die data uitleest van een Adafruit DHT11 temperatuur-vochtigheidssensor en de waarden in real-time retourneert. Een RGB LED gemonteerd op het bord licht op in een distincte kleur voor elk verzoek, wat direct visuele feedback geeft dat de server functioneert.
Hoe het werkt
- Navigeer naar
https://pi-adres:6789/om de root route te triggeren. De rode LED gaat aan terwijl de pagina laadt. - Nadat de pagina geladen is, kun je op een van de drie knoppen drukken:
- Blauw – toont de huidige vochtigheid en zet de LED blauw.
- Groen – toont de huidige temperatuur en zet de LED groen.
- Rood (Stop) – wist het display, reset de LED naar rood, en stopt continue updates.
- Elke knop stuurt een GET-verzoek elke seconde tot de stopknop wordt ingedrukt of het browservenster wordt gesloten.
- De server stoppen met
Ctrl+Czet alle LEDs uit en schoont de GPIO-pinnen op.
Hardware Schema
Server Code
from bottle import route, run, template, request
import RPi.GPIO as GPIO
import Adafruit_DHT
# Configure GPIO mode
GPIO.setmode(GPIO.BCM)
# Sensor configuratie – DHT11 aangesloten op GPIO 25
sensor_type = Adafruit_DHT.DHT11
sensor_pin = 25
GPIO.setup(sensor_pin, GPIO.IN)
# RGB LED pinnen
GPIO.setup(14, GPIO.OUT) # Rood
GPIO.setup(15, GPIO.OUT) # Groen
GPIO.setup(18, GPIO.OUT) # Blauw
# Helper om alle LEDs uit te zetten
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': 'Geen verdere updates.'}
# Start de Bottle server
run(host='0.0.0.0', port='6789')
# Opruimen bij afsluiten
set_leds_off()
GPIO.cleanup()
Bron: Get Humidity/Temperature from Web
Productieproces
- De thermometer: van Galileo's thermoscoop tot moderne digitale sensoren
- Raspberry Pi Temperatuur & Vochtigheid Netwerk Monitor – DIY Setup Gids
- Thuis Temperatuur & Vochtigheid Monitor Met Raspberry Pi & Web Dashboard – Real-Time Remote Tracking
- Naadloze temperatuur- en vochtigheidsbewaking op Raspberry Pi met EzTemp
- Beginner IoT-tutorial: Temperatuurdata streamen vanaf een Raspberry Pi
- Hoe een DS1820 One-Wire temperatuursensor aan te sluiten op een Raspberry Pi via GPIO
- Een Netwerk-ingeschakelde Laboratorium Weerstation Bouwen met Raspberry Pi
- Zet Je Raspberry Pi 4 Om in een Webserver en Bouw Je Eigen Site
- Van Data naar Grafiek: Een Flask-SQLite IoT Dashboard Bouwen met Raspberry Pi
- ROI van uw leadgeneratie-investering maximaliseren
- Nieuwe draagbare tech camoufleert gebruikers voor warmtesensoren, past zich aan temperatuur in minuten