Table des matières:

Raspberry Pi / DHT11 - Mesurer l'humidité et la température : 4 étapes
Raspberry Pi / DHT11 - Mesurer l'humidité et la température : 4 étapes

Vidéo: Raspberry Pi / DHT11 - Mesurer l'humidité et la température : 4 étapes

Vidéo: Raspberry Pi / DHT11 - Mesurer l'humidité et la température : 4 étapes
Vidéo: IoT avec Raspberry PI | Capteur de température et d' humidité DHT11 avec Python pour débutants 2024, Juillet
Anonim
Raspberry Pi / DHT11 - Mesurer l'humidité et la température
Raspberry Pi / DHT11 - Mesurer l'humidité et la température

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

Composants requis
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

Connecter les choses
Connecter les choses
Connecter les choses
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é; ?>

Conseillé: