Surveillance température et humidité en temps réel via Web sur Raspberry Pi 4
Dans ce projet, un Raspberry Pi 4 héberge un serveur web léger Bottle qui lit les données d'un capteur température-humidité Adafruit DHT11 et renvoie les valeurs en temps réel. Une LED RVB montée sur la carte s'allume dans une couleur distincte pour chaque requête, donnant un retour visuel instantané que le serveur fonctionne.
Comment cela fonctionne
- Naviguez vers
https://adresse-pi:6789/pour déclencher la route racine. La LED rouge s'allume pendant le chargement de la page. - Après le chargement de la page, vous pouvez appuyer sur l'un des trois boutons :
- Bleu — affiche l'humidité actuelle et allume la LED en bleu.
- Vert — affiche la température actuelle et allume la LED en vert.
- Rouge (Stop) — efface l'affichage, remet la LED au rouge et arrête les mises à jour continues.
- Chaque bouton envoie une requête GET chaque seconde jusqu'à ce que le bouton stop soit pressé ou que la fenêtre du navigateur soit fermée.
- L'arrêt du serveur avec
Ctrl+Céteint toutes les LEDs et nettoie les broches GPIO.
Schéma matériel
Code du serveur
from bottle import route, run, template, request import RPi.GPIO as GPIO import Adafruit_DHT # Configurer le mode GPIO GPIO.setmode(GPIO.BCM) # Configuration capteur – DHT11 connecté au GPIO 25 sensor_type = Adafruit_DHT.DHT11 sensor_pin = 25 GPIO.setup(sensor_pin, GPIO.IN) # Broches LED RVB GPIO.setup(14, GPIO.OUT) # Rouge GPIO.setup(15, GPIO.OUT) # Vert GPIO.setup(18, GPIO.OUT) # Bleu # Fonction helper pour éteindre toutes les LEDs 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.'} # Démarrer le serveur Bottle run(host='0.0.0.0', port='6789') # Nettoyage à la sortie set_leds_off() GPIO.cleanup()
Source : Get Humidity/Temperature from Web
Processus de fabrication
- Moniteur réseau température et humidité Raspberry Pi — Guide de configuration DIY
- Moniteur température et humidité domestique avec Raspberry Pi et tableau de bord web — Suivi à distance en temps réel
- Surveillance transparente température et humidité sur Raspberry Pi avec EzTemp
- Tutoriel IoT débutant : Diffusion de données de température depuis un Raspberry Pi
- Comment connecter un capteur de température DS1820 One‑Wire à un Raspberry Pi via GPIO
- Construire une station météo de laboratoire connectée en réseau avec Raspberry Pi
- Transformez votre Raspberry Pi 4 en serveur web et créez votre propre site
- De la donnée au graphique : créer un tableau de bord IoT Flask‑SQLite avec Raspberry Pi
- Maximisez le ROI de votre investissement en Génération de Leads