En este proyecto/tutorial veremos como conectar el sensor DHTxx (DHT11 o DHT22) a nuestra Raspberry Pi, obtener los valores de temperatura y humedad que el sensor puede medir y guardar un registro de estos datos en un archivo log o en una base de datos. Este tutorial fue actualizado para soportar la version Python 3.
La idea también es que aprendan un poco de GIT (sistema control de versiones), por este motivo no habrá código en este tutorial, deberán bajarlo desde nuestro repositorio en GitHub.
El código esta escrito en Python así que también veremos un poco de programación.
Materiales
- Raspberry Pi Modelo 2 (en realidad puede ser cualquiera de los modelos)
- Sensor DHT11 (o DHT22)
- Mini protoboard
- Jumpers de conexión
Procedimiento
Lo primero que debemos hacer es instalar git en nuestra Raspberry Pi en el caso de que no lo tengamos instalado.
Siempre es recomendable hacer un apt-get update antes de comenzar cualquier instalación de software
sudo apt-get update
Luego instalar git
sudo apt-get install git-core
Luego, debemos instalar las librerias necesarias, comenzamos con los paquetes del sistema operativo
sudo apt-get install python3-dev **default-libmysqlclient-dev**
Luego seguimos con la libreria de Adafruit que nos permitirá obtener los datos del sensor
sudo pip3 install adafruit-circuitpython-dht
Procedemos ahora a conectar el sensor a la Raspberry Pi, nos basaremos en este diagrama creado con Fritzing,un software gratuito ¡muy recomendable! No esta demás recordar que todas las conexiones se deben realizar con la Raspberry Pi apagada.
Es muy importante conectar correctamente cada pin, noten también que hay una resistencia de 10K conectada entre los pines 1 y 2 del sensor. Otro punto muy importante a tener en consideración es que si disponen de un sensor DHT11 o DHT22 que viene en una placa de circuito impreso, esta resistencia de 10K puede estar incluida en el circuito. En este caso el sensor esta sin la placa y debemos agregar esa resistencia.
Las conexión con la Raspberry Pi será en los pines 1, 14 y 16 los cuales son respectivamente 3.3v DC Power, Ground y GPIO23.
La tabla de conexiones es
Sensor DHT11 | Raspberry Pi |
Pin 1 | Pin 1 |
Pin 2 | Pin 16 |
Pin 3 (No se utiliza) | |
Pin 4 | Pin 14 |
Con el circuito eléctrico armado procedemos a crear una carpeta para nuestros proyectos y luego clonaremos el repositorio que he creado para este tutorial.
Ejecutamos el comando cd para volver al directorio inicial
cd
Creamos la carpeta proyectos, nos cambiamos a esa carpeta y luego clonamos el repositorio para este proyecto
mkdir proyectos cd proyectos git clone https://github.com/internetdelascosas/RaspberryPi-DHTxx.git cd RaspberryPi-DHT11
AL hacer un ls podemos ver que dentro de la carpeta hay cinco archivos y una carpeta llamada sql.
config.py dht_consola.py dht_log.py dht_mysql.py README.md sql
README.md es un archivo de texto que contiene información sobre el proyecto, este archivo es el que permite crear la página web que se visualiza al entrar al entrar a la pagina del proyecto en GitHub https://github.com/internetdelascosas/RaspberryPi-DHTxx
dht_consola.py es el programa escrito en Python que ejecutaremos primero usando el comando
sudo ./dht_consola.py
Si el sensor esta funcionando y esta bien conectado deberíamos obtener una salida como la siguiente
El programa se ejecutara en un ciclo infinito por lo que para terminar su ejecución debes presionar Control+C.
Puedes ver el programa con tu editor favorito, en mi caso vi y como estamos usando GitHub puedes revisar el programa en el siguiente enlace en nuestro repositorio GitHub. Esta con comentarios para que sea bastante simple entender de que se trata. Es buena idea que te crees una cuenta y darnos una estrella (el me gusta de GitHub).
Siéntete libre de modificarlo en tu Raspberry Pi, si algo haces mal y falla, siempre tienes la opción de borrar la carpeta y volver a clonar el repositorio Git. Ya veremos en otro tutorial como usar git para hacer modificaciones al programa y enviarlas para que actualicemos el repositorio. Si ya sabes usar git, te invitamos a mejorar este programa.
dht_log.py es un programa un poco mas avanzado, básicamente hace exactamente lo mismo que el programa dht_consola.py pero en vez de mostrar las variables en la consola, las escribe a un archivo de log en /var/log/iot/, al igual que el programa anterior, puedes ver el código fuente en nuestro repositorio GitHub.
El objetivo de este programa es que se ejecute en modo background, de tal forma que podamos dejar la Raspberry Pi encendida monitoreando constantemente las dos variables y registrandolas en el archivo log para un procesamiento posterior.
Para ejecutarlo primero debes crear la carpeta /var/log/iot que sera el lugar donde se escribirán los archivos log, este comando debe ser ejecutado como súper usuario con el comando sudo
joniux@raspberrypi:~/proyectos/RaspberryPi-DHTxx $ sudo mkdir /var/log/iot
Y luego ejecutar el programa dht_log.py también como súper usuario con el comando sudo
joniux@raspberrypi:~/proyectos/RaspberryPi-DHTxx $ sudo ./dht_log.py & [1] 13278
El carácter & al final de la línea es muy importante porque este permite dejar la tarea ejecutándose en background, informando del numero de proceso, en este caso 13278 y devolviendo el control a línea de comandos para ingresar nuevos comandos.
Si ejecutas el comando ps, verás que existen dos procesos corriendo con el nombre dht_log
joniux@raspberrypi:~/proyectos/RaspberryPi-DHTxx $ ps aux | grep dht_log root 13350 1.0 0.3 6184 3088 pts/1 S 00:47 0:00 sudo ./dht_log.py root 13354 10.3 0.7 10752 7504 pts/1 S 00:47 0:00 /usr/bin/python ./dht_log.py joniux 13356 0.0 0.2 4276 1896 pts/1 S+ 00:47 0:00 grep --color=auto dht
y si revisas el archivo log, veras que esta escribiendo el registro cada 10 segundos.
joniux@raspberrypi:~ $ tail /var/log/iot/2017-05-19_dht.log 2017-05-19 17:57:14 DHT Sensor - Temperatura: 21.0 2017-05-19 17:57:14 DHT Sensor - Humedad: 38.0 2017-05-19 17:57:24 DHT Sensor - Temperatura: 21.0 2017-05-19 17:57:24 DHT Sensor - Humedad: 38.0 2017-05-19 17:57:34 DHT Sensor - Temperatura: 21.0 2017-05-19 17:57:34 DHT Sensor - Humedad: 38.0 2017-05-19 17:57:44 DHT Sensor - Temperatura: 21.0 2017-05-19 17:57:44 DHT Sensor - Humedad: 38.0
Si deseas terminar la ejecución el programa debes «matar» los dos procesos que están corriendo, para matar un proceso se usa el comando kill y el numero de proceso, información que se muestra en la segunda columna al ejecutar el comando ps.
En este ejemplo para matar los dos procesos se debe ejecutar
joniux@raspberrypi:~/proyectos/RaspberryPi-DHTxx $ kill 13350 13354
Finalmente tenemos el programa dht_mysql.py que esta basado en el progama dht_log.py pero que tambien escribe los datos en una base de datos.
Para crear la base de datos primero debes instalar el servidor MySQL en la Raspberry Pi (eso da para otro tutorial) crear la base de datos y luego crear la tabla con el script disponible en la carpeta sql.
joniux@raspberrypi:~/proyectos/RaspberryPi-DHTxx $ cat ./sql/create_data.sql | mysql -u [tu_usuario] -p [tu_base_de_datos] Enter password:
MySQL pedirá la contraseña y si esta correcta creara la tabla «datos» en la base de datos especificada en el parámetro [tu_base_de_datos].
La ejecución del programa es muy similar al programa anterior.
joniux@raspberrypi:~/proyectos/RaspberryPi-DHTxx $ sudo ./dht_mysql.py & [1] 13278
Luego puedes revisar que el log se esta escribiendo y que también se están insertando datos en la base de datos.
¿Muy complejo? ¿Algo no quedó claro? Pregunten, comenten y compartan en sus redes sociales.
amigo hice lo que esta explicado ahí hasta ejecutar sudo ./dht_consola.py y me anduvo perfecto. Lo que si me gustaría saber como poner esos datos en una pagina web, como por ejemplo en http://www.thingspeak.com
Gracias
Lucio, en la misma pagina de thingspeak.com hay un tutorial similar que enseña como usar su API
https://www.raspberrypi-spy.co.uk/2015/06/basic-temperature-logging-to-the-internet-with-raspberry-pi/
Saludos
JZ
Al realizar todos tus pasos, a la hora de ejecutar sudo ./dht_consola.py , no me muestra nada y al minuto me pone:
«Unknown format code ‘f’ for object of type ‘str’
Sabrias que puede ser? estoy terminando un proyecto y me corre bastante prisa, si pudieras contestarme lo mas urgentemente posible seria un gran favor. Y gracias por la ayuda!
Hola
Aunque no especificas cual es la linea que presenta el error, asumo que es la 30 donde se le da formato a la respuesta entregada por el sensor. La letra f indica que se le dara formato float pero al parecer es un string, lo que puede indicar un mensaje de error desde el sensor, en otras palabras, el sensor esta entregando un strig porque esta fallando.
Intenta imprimir por pantalla las variables humedad y temperatura y validar que realmente son valores decimales y no un error del tipo «No puedo leer datos desde el sensor»
Saludos
JZ
y como hago eso?
El codigo esta escrito en Python y para imprimir en se usa la instruccion print, pero como no sabemos que tipo de variable es, te recomendaria imprimir convirtiendola en string primero, algo asi como:
print str(nombre_variable);
Saludos
JZ
lo más probable es que te haya pasado lo mismo que a mi. por no fijarme en que en el dibujo sale el sensor al reves q como está conectado en los q vienen en placa, lo quemé, por lo que al no recibir datos, el programa asume el error de que None no es un numero
Hola
He seguido todos los pasos indicados y me indica el mismo error de Unknow….
Entro en el código fuente de dht_ consola y he cambiado el número del puerto ya que lo tengo conectado al 7 de una rasp 3 modelb
rojo al pin 1
negro a tierra pin 6
amarillo al pin 7
#en el código original pone
«pin = 23″ #y yo lo cambio a pin=7
y cuando nos pones
print ( » temperatura={0:0.1f} * Humedad = { 1:0.1f}%». format ( temperaruta, humedad))
¿ Qué debemos cambiar para que nos de un valor float en vez del famoso str? en principio con la f esa indicamos float pero no me sale ningun valor solo cuando empieza ejecutar solo me sale el » unknow ….»
Muchas gracias
Estimado, ¿puedes indicar el error completo? ¿unknown… que? ¿qué es lo que no conoce o no reconoce el compilador Python?
Saludos
JZ
Hola gracias por el tutorial, pero tengo unas dudas, lo estoy tratando de hacer en una orange pi lite, la tengo con armbian y el sensor es un DHT11, cuando lo ejecuto me crea el log y todo, pero solo me arroja «Error al obtener la lectura del sensor», tengo otro codigo en C que si me arroja datos, por lo que deduzco que no es problema del sensor pero ese no me los guarda, solo lo muestra en tiempo real. la salida del sensor la tengo en el pin7, y cambie el pin en dht_log.py
Hola, yo creo que el problema esta en que estas confundiendo el numero de pin con el puerto GPIO, en el codigo se coloca el puerto, es decir si tienes la conexion en el pin 7, este corresponde al puerto GPIO 4, entonces en el codigo, linea 23 debes colocar pin=4.
Saludos
JZ
Buenas
Una anotación, el cableado indicado en la tabla es erroneo, el del esquema gráfico es correcto.
Saludos
oh! gracias Marco, corregido.
Saludos
JZ
amigo una consulta, cuando ejecuto el script de «dht_mysql.py» arroja el error de queno existe el modulo «config_local». De donde sale ese archivo? y que debe contener dentro?
Hola Erick, el archivo dht_mysql.py es un ejemplo mas avanzado, este programa escribe los datos obtenidos desde el sensor en una base de datos MySQL.
Las credenciales y otras variables se guardan en el archivo config.py el cual tiene un truco, en las ultimas lineas carga el archivo config_local.py el cual sobre escribe las variables de configuracion para evitar que estas queden registradas en el repositorio GitHub, basicamente este archivo debe tener las mismas variables que config.py, ejemplo:
# Configuracion credenciales MySQL
MYSQL_SERVIDOR = «localhost»
MYSQL_BD = «raspberrypi»
MYSQL_USUARIO = «raspberrypi»
MYSQL_CONTRASENA = «contrasena_super_secreta»
Saludos
JZ
Hola,
Me agrado mucho tu programa y la explicación tan detallada, me gustaría saber si hay una programación similar para C++.
Gracias.
Hola Eduardo, la verdad, desconozco si existe algo para C++, hace años que no escribo ni una sola linea de codigo en C++.
Saludos.
Que tal, seguí el tutorial y todo perfeto, quiero saber si me puedes pasar un link de ayuda o tu decirme como puedo estar mandando estos datos del sensor de temperatura directamente a un web service
Hola Brandon, los webservices normalmente tienen un protocolo o lenguaje, algunos usan json, otros interfaces REST.
Que webservice deseas usar?
Saludos.
hola estimado, mi consulta es como puedo utilizar posteriormente estos datos y realizar un gráfico para ir mostrando las variables medidas en tiempo real.
Hola David, para graficar puedes usar esta libreria que es muy completa https://d3js.org/
Saludos.
Me pone: ImportError: No module named Adafruit_DHT
Hola Pedro, instalaste la librería de Adafruit para el sensor? ese error es cuando la librería no esta instalada.
Saludos
JZ
Hola, al instalar la libreria me da este error:
Extracting in /tmp/tmpTtylJq
Traceback (most recent call last):
File «setup.py», line 4, in
use_setuptools()
File «/home/pi/adafruit/ez_setup.py», line 140, in use_setuptools
return _do_download(version, download_base, to_dir, download_delay)
File «/home/pi/adafruit/ez_setup.py», line 120, in _do_download
_build_egg(egg, archive, to_dir)
File «/home/pi/adafruit/ez_setup.py», line 62, in _build_egg
with archive_context(archive_filename):
File «/usr/lib/python2.7/contextlib.py», line 17, in __enter__
return self.gen.next()
File «/home/pi/adafruit/ez_setup.py», line 100, in archive_context
with ContextualZipFile(filename) as archive:
File «/home/pi/adafruit/ez_setup.py», line 88, in __new__
return zipfile.ZipFile(*args, **kwargs)
File «/usr/lib/python2.7/zipfile.py», line 770, in __init__
self._RealGetContents()
File «/usr/lib/python2.7/zipfile.py», line 813, in _RealGetContents
raise BadZipfile, «File is not a zip file»
zipfile.BadZipfile: File is not a zip file
Alguna idea?
Hola Octavio, el error es porque no reconoce el formato zip de un archivo comprimido. Tienes la app zip instalada?
zip – Archiver for .zip files
Un «apt-get install zip» te puede ayudar, la otra explicacion es que el archivo que estas bajando con la librería esta corrupto.
Saludos
JZ
Como mostrar esos valores en tiempo real que tienes en tkinder.
Para mostrarlos en tiempo real, deberias leerlos desde la base de datos y desplegarlos en Tkinder.
Explicarlo requiere mas que un comentario de blog, lo anotaremos para un tutorial.
Saludos
JZ
Le agradecemos por los conocimientos dados en este curso
El aprendizaje del uso del raspberry
07 de diciembre 2018
Normalmente siempre encuentro este componente con el encapsulado de la siguiente imagen. Sugiero que lo actualiaces, aunque bueno, también resulta instructivo el tener que jugar con los cables…
http://www.circuitbasics.com/wp-content/uploads/2015/12/DHT11-Pinout-for-three-pin-and-four-pin-types-2-1024×742.jpg
Muy buen manual, claro y muy bien explicado, muchas gracias!
¿Sabes como podría hacer que me mande un correo cuando la temperatura o la humedad superen ciertos valores?
Cesk
Para enviar un correo habria que utilizar una libreria python llamada smtplib.
Busca informacion, es bien simple y en la red esta lleno de ejemplos de como enviar un email desde Python.
Si tengo tiempo hare un update de este tutorial para que envie un correo.
Saludos
JZ
hola amigo muy buen tutorial
me consulta es como podría traspasar estos datos a firebase
para ver la temperatura y humedad en tiempo real
saludos estimado
Hola Max
Desconozco si Firebase tiene una API que permita graficar, hay otros proveedores que ofrecen lo mismo, graficar en tiempo real, personalmente estoy desarrollando un proyecto con la misma funcionalidad. Pronto novedades.
Saludos
JZ
Gracias si me funciono, aunque me queme un DHT11 por conectarlo al revés jaja pero ya al segundo intento y conectándolo bien si funciono.
He tenido varios problemas al querer correr el programa y por mucho tiempo pensé que era la mala conexion del sensor al raspberry. Pero cuando sale el error: Unkwon format code ‘f’ for object of type ‘str’. Yo lo pude solucionar entrando directamento al archivo «dht_consola.py» y modificando la variable «pin» igualandola a 17 (que es el pin del GPIO en el que esta conectado mi sensor al Raspberry).
Espero les sirva 😀
Excelente tutorial Muchas gracias por compartirlo
Una consulta existe la posibilidad o tienes algun tuto para mostrar estos datos en grafana en un dashboard no puedo encontrar algun tuto bueno como este
me ayudarias demasiado gracias
hola como haria para guardar los datos del sensor en mysql ayuda por favor
hola estimado, excelente material y aporte.
Quisiera pedirte ayuda con un error de sintaxis en ‘except Exception, e’ del archivo dht_log.py. Me especifica la ‘e’ como error.
Al usar la interfas gráfica de python en la rasp no tengo problema, pero al usarlo desde la terminal arroja ese error.
Si me pudieras ayudar te estaría agradecido.
saludos….
Hola Cristhofer, El programa esta hecho para Python 2.7, ¿Qué version de Python estas usando? por el error creo que usas la version 3.
Saludos
JZ
Buenas, he seguido todos los pasos, al ejecutar me sale el siguiente error:
pi@raspberrypi:~/proyectos/RaspberryPi-DHT11 $ ls
config.py dht_consola.py dht_log.py dht_mysql.py README.md sql
pi@raspberrypi:~/proyectos/RaspberryPi-DHT11 $ sudo ./dht_consola.py
^CTraceback (most recent call last):
File «./dht_consola.py», line 27, in
humedad, temperatura = Adafruit_DHT.read_retry(sensor, pin)
File «build/bdist.linux-armv7l/egg/Adafruit_DHT/common.py», line 97, in read_retry
KeyboardInterrupt
pi@raspberrypi:~/proyectos/RaspberryPi-DHT11 $
Sabrías que le puede pasar ???
Hola Nicolas, pueden ser dos cosas, la version de Python o que no has instalado la libreria correspondiente.
En todo caso, te recomiendo actualizar a la nueva version que subi hace unos minutos, esta version es para Python 3 con la nueva libreria de Adafruit, ya que la anterior esta obsoleta.
Saludos
JZ
Hola, gracias por el manual, he seguido los pasos pero no me funciona?, el error que le lanza:
Traceback (most recent call last):
File «./dht_consola.py», line 15, in
import Adafruit_DHT
ImportError: No module named Adafruit_DHT
veo que el post tiene ya algún tiempo, se debe hacer algo adicional?
Hola Royner
El post tiene ya 3 años pero lo hemos ido actualizando a las ultimas versiones de sistema operativo para la Raspberry Pi.
Tienes la libreria de Adafruit instalada?
Saludos
JZ
Muchas gracias por el tutorial, aunque no lo he podido poner en marcha.
Lo estoy realizando con un DHT22 y me da error al intentar instalar la libreria sql:
pi@raspberrypi:~ $ sudo apt-get install python3-dev **default-libmysqlclient-dev**
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
E: No se ha podido localizar el paquete **default-libmysqlclient-dev**
E: Error de compilación de expresiones regulares – La expresión regular precedente es inválida
E: No se pudo encontrar ningún paquete con la expresión regular «**default-libmysqlclient-dev**»
He leido que ya está obsoleto y que ahora se instala Mariadb.
y también me da error al instalar adafruit:
pi@raspberrypi:~ $ sudo pip3 install adafruit-circuitpython-dht
Traceback (most recent call last):
File «/usr/bin/pip3», line 5, in
from pkg_resources import load_entry_point
File «/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py», line 91, in
raise RuntimeError(«Python 3.5 or later is required»)
RuntimeError: Python 3.5 or later is required
Aunque tengo instalado dos python, el 2.7.9 y el 3.7.
pi@raspberrypi:~ $ python -V
Python 2.7.9
pi@raspberrypi:~ $ ls
apaga.py Downloads Public
apaga.py.save example.mp3 Python-3.7.0
arques Music Python-3.7.0.tgz
blink.py oldconffiles python_games
chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb otro.py shut.py
Desktop Pictures Templates
Documents
¿¿Me puede orientar alguien en estos temas para avanzar?? Gracias!!
Hola Santiago
Al parecer es un tema de version de sistema operativo, ¿que version tienes en la Raspberry Pi?
Saludos
JZ
Hola un saludo,
Hice todo procedimiento y el programa en python no me da ningún error, el problema lo tengo cuando ejecuto el consola.py me tendria que poner la humedad i temperatura, y me pone «Time out waiting for Pulse In message. Make sure libgpiod is installed». Creo que instle bien toda la libreria gpiod. Estoy haciendo el programa con la Raspberry Pi 4 model B y el sensor es un DHT11. Alguien tiene alguna idea de lo que me pasa? Puede ser que el sensor este dañado?
Muchas gracias
Hola Oriol
Puede que el sensor este dañado o que tengas una version antigua del sistema operativo.
¿Que version tienes?
Saludos
JZ
me da este error al correr dht_consola.py. Necesito su ayuda
Traceback (most recent call last):
File «./dht_consola.py», line 20, in
sensor = adafruit_dht.DHT22(pin).
File «/usr/local/lib/python3.7/dist-packages/adafruit_dht.py», line 284, in __init__
super().__init__(False, pin, 1000, use_pulseio)
File «/usr/local/lib/python3.7/dist-packages/adafruit_dht.py», line 74, in __init__
self.pulse_in = PulseIn(self._pin, 81, True)
File «/usr/local/lib/python3.7/dist-packages/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py», line 73, in __init__
message = self._wait_receive_msg()
File «/usr/local/lib/python3.7/dist-packages/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py», line 91, in _wait_receive_msg
«Timed out waiting for PulseIn message. Make sure libgpiod is installed.»
RuntimeError: Timed out waiting for PulseIn message. Make sure libgpiod is installed.
Hola Gregorio
Que version de sistema operativo tienes en la Raspberry Pi? Me parece que es un problema de versiones.
Saludos
JZ
Hola disculpa amigo podria ayudarme?, he seguido todos los pasos y funciona bien pero se esta deteniendo el proceso, meto el siguiente comando
sudo ./dht_log.py & [1] 13278
a las 6 horas aproximadamente se detiene el proceso.
Tambien tengo un problema, estoy graficando datos mediante splunk, pero me esta creando logs por dia, habra manera de que solo se registre un log?
gracias por la respuesta
Hola Ivan
Si el programa se detiene es porque algo falla, hay algun mensaje en el log?
Se podria implementar otro programa que revise si esta corriendo, y si no, lo inicia otra vez (esto se llama watchdog).
Con respecto al log, cambia la linea 29 por esta linea
log = open(log_path + "dht.log","a")
Asi quitas el nombre del archivo que se genera cada dia y solo se generara un solo archivo dht.log.
Saludos
JZ
traceback (most recent call last):
file »dht_consola.py», line 21, in
sensor = Adafruit_DHT.DHT11(pin)
typeError : ‘int’ object is not callable
Hola, ¿qué version de sistema operativo estas usando?
Saludos
JZ
Hola buenas, necesito su ayuda… al ingresar: sudo ./dht_consola.py me arroja
Traceback (most recent call last):
File «./dht_consola.py», line 22, in
sensor = adafruit_dht.DHT22(pin)
File «/usr/local/lib/python3.7/dist-packages/adafruit_dht.py», line 284, in __init__super().__init__(False, pin 1000, use_pulseio)
File «»/usr/local/lib/python3.7/dist_packages/adafruit_dht.py», line 74, in __init__self.pulse_in=PulseIn(self._pin, 81, True)
File «/usr/local/lib/python3.7/dist-packages/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py», line 73, in __init__message = self.wait_receive_msg(timeout=0.25)
File «/usr/local/lib/python3.7/dist-packages/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py», line 92, in _wait_receive_msg
«Timed out waiting for PulseInmessage. Make sure libgpiod is installed.»
RuntimeError: Timed out waiting for PulseIn message. Make sure libgpiod is installed.
Estoy utilizando la raspberry Pi Zero W con sistema operativo Linux raspberrypi 5.4.72+, el sensor es un DHT11 exactamente éste (https://www.googleadservices.com/pagead/aclk?sa=L&ai=DChcSEwiVxrTa37ztAhUcH60GHWuWCfMYABAEGgJwdg&ohost=www.google.com&cid=CAESQeD2PsSS6V3HGhksFJhVDi9ydBuXth1Nj4JyNKjODACRQtUyYtjMvbDYFj2R4grOZCDsyEh7wTbEHj0h-VkN8lXd&sig=AOD64_2tWqEAUmRsCPn1OgTmAaXKN14KGw&ctype=5&q=&ved=2ahUKEwj_wKTa37ztAhUdH7kGHRNnCRYQ9aACegQIDhBr&adurl=) , ya probé instalando libgpiod pero aun así me vuelve a arrojar ese mensaje. Desde ya muchas gracias estimado, espero prontamente su ayuda!
Hola Marcelo
¿Has probado el sensor con un Arduino? Al parecer hay un error de comunicacion entre el sensor y la Raspberry Pi
Saludos
JZ
Con el DHT_consola, cambio los comentarios para el DHT11 y al ejectuar me da el error «Unable to set line 23 to input» 🙁
Hola Alberto,
Prueba el sensor por separado con un Arduino para verificar que opera correctamente.
Saludos
JZ