ThingSpeak es una solución abierta para
los productos y servicios del Internet de las Cosas. Permite de una forma muy
simple crear gráficas, publicar tweets, entre otras cosas.
Una vez registrados, se crea un nuevo
canal .
Como se puede ver arriba, se tendrán dos campos, “iiotestado” muestra
si el parking está lleno o no indicándolo a través de twitter. Por otro lado en
“iiotprecio” se suponía que a través de un tweet indicaría los cambios de
precio.
En la pestaña API KEY se pueden ver las
llaves necesarias tanto para escribir como para leer a través de ThingSpeak.
Para ver las gráficas generadas
habría que seleccionar en las vistas, dependiendo de si son públicas o
privadas.
En la parte superior en Apps, pueden encontrarse
funciones muy interesantes. Una de las utilizadas es ThingTweet. ThingTweet es una aplicación integrada dentro de
ThingSpeak para actualizar Twitter a través de la propia plataforma. Como
Twitter necesita autenticación vía OAuth y los dispositivos que normalmente se
usan en ThingSpeak son de bajo nivel, la plataforma
se usa como proxy para comunicarse con Twitter. De esta forma el dispositivo se
puede comunicar con Twitter usando pequeñas llamadas a la API.
Para
comenzar a usar ThingTweet es necesario entrar a la cuenta de ThingSpeak e ir
al apartado de ThingTweet dentro de Apps. Una vez ahí se pulsa en Link Twitter
Account, lo que redirecciona a Twitter para que se autentique y además
autorizar a la plataforma para usar la cuenta. Una vez autorizado se
redirecciona de nuevo a ThingTweet, donde se genera una clave (API Key) que se
usará dentro de Arduino para mandar mensajes. Con esta clave se podrán mandar
paquetes HTTP de tipo POST con la información que se desea entablar con la
plataforma. En el siguiente enlace se puede ver el ejemplo completo.
https://github.com/iiotUHU/iiot/tree/master/ThingSpeak
La
información que se intentará mandar tendrá la estructura de la URL siguiente:
https://api.thingspeak.com/update.json?api_key=XXXXXXXXXXXX&field1=10
Para
construir el paquete se hará de la siguiente manera, donde se genera el
encabezado del paquete HTTP con la información que se mandará:
String
data = "api_key= XXXXXXXXXXXX &field1="+tsData;
client.print("POST
https://api.thingspeak.com/update.json HTTP/1.1\n");
client.print("Connection:
close\n");
client.print("Content-Type:
application/json\n");
client.print("Content-Length:
");
client.print(data.length());
client.print("\n\n");
El paquete contiene la dirección de la
API de ThingSpeak que se conecta con Twitter, la clave antes mencionada y el
parámetro o parámetros que se configuran para mandar el mensaje a Twitter.
En
React es posible responder a un evento que entra en la plataforma. Las
“reacciones” creadas son las que se pueden ver a continuación:
El
ejemplo que se va a explicar es el caso de vacío con el siguiente funcionamiento. Cuando en el
campo “iiotestado” se inserte el valor 30,
a través de ThingTweet se enviará un aviso por Twitter. Como se puede
ver a continuación el sistema creado, es lo bastante intuitivo como para que
cualquier persona sin grandes conocimientos técnicos pueda programarlo.