ThingSpeak

ThingSpeak

ThingSpeak es una plataforma abierta de aplicaciones, diseñada para permitir conectar personas con objetos. Se caracteriza por ser una plataforma Open Source con una API para almacenar y recuperar datos de los objetos usando el protocolo HTTP sobre Internet o vía LAN (Local Area Network).

Se trata de una plataforma basada en Ruby on Rails 3.0 (RoR), este es un framework de aplicaciones web de código abierto basado en Ruby, cuya arquitectura está basada en el Modelo Vista Controlador (MVC). Se caracteriza por su simplicidad a la hora de programar aplicaciones del mundo real, escribiendo menos código y con una configuración mucho más sencilla que otros frameworks. Otra de las características que hacen de RoR un framework perfecto para el desarrollo de aplicaciones es que permite el uso de meta programación, haciendo que su sintaxis sea más legible y llegue a un gran número de usuarios.

La aplicación incluye todo lo necesario para poder empezar a trabajar, desde una aplicación web en la que podremos gestionar usuarios, gestionar claves de API, gestión de canales y cartografía.


Características principales.

Destacaremos algunos puntos importantes en toda plataforma tales como su

API, App (si las tiene), integración, hardware:

API

Un punto importante a la hora de desarrollar cualquier proyecto es encontrar un API disponible de forma sencilla para que el desarrollador tenga los mecanismos necesarios para el desarrollo de la aplicación.

En este caso, ThigSpeak dispone de una API la cual está disponible en GitHub para su descarga en un servidor propio. Es totalmente abierta, por lo que también se puede modificar su código fuente original y así contribuir a la comunidad con nuevas características, un principio básico en toda

plataforma Open Source.

Canales

La forma que tiene esta plataforma de almacenar y publicar los datos es a través de los “Chanels” (Canales). Su creación es muy simple y en un par de clicks y rellenando una serie de datos lo tendremos disponible sin mayor complicación. Nuevamente y según profundizas en este plataforma ves que el objetivo es simplificar el trabajo.

Plugins

Para extender la funcionalidad del sitio también se nos brinda la oportunidad de desarrollar plugins. Estos nos ofrecen la posibilidad de crear aplicaciones de forma nativa en nuestra plataforma ThigSpeak.

Soporta HTML, CSS y JavaScript como lenguajes de programación. Al igual que los canales los plugins pueden ser público o privados según sean nuestras necesidades.

Por último, destacar que ofrece la posibilidad de usar Google Gauge Visualization , gracias al cuál nos ofrece la posibilidad de visualizar los datos de una forma rápida y amigable, con un nivel de personalización muy amplio.

Integración

Uno de los puntos fuertes en cualquier plataforma IoT, es que permita una amplia integración con diversos dispositivos Hardware y software. En este caso ThingSpeak permite la integración de su plataforma con:

o Arduino

o Raspberry Pi

o IoBridge / RealTime.io

o Electric Imp

o Móbiles / Aplicaciones web

o Redes Sociales

o Análisis de datos con MATLAB


Apps en ThingSpeak

Sin duda las aplicaciones que encontramos en ThingSpeak son un complemento perfecto para nuestros proyectos, dotándolos en muchos casos de unas funcionalidades muy interesantes, actualmente tienen las siguientes aplicaciones en catálogo.

ü ThingTweet : Esta aplicación actúa como proxy permitiendo a nuestro dispositivo enviar actualizaciones de status a Twitter. Esto se consigue gracias a una llamada a la API de ThingTweet.

ü TweetControl: Esta aplicación se pone a escuchar los hashtags de

Twitter y luego permite controlar cualquier cosa que puedas imaginar. Cualquier cosa que se pueda conectar a través de ThingHTTP también se puede conectar a Twitter.

ü ThingHTTP: Con ThingHTTP permite a un microcontrolado o

dispositivo a bajo nivel conectarse a un web service a través de

Internet o la propia red.

Soporta los métodos GET,POST,PUT y DELETE, SSL y Autenticación

Básica.

ü React: Básicamente lo que realiza esa app, es ejecutar una acción cuando se cumple una cierta condición para los datos en nuestro canal. Por ejemplo, podríamos encender nuestra cafetera según llegamos a casa del trabajo, creando un React de Geolocalización.

ü TalkBack: Permite que cualquier dispositivo pueda actuar sobre los comandos en cola. Por ejemplo, podremos controlar una puerta añadiendo comandos tales como OPENDOOR,CLOSEDOOR usando web interface o API. El funcionamiento podría ser el siguiente si alguien se acerca a la puerta esta se abre, si después de un par de minutos no se detecta movimiento esta se cierra.

ü TimeControl: Con TimeControl a un determinada hora, podremos

ejecutar un ThingHTTP o un ThingTweet, e incluso añadir un nuevo comando a TalkBack.

Ámbitos de aplicación.

Esta plataforma reúne a una comunidad que sobre todo se inicia en el mundo del IoT, por lo que principalmente nos encontramos con proyectos que son “prototipos” aunque por supuesto podemos encontrar proyectos que más profesionales. Por lo que principalmente esta orientado al mundo del Smart Home.

Conclusiones

Estamos ante una plataforma que recomendaría para todo aquel interesado en iniciarse en el internet de las cosas. Sin duda dispone de una interfaz muy amigable con todos los mecanismos y tecnologías necesarios para cualquiera que necesite monitorizar, cualquier dispositivo.

Hay que destacar también el apartado dedicado a las aplicaciones, facilitan mucho la tarea a la hora de desarrollar cualquier proyecto.

Thingspeak será la plataforma elegida para nuestra aplicación real. Los motivos por los que se ha elegido está plataforma son primeramente, por ser una plataforma Open Source , por su fácil configuración, el tener una API documentada es también uno de los motivos por los se ha elegido esta plataforma. Disponer de una integración sencilla con aplicaciones de terceros, como por ejemplo Twitter, u otras aplicaciones como ThingHttp de fácil configuración. Otro motivo fundamental es su compatibilidad con Arduino y el disponer de documentación referente a esta tipo de hardware.