Estación de medida ambiental


En esta entrada os expongo un ejemplo de aplicación basado en una estación de medida ambiental, la cual se encarga de leer valores de temperatura, humedad relativa y presión atmosférica, calcular la temperatura del punto de rocío y además, enviar los datos automáticamente a una plataforma cloud, en nuestro caso, ThingSpeak.

Este ejemplo lo he desarrollado con una compañera (visitad su blog en  Paso a Paso en las TICs), de ahí que el código que os presentaré lleve también su nombre.


Fig. 1: Estación de medida ambiental

En la Fig.1 se muestra un esquema básico de la aplicación. El dispositivo encargado de recoger los datos de los sensores, realizar los cálculos necesarios y establecer la comunicación con ThingSpeak es una Raspberry PI 3 Model B. En las siguientes entradas de mi blog encontraréis todo lo necesario para configurarla adecuadamente:


Los sensores utilizados son: DHT22 (Temperatura y humedad relativa) y BMP180 (presión atmosférica). La temperatura de rocío se obtiene de aplicar el valor de temperatura y humedad relativa a la siguiente expresión matemática: 



En cuanto a la conexión de los sensores a la RPI, en el siguiente post os explico cómo hacerlo: Entrada Conexión Sensores

Respecto a los protocolos de comunicación utilizados, la configuración de ThingSpeak se realiza mediante HTTP, mientras que la subida de datos es más sencilla y ligera (consume menos recursos de red) utilizando MQTT. Os dejo un enlace con las entradas de mi blog en las que explico los primeros pasos a dar en la plataforma y cómo implementar las comunicaciones comentadas: Entradas ThingSpeak

Por último, mediante Google Charts podemos acceder a los datos que hemos subido a ThingSpeak y visualizarlos mediante un gráfico desarrollado por nosotros. Toda la información de cómo hacerlo está en el siguiente post:


A continuación os dejo un listado completo de los materiales necesarios para la implementación de este ejemplo:
  • PC con entrada de conexión de cable Ethernet
  • Cable Ethernet
  • Raspberry PI 3 Model B (Los pasos de configuración explicados en los posts son para una RPI 3 Model B, en caso de que dispongas de otro modelo no te aseguro que todos los pasos se realicen igual o que tu RPI disponga de las mismas características)
  • Tarjeta microSD
  • Cable de alimentación para la RPI
  • Sensor DHT22 de Adafruit 
  • Sensor BMP180
  • Placa Protoboard (Fig.2)
  • Cables de puente para Protoboard (Fig.2)
Fig.2: Placa Protoboard y cables de puente

En el siguiente enlace podéis descargaros el código Python (para leer los datos de los sensores, configurar el canal de ThingSpeak y resolver la comunicación con él) y JavaScript (para desarrollar el Google Charts que nos permite visualizar los datos subidos a ThingSpeak):


Recordad que en ambos archivos tenéis que introducir los datos relativos a vuestra cuenta y canal ThingSpeak para poder subir y descargar los datos. A continuación os muestro los datos registrados en ThingSpeak y una parte de ellos visualizados mediante un gráfico Google Charts:

Fig. 3: Datos visualizados en ThingSpeak y Google Charts

Espero que estos posts  os hayan sido de utilidad. En el caso de que os haya surgido cualquier duda o problema en alguno de los pasos a seguir, por favor dejad un comentario e intentaré ayudaros.

Comentarios