Como enviar datos a ThingSpeak

Publicado por Loli Diéguez en

Normalmente se generan muchos datos en proyectos que se ejecutan las 24 horas del día. Una forma de almacenarlos de forma permanente es guardando los datos en una base de datos local, sin embargo, hay otras alternativas.

Uno de estas alternativas es ThingSpeak . Aquí puedes crear una cuenta gratuita para aplicaciones pequeñas y transferir tus datos muy fácilmente. Y de eso es exactamente de lo que trata este tutorial: cómo enviar datos de sensores a ThingSpeak y evaluarlos más tarde.

Material necesario

Todo lo que necesitas es una Raspberry Pi con conexión a Internet y un sensor cuyos datos medir. Incluso se puede registrar la actividad de la CPU. En este tutorial, utilizaremos un DHT22, con la ayuda del cual, mediremos la temperatura y la humedad.

Los siguientes sensores y módulos serían tambien útiles si quisieras construirte una estación meteorológica:

Configurar una cuenta ThingSpeak

Antes de comenzar, necesitas una cuenta en ThingSpeak. Crea una cuenta aquí si aún no tienes una, despues crearas un nuevo canal donde daras de alta los sensores.

En la imagen anterior es donde empezaremos a definir los canales introduciendo los datos que los van a identificar, como nombre, descripción,.... en total, se pueden utilizar hasta 8 campos. Los valores que ahora pongas podrás modificarlos más adelante.

 

Una vez que hayas guardado el canal, serás redirigido automáticamente a la pestaña "Vista privada". Aquí los campos asignados se muestran como un diagrama. Más arriba encontrarás el " ID de canal " (los necesitaremos más tarde). 

Posteriormente, pasamos a la pestaña "Claves API". Los dos valores de "Escribir clave API " y " Leer clave API "son igualmente necesarios para que podamos escribir o recuperar datos.

 

Conexión y configuración del sensor de temperatura

La siguiente imagen te indica como debes conectar el sensor a la placa Pi.

Conexión del sensor con la Raspberry Pi

Si no has usado antes ni el sensor ni la biblioteca aún no tendrás los necesarios para poder seguir adelante, así que, lo primero será instalar los paquetes básicos, ejecuta estos comandos en una ventana de terminal en tu Pi:

sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl git
Ahora instalamos la biblioteca para leer los sensores DHT11 / 22:
git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
sudo python setup.py install

Si todo va sin problemas, ya podemos continuar.

 

Uso de la biblioteca ThingSpreak de Raspberry Pi

Para poder utilizar el servicio, es posible simplemente enviar los datos a través de "POST" o recuperarlos a través de "GET". Las funciones están disponibles en casi cualquier lenguaje de programación y, con un poco de conocimiento, la transferencia de datos debería ser rápida. Las respuestas están en JSON.

Si no tienes suficiente experiencia o simplemente no tienes ganas de escribirlo, también puedes usar la biblioteca ThingSpeak. Para esto lo instalamos simplemente con pip:

sudo pip install thingspeak

Por un lado, se crea una librería Python y, además, una aplicación-terminal. También puedes llamar a thingspeak através de la consola (o desde otro programa C ++ / Java).

Así que podemos empezar. 

Nuestro pequeño script de Python debería leer la temperatura y la humedad del DHT22 cada 15 segundos y enviarlo a nuestro canal. Además, los datos deben recuperarse nuevamente (esto no es necesario en aplicaciones que solo envían datos, por lo que es solo un ejemplo de demostración). Creamos un nuevo archivo:
sudo nano thingspeak_example.py

Dentro de este archivo nuevo copiamos este codigo

 

 

Necesitas ajustar las líneas 5 a 7 en consecuencia. La línea 8 solo debe cambiarse si estás utilizando un GPIO diferente para el sensor.

Por supuesto, si no usas el sensor DHT22, el código debes ajustarlo un poco más.

Lee los datos en el Web Panel y a través de API

 

Los datos del panel se muestran con unos segundos de retraso. Puedes personalizar los paneles (apariencia y visualización de datos) e incluso escribir tus propias ideas para los datos.

Si deseas recuperar los datos a través de API, puedes hacerlo fácilmente a través de JSON. Debes reemplazar tu ID de canal (ejemplo: 206897) así como tu "Leer clave de API" (ejemplo: '000000000000000000') en el siguiente enlace:

https://api.thingspeak.com/channels/206897/feeds.json?api_key=9EZ7E0918UVVAGAY

Además, hay muchos otros parámetros que puedes especificar para limitar, sumar o filtrar los datos. Puedes encontrarlos en MathWorks Wiki .

SI QUIERES MÁS ARTÍCULOS, MIRA AQUÍ


Compartir esta publicación



← Publicación más antigua Publicación más reciente →