Tabla de contenido:

Raspberry Pi / DHT11 - Medir la humedad y la temperatura: 4 pasos
Raspberry Pi / DHT11 - Medir la humedad y la temperatura: 4 pasos

Video: Raspberry Pi / DHT11 - Medir la humedad y la temperatura: 4 pasos

Video: Raspberry Pi / DHT11 - Medir la humedad y la temperatura: 4 pasos
Video: Medir temperatura y humedad con dht11 y guardarla en BD raspberry 2024, Noviembre
Anonim
Raspberry Pi / DHT11: mide la humedad y la temperatura
Raspberry Pi / DHT11: mide la humedad y la temperatura

Quería medir la temperatura y la humedad con mi Raspberry Pi. Elegí un sensor DHT11 porque es robusto y económico. La configuración también está bien documentada, pero hay una serie de obstáculos en el camino en los que me gustaría centrarme.

El DHT11 tiene 4 pines. El más a la izquierda es para el pin Vcc o positivo (+) que está conectado al pin de 3.3V de la Raspberry Pi. El siguiente pin a través es el pin de datos que debe estar conectado a un pin GPIO en la Raspberry Pi. Estos dos pines deben conectarse usando una resistencia de 4.7K.

No se utiliza el tercer pin de la izquierda. El último y cuarto pin es el pin de tierra o negativo que debe estar conectado a uno de los pines de tierra en la Raspberry Pi.

Paso 1: componentes necesarios

Componentes requeridos
Componentes requeridos

1. Raspberry Pi

2. DHT11

3. Resistencia de 4.7k

4. Varios cables de tablero

5. Tablero de pruebas

Paso 2: Conectando cosas

Conectando Cosas
Conectando Cosas
Conectando Cosas
Conectando Cosas

Conecte la Raspberry Pi y DHT11 de la siguiente manera:

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

DHT11 (pin de datos) RaspberryPi (pin GPIO - Usé GPIO22)

DHT11 (tercer pin) Sin conexión

DHT11 (- pin) ------ Raspberry Pi (pin de tierra)

Paso 3: instalación del software

Desde la línea de comandos de RaspberryPi, haga lo siguiente: (NOTA, no omita SUDO)

sudo git clon

Debería ver - Clonación en 'Adafruit_Python_DHT'… remoto: Contando objetos: 249, listo. remoto: Total 249 (delta 0), reutilizado 0 (delta 0), paquete reutilizado 249 Objetos de recepción: 100% (249/249), 77,01 KiB, listo. Resolución de deltas: 100% (142/142), hecho.

cd Adafruit_Python_DHT /

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

ls

Debería ver: ejemplos de Adafruit_DHT ez_setup.py LICENSE README.md setup.py source

cd Adafruit_DHT /

Debería ver -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py instalar

(Tenga en cuenta que si omite este paso, es posible que vea un error de encuentro: Rastreo (última llamada más reciente):

Archivo "./AdafruitDHT.py", línea 24, en la importación Adafruit_DHT ImportError: Ningún módulo llamado Adafruit_DHT)

ejemplos de cd

sudo./AdafruitDHT.py 11 22 (11 = DHT11 y 22 = GPIO22 que seleccionó anteriormente)

Debería ver Temp = 18.0 * Humedad = 46.0% (es decir, la temperatura y la humedad para su entorno)

Paso 4: Qué hacer con la salida

Entonces, como vimos, la salida es "Temp = 18.0 * Humedad = 46.0%"

Hay varias formas en las que puede aprovechar esta salida, por ejemplo, utilizando este archivo php de prueba, el archivo test_dht11.php

En primer lugar, reubiqué el script AdafruitDHT.py a / var / www /.

Para probar y ejecutar el script php, cambie a / var / www y luego sudo php test_dht11.php

La salida muestra dos números que representan la temperatura y la humedad. Estos números pueden escribirse en una base de datos o compararse con los límites de advertencia y enviar una alerta, etc

// <? php // descomenta la línea anterior - a instructables no le gusta el comando php start //test_dht11.php

// ejecuta el archivo Python para leer el sensor de temperatura DHT11

// y extrae los valores de temperatura y humedad $ temperature = 0; $ humedad = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ prueba = shell_exec ($ exec_msg); // extrae la temperatura $ my_pos = strpos ($ test, "Temp =", 0); $ temperatura = substr ($ prueba, $ my_pos + 5, 4); echo "\ n". $ temperatura; // extrae la humedad $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ humedad = substr ($ prueba, $ my_pos + 9, 4); echo "\ n". $ humedad; ?>

Recomendado: