Lectura de los sensores DHT22 y BMP180
En la siguiente entrada voy a explicaros como instalar las librerías Python en la Raspberry para poder utilizar los sensores DHT22 y BMP180, y cómo obtener los datos de dichos sensores.
Para empezar, tenéis que acceder a la RPI, ya sea mediante la conexión de pantalla, teclado y ratón o vía un cliente SSH (Putty) tal y como se ha hecho en las entradas anteriores.
Es necesario que tengáis las herramientas de desarrollo Python instaladas en la RPI, así como tener habilitados los buses GPIO e I2C. En el caso de que os falte alguno de estos tres pasos, en mi anterior post encontaréis cómo se hace:
sudo apt-get install git
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install
Es necesario que tengáis las herramientas de desarrollo Python instaladas en la RPI, así como tener habilitados los buses GPIO e I2C. En el caso de que os falte alguno de estos tres pasos, en mi anterior post encontaréis cómo se hace:
Una vez configurado, procedemos a descargarnos la librería de Adafruit para el DHT22 y la instalamos (para ello necesitaréis acceso a Internet en la RPI, también explicado en anteriores entradas):
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install
A continuación, nos descargamos e instalamos la librería de Adafruit para el BMP180:
git clone https://github.com/adafruit/Adafruit_Python_BMP.git
cd Adafruit_Python_BMP
sudo python setup.py install
git clone https://github.com/adafruit/Adafruit_Python_BMP.git
cd Adafruit_Python_BMP
sudo python setup.py install
La lectura de los sensores se realiza utilizando las funciones de sus respectivas librerías. El código se implementa en un archivo .py a fin de que las herramientas Python de la RPI puedan interpretarlo y ejecutarlo. Este archivo podéis crearlo directamente en la RPI, o en vuestro PC y posteriormente transferirlo a la RPI mediante un cliente FTP. Yo lo haré de la segunda forma.
El código para obtener los datos de los sensores es el siguiente:
DHT22
import RPi.GPIO as GPIO
import Adafruit_DHT
GPIO.setmode(GPIO.BCM)
GPIO.setup(22,GPIO.IN)
humedad,temperatura=Adafruit_DHT.read_retry(Adafruit_DHT.DHT22,22)
print 'DHT22 -> T = '+str(temperatura)+'ºC'
print ' -> H = '+str(humedad)+'%'
Importamos las librerías del GPIO y DHT22, configuramos el pin GPIO al que hemos conectado el sensor y finalmente, leemos los valores que proporciona el sensor y los enseñamos por pantalla.
BMP180
import Adafruit_BMP.BMP085 as BMP085
sensorBMP180=BMP085.BMP085()
presion = sensorBMP180.read_pressure()
print 'BMP180 -> P = '+ str(presion)+'Pa'
Importamos la librería del BMP180, creamos un objeto de tipo BMP085 del cual leemos la presión y la enseñamos por pantalla.
Para cargar el archivo .py en la Raspberry, utilizaremos un cliente FTP (WinSCP) que os podéis descargar en vuestro PC de la siguiente página:
Una vez instalado, seguid los siguientes pasos:
I. Conectaros a la RPI mediante cable Ethernet o Wifi.
II. Abrir WinSCP, seleccionar el Protocolo: SFTP, poner la IP de la RPI, Puerto: 22, y usuario/contraseña de la RPI.
Los directorios de la derecha pertenecen a la RPI, y los de la izquierda a nuestro PC. Podemos crear nuevas carpetas en ambos directorios con las barras de herramientas que presentan. Así pues, seleccionamos el archivo .py que hemos creado y lo subimos a la carpeta de la RPI que queramos (en mi caso he creado una carpeta 'Practica_TIC'). Una vez nos aparezca en los directorios de la RPI, podemos cerrar el WinSCP.
Por último, volved a acceder a la RPI mediante el método habitual que utilicéis y dirigios al directorio donde habéis guardado el archivo .py, en mi caso (/home/pi/Practica_TIC):
cd /home/pi/Practica_TIC
python Python_EstacionAmbiental.py
Espero que este post os sea de ayuda, y en caso de tener alguna duda o sugerencia, ¡Estaré encantado de responder a vuestros comentarios!
Comentarios
Publicar un comentario