bclose

Suscribiendo Adafruit IO

Preparandonos para enviar lecturas a la nube

Conectando con un servicio en la nube 

 

 

  • Vamos a abrir una cuenta gratuita con Adafruit IO para publicar valores.
  • Veremos como crear Feeds y Dashboards.
  • Instalaremos las librerias necesarias
  • Dejaremos todo listo para empezar a publicar valores. 
 

 

Material requerido.

 

 Tienda EspañaTienda Mexico
 Vista principalUn ESP32Un ESP32

 

Enviando datos a la nube

 

Hasta ahora, hemos estado usando sensores de diferentes tipos y colores y publicando sus valores en la consola serie, o en varias clases de displays del tipo LCD o TFT, pero seamos modernos, esto está muy bien, pero lo que de verdad piden los tiempos (y el cuerpo) es montar alguna aplicación de IOT que nos permita subir las lecturas a la nube.

La IOT (Internet Of Things) es precisamente, enviar toda la información posible a servidores en la nube que nos permitan procesarla de forma estadística y, aún más importante, visualizar la información de forma gráfica más allá de torrentes interminables de números

Ya hemos publicado varias sesiones de como enviar por WIFI, Bluetooth o LORA datos, pero hasta ahora nos habíamos centrado más en la parte técnica de enviar mensajes con datos que en la parte del servidor que recibe la información para procesarla.

En esta sesión nos vamos a centrar en conectar a un sistema IOT sencillo mediante nuestras propias claves de acceso que nos permita visualizar nuestra información cuanto antes, qué es lo que nos permite interpretarla con rapidez.

Por tanto, vamos a centrarnos hoy en conectar a un servicio público de IOT, y de las muchas opciones disponibles en el mercado, hemos elegido la de Adafruit IO como ejemplo inicial por su sencillez y comodidad.

 
  • Vaya por delante que no tengo ninguna conexión con Adafruit, ni les hago publicidad por interés económico, no me pagan por esto ni Adafruit ni nadie, solo os lo recomiendo porque me parece un servicio excelente y fácil.
  • Pero, además, Adafruit se merece nuestro apoyo decidido, porque ellos apoyan el software libre y a la comunidad Arduino publicando tutoriales y librerías que hemos usado en múltiples ocasiones. Por otro lado, el servicio de Adafruit io, es gratuito para pocos datos con ciertas limitaciones, y es escalable a medida que necesitéis más sensores por una tarifa muy razonable  

Por todo ello vamos a ir directamente a hacer un ejemplo de cómo abrir una cuenta con Adafruit y a lo largo de esta sesión crearemos un Feed y un Dashboard para publicar nuestros datos online, y luego veremos uno de los ejemplos que viene con las librerías de conexión de como publicamos un valor cualquiera.

 

Como crear una cuenta en Adafruit

 

Pues muy fácilmente, si estáis cómodos en inglés, esos sí. Vamos a  Adafruit IO y pincha en sign in:

Menu de entrada

Te aparecerá el menú de suscripción:

Pagina de enganche

Te aparecerá un pantallazo para meter los datos de tu cuenta. Hazlo y pincha en el botón azul “CREATE ACCOUNT”:

Crear cuenta adafruit io

Y ya estas. Ahora hay que definir algunas cosas, pero de momento llegarás a esta pantalla, que es desde la que vas a administrar tu cuenta:

Menu principal

Antes de nada, fíjate en la flecha roja que apunta al menú “My Key”, ahí vas a tener tus datos de conexión que te van a hacer falta en tus programas para publicar información. Si lo pinchas, verás tus claves privadas y luego veremos donde las pondrás en tu programa, Siempre puedes volver aquí a ver cuáles son y copiarlas, pero no las circules por la cuenta que te tiene (Ni las hagas circular o te expulsarán rápidamente. Estas claves son privadas, procura que sigan asi).

Claves personales

Vas a necesitar estas claves más adelante y te conviene anotarlas en algún sitio (Las de Arduino al menos)

 

Creando Feeds y Dashboards

 

Una vez creada la cuenta, ya podemos crear feeds y dashboards. Veamos qué es esto.

Feeds: Cada uno de los parámetros que deseas monitorizar es un Feed. Por ejemplo, si estamos midiendo CO2 desde un sensor, es buena idea crear un sensor llamado así CO2 . Si tienes tres sensores de CO2 , otro de temperatura y otro de humedad, tendrás que crear 5 feeds. Uno por cada sensor que trabajas:

- CO2_1
- CO2_2
- CO2_3
- Temp_1
- Humedad_1

Cada Feed archivará el histórico de datos que tu sensor vaya enviando.

 
  • Cuidado aquí porque la versión gratis total, solo archiva la información del último mes, pero a efectos de pruebas es más que suficiente.  
  • Revisa las limitaciones de la cuenta gratuita antes de apoyarte en ella para un proyecto real 

Para crear un Feed, vamos a nuestra cuenta Adafruit y pincha en

IO\Feeds\View All
configurando adafruit io

Y desde aquí podemos crear nuestros feeds con el botón New Feed:

Creando feeds

Los menús son un poco confusos, pero en seguida te acostumbras. Crea un Feed llamado contador (O el nombre que quieras siempre que te acuerdes)

Una vez creados los Feeds, nos toca alimentarlos con el programa, para lo que podemos definir un dashboard (O Cuadro de mandos) para mostrarlo

pasando a la seccion dashboards

Pulsando en view all entramos a los menús para crear un nuevo cuadro de mandos

mostrando el menu dasboard

Pinchando en el botón New Dashboard, nos pedirá el nombre del mismo, yo he creado uno llamado CO2

peticion de datos

Con lo que ya te aparecerá un Dashboard con ese nombre y si pinchas en el se abre la ventana de configuración de tu dash, pincha en el menú desplegable de la derecha y elige Create new block:

Menu dashboard y bloques

Un dashboard se constituye arrastrando y soltando bloques que pueden ser de varios tipos. Vamos a añadir un gauge para mostrar valores instantáneos, como un velocímetro y un line chart para mostrar valores históricos

La idea básica es que asignas cada bloque, que vas añadiendo, a un Feed, para mostrar su valor. Es imposible ir mostrando paso a paso el proceso, pero basta con pinchar y arrastrar los bloques, pero si juegas un poco verás que es sencillo.

dashboard con gauge y lineas

 

Instalando las librerías de Adafruit io

 

Las librerías de Adafruit.io soportan varios procesadores Arduino generales y muchos particulares de Adafruit, pero todos tienen algo en común y es que, obviamente, necesitan WIFI o Ethernet para conectarse a la nube. Y en concreto soportan tanto el ESP8266 como el ESP32 que son los que nos interesan.

Para instalar las librerías precisas vamos a:

 \\Programa\Incluir Libreria\Administrar bibliotecas

como es habitual y ahí escribe en la barra de búsqueda “Adafruit io Arduino“:

administrador de bibliotes arduino

Dale a instalar. Te preguntará si quieres instalar las dependencias, dile que si a todo y adelante. Como siempre, una vez finalizada la instalación disponemos de múltiples ejemplos de uso. Abre el ejemplo:

\\Ejemplos\Adafruit IO\ adafruitio_00_publish

Verás que dispone dos pestañas, una de programa y otra de configuración. Pincha en esta última

pestalla configuracion adafruit io

La idea de esta pestaña es poder configurar tu WIFI, tus claves de Adafruit IO y el tipo de micro que usas. Vamos a empezar poniendo tus identificadores personales para acceder a la nube de Adafruit (Y que anotamos más arriba), Busca estas líneas al principio del Config.h, y reemplazalas con tus propias claves adafruit:

#define IO_USERNAME "your_username"
#define IO_KEY "your_key"

Vamos ahora a localizar estas líneas para el WIFI, y pon tus claves para la WIFI que vas a usar:

#define WIFI_SSID "your_ssid"
#define WIFI_PASS "your_pass"

Si vas a usar un Esp8266 o un ESP32 no necesitas cambiar el procesador por defecto que viene definido, pero si quieres usar ethernet entonces tienes que buscar y comentar estas líneas:

#include "AdafruitIO_WiFi.h"
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);

Y sustituirlas por estas otras (Que también tienes por ahí)

#include "AdafruitIO_Ethernet.h"
AdafruitIO_Ethernet io(IO_USERNAME, IO_KEY);

Salva el programa y ya estamos listos. En la próxima sesión usaremos esta cuenta para subir los valores de un sensor de CO2 a la nube con ayuda de Adafruit.

 

IMAGEN DE MARCA