Taula de continguts:

Raspberry Pi / DHT11: mesura la humitat i la temperatura: 4 passos
Raspberry Pi / DHT11: mesura la humitat i la temperatura: 4 passos

Vídeo: Raspberry Pi / DHT11: mesura la humitat i la temperatura: 4 passos

Vídeo: Raspberry Pi / DHT11: mesura la humitat i la temperatura: 4 passos
Vídeo: ESTACIÓN METEREOLÓGICA CON ARDUINO Y SENSOR DHT11 2024, Desembre
Anonim
Raspberry Pi / DHT11: mesura la humitat i la temperatura
Raspberry Pi / DHT11: mesura la humitat i la temperatura

Volia mesurar la temperatura i la humitat amb el meu Raspberry Pi. Vaig triar un sensor DHT11 perquè és robust i econòmic. La seva configuració també està ben documentada, però hi ha diverses trampes en el camí que m’agradaria centrar-me.

El DHT11 té 4 pins. L'esquerra més correspon al pin Vcc o positiu (+) que està connectat al pin Raspberry Pi de 3,3 V. El següent pin a través és el pin de dades que s’ha de connectar a un pin GPIO al Raspberry Pi. Aquests dos pins s'han de connectar mitjançant una resistència de 4,7 K.

No s’utilitza el tercer pin de l’esquerra. El pin més dret i quart és el pin de terra o negatiu que s’ha de connectar a un dels pins de terra del Raspberry Pi.

Pas 1: components necessaris

Components necessaris
Components necessaris

1. Raspberry Pi

2. DHT11

3. Resistència de 4,7 k

4. Diversos cables de taulers de suport

5. Taula de pa

Pas 2: connectar coses

Connectar coses
Connectar coses
Connectar coses
Connectar coses

Connecteu el Raspberry Pi i el DHT11 de la següent manera:

DHT11 (+ pin) RaspberryPi (pin de 3,3 V)

DHT11 (pin de dades) RaspberryPi (pin GPIO: he utilitzat GPIO22)

DHT11 (tercer pin) Sense connexió

DHT11 (- pin) ------ Raspberry Pi (pin gnd)

Pas 3: Instal·lació del programari

Des de la línia d'ordres RaspberryPi, feu el següent: (NOTA, no ometre SUDO)

clon sudo git

Hauríeu de veure - Clonació a 'Adafruit_Python_DHT' … remot: Comptant objectes: 249, fet. remot: 249 en total (delta 0), reutilitzat 0 (delta 0), reutilitzat en paquets 249 Objectes receptors: 100% (249/249), 77,01 KiB, fet. Resolució de deltes: 100% (142/142), fet.

cd Adafruit_Python_DHT /

sudo apt-get update sudo apt-get install build-essential python-dev python-openssl

ls

Hauríeu de veure: exemples d'Adafruit_DHT ez_setup.py LICÈNCIA README.md setup.py source

cd Adafruit_DHT /

Hauríeu de veure -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Nota, si ometeu aquest pas, és possible que vegeu un error de trobada: Traceback (última trucada més recent):

Fitxer "./AdafruitDHT.py", línia 24, en importació Adafruit_DHT ImportError: cap mòdul anomenat Adafruit_DHT)

exemples de cd

sudo./AdafruitDHT.py 11 22 (11 = DHT11 i 22 = GPIO22 que heu seleccionat anteriorment)

Hauríeu de veure Temp = 18,0 * Humitat = 46,0% (és a dir, la temperatura i la humitat del vostre entorn)

Pas 4: Què cal fer amb la sortida

Per tant, com hem vist, la sortida és "Temp = 18,0 * Humitat = 46,0%"

Hi ha diverses maneres de fer servir aquesta sortida, per exemple mitjançant aquest fitxer php de prova, fitxer test_dht11.php

En primer lloc, vaig traslladar l’escriptura AdafruitDHT.py a / var / www /.

Per provar i executar l'script php, canvieu a / var / www i, a continuació, sudo php test_dht11.php

La sortida mostra dos números que representen la temperatura i la humitat. Aquests números es poden escriure a una base de dades o comparar-los amb els límits d’avís i enviar una alerta, etc

// <? php // descomenteu la línia anterior: a instructables no li agrada l'ordre php start //test_dht11.php

// executa el fitxer python per llegir el sensor de temperatura DHT11

// i extreu els valors de temperatura i humitat $ temperature = 0; $ humitat = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // extreu la temperatura $ my_pos = strpos ($ test, "Temp =", 0); $ temperature = substr ($ test, $ my_pos + 5, 4); eco "\ n". $ temperatura; // extreu humitat $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ humitat = substr ($ test, $ my_pos + 9, 4); ressò "\ n". $ humitat; ?>

Recomanat: