Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
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
1. Raspberry Pi
2. DHT11
3. Resistencia de 4.7k
4. Varios cables de tablero
5. Tablero de pruebas
Paso 2: 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; ?>