Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Je voulais mesurer la température et l'humidité à l'aide de mon Raspberry Pi. J'ai choisi un capteur DHT11 car il est robuste et pas cher. Sa configuration est également bien documentée mais il y a un certain nombre d'écueils sur lesquels je voudrais me concentrer.
Le DHT11 a 4 broches. La plus à gauche est pour la broche Vcc ou positive (+) qui est connectée à la broche Raspberry Pi 3.3V. La broche suivante est la broche de données qui doit être connectée à une broche GPIO sur le Raspberry Pi. Ces deux broches doivent être connectées à l'aide d'une résistance de 4,7K.
La 3ème broche en partant de la gauche n'est pas utilisée. La broche la plus à droite et la quatrième est la broche de masse ou négative qui doit être connectée à l'une des broches de masse du Raspberry Pi.
Étape 1: Composants requis
1. Framboise Pi
2. DHT11
3. résistance 4.7k
4. Divers fils de planche à pain
5. Planche à pain
Étape 2: Connecter les choses
Connectez le Raspberry Pi et le DHT11 comme suit:
DHT11 (+ broche) RaspberryPi (broche 3.3V)
DHT11 (broche de données) RaspberryPi (broche GPIO - j'ai utilisé GPIO22)
DHT11 (3ème broche) Pas de connexion
DHT11 (- broche) ------ Raspberry Pi (broche terre)
Étape 3: Installation du logiciel
À partir de la ligne de commande RaspberryPi, procédez comme suit: (REMARQUE, n'omettez pas SUDO)
sudo git clone
Vous devriez voir - Clonage dans 'Adafruit_Python_DHT'… distant: Comptage d'objets: 249, terminé. distant: Total 249 (delta 0), réutilisé 0 (delta 0), pack-réutilisé 249 Objets de réception: 100 % (249/249), 77,01 KiB, terminé. Résolution des deltas: 100 % (142/142), terminé.
cd Adafruit_Python_DHT/
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl
ls
Vous devriez voir - exemples Adafruit_DHT ez_setup.py LICENSE README.md setup.py source
cd Adafruit_DHT/
Vous devriez voir -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py
sudo python setup.py installer
(Remarque, si vous ignorez cette étape, vous pouvez voir une erreur de rencontre - Traceback (appel le plus récent en dernier):
Fichier "./AdafruitDHT.py", ligne 24, dans import Adafruit_DHT ImportError: Aucun module nommé Adafruit_DHT)
exemples de cd
sudo./AdafruitDHT.py 11 22 (11 = DHT11 et 22=GPIO22 que vous avez sélectionné précédemment)
Vous devriez voir Temp=18.0* Humidity=46.0% (c'est-à-dire la température et l'humidité de votre environnement)
Étape 4: Que faire avec la sortie
Ainsi, comme nous l'avons vu, la sortie est "Temp=18.0* Humidity=46.0%"
Il existe plusieurs façons d'exploiter cette sortie, par exemple en utilisant ce fichier php de test, le fichier test_dht11.php
Tout d'abord, j'ai déplacé le script AdafruitDHT.py vers /var/www/.
Pour tester et exécuter le script php, passez à /var/www puis sudo php test_dht11.php
La sortie affiche deux nombres représentant la température et l'humidité. Ces nombres peuvent être écrits dans une base de données, ou comparés à des limites d'avertissement et envoyer une alerte, etc
//<? php // décommentez la ligne ci-dessus - instructables n'aime pas la commande de démarrage php // test_dht11.php
// exécute le fichier python pour lire le capteur de température DHT11
//et extrait les valeurs de température et d'humidité $temperature=0; $humidité=0; $mon_pos=0; $exec_msg="sudo /var/www/AdafruitDHT.py 11 22 2>&1"; $test = shell_exec($exec_msg); // extrait la température $my_pos = strpos($test, "Temp=", 0); $temperature = substr($test, $my_pos+5, 4); echo "\n ".$temperature; // extrait l'humidité $my_pos = strpos($test, "Humidity=", $my_pos); $humidité = substr($test, $my_pos+9, 4); echo "\n ".$humidité; ?>