Pachube/Cosm

7 07 2012

Pachube (ahora se llamará Cosm)  es pionera en desarrollo de aplicaciones y servicios web para conectar personas y dispositivos. Es lo que se considera “el Internet de las Cosas”, un concepto global en el que todo está conectado (casas, móviles, coches, lámparas, pcs…) nacido en 2008 y del que se está comenzando a hablar muy en serio.

Con ésta adquisición LogMeIn pretende entrar en un comercio en auge que se supone llegará a conectar más de 50.000 millones de dispositivos (muy variados entre si, como hemos comentado) en un futuro muy próximo. Ésta tecnología podría ayudar a mejorar la calidad de vida actual así como dar el último impulso a proyectos tan famosos como las viviendas inteligentes o ciudades “tecnológicas” enteras.

LogMeIn es más que conocido por sus programas de interconexión de ordenadores y control remoto para asistencia, trabajo a distancia… así que con la adquisición veremos, quizá, una diversificación de mercado y una ampliación enorme del valor de la empresa.
Por supuesto, queda mucho para que el “Internet de las Cosas” se haga una realidad pero cada día son más los dispositivos y sensores inteligentes que rodean nuestras vidas e incluso nuestro propio cuerpo.
Comenzando por los más modernos teléfonos móviles, alarmas y coches hasta terminar por tejidos inteligentes, implantes electrónicos y computadores cada vez más potentes y pequeños (todo esto aderezado con “la nube” ) estamos viviendo una convergencia de tecnologías en las que, esperemos, todas formen parte de un ente común.

Go to Pachube is now Cosm

Para quien no lo conozca, Pachube es una web donde poder transmitir la información que generan nuestros dispositivos (lo que se conoce como Internet de las cosas). Todos alguna vez hemos creado/tenido un dispositivo que genera información que nos gustaría consultar: Un sensor de temperatura o de humedad, un contador de entradas a un recinto, cuantas veces se ha ejecutado un comando, etc. Cualquier cosa que queramos saber y se pueda medir es susceptible de usarse con Pachube. Eso si, nuestro dispositivo debe tener una conexión a Internet para poder subir los datos (Wifi, ethernet, GPRS u estar conectado a otro dispositivo que lo tenga como un PC). La ventaja es que mediante nuestro ordenador/móvil/tablet podremos consultar los datos que nuestro dispositivo envía en la web de Pachube de una forma gráfica. El servicio es gratuito, podemos hacer que nuestros feeds sean públicos o privados, podemos consultar el historial de datos y enviar alarmas y notificaciones a nuestros dispositivos. Tiene limitaciones como que no se puede hacer más de 100 peticiones por minuto, pero en la mayoría de los casos nos da de sobra.

Se van a explicar de una forma sencilla cómo enviar los datos, (para un detalle mayor se debe profundizar  la documentación).

Los pasos a realizar son los siguientes:

1-El primer paso  es registrarse en su web https://pachube.com/. Es un proceso sencillo y rápido( no pide mas que una dirección de correo  y un par de cosas mas).

2-Lo segundo es crear una key en el menú My keys. Esta sirve para poder autentificarnos en las acciones que enviamos a Pachube. Además se les asignan permisos para que pueda ser usando en cualquier feed, en todos nuestros feeds (públicos o privados) o en unos determinados feed de nuestra elección.

Además se les asigna los permisos de lectura de feeds, creación de feeds, actualización de feeds o borrado de feeds. Igualmente tiene restricciones avanzadas:

  • Ccaducidad de la key
  • Sólo dejar a una direccion  IP determinada
  • Acceder desde una URL concreta para ejecutar el comando.

La guardamos y ya nos aparecerá en el menú de My keys.

3-El siguiente paso es crear un feed en el menú Create a feed. Un feed no es nada más que un servicio donde se almacenarán los datos que envíe nuestro dispositivo y que puede ser consultado a posteriori. Puede ser creado directamente desde las web de Pachube o desde la API de Pachube. Para crearlo debemos rellenar datos sobre su nombre, la ubicación de nuestro dispositivo, si es privado (sólo lo podemos consultar nosotros) o público (cualquier puede consultarlo), etc.

4-Finalmente tenemos que añadir tantos datastreams como distintos datos envía nuestro dispositivo: Si por ejemplo es un sensor de temperatura y de humedad tendremos que dar de alta dos datastreams. Los datastreams necesitan un identificador único en ese feed, un tag (nombre) que lo identifique, un nombre de la unidad en que se va a medir y el símbolo que se usa para esa unidad de medida. Lo guardamos y ya nos aparece en el menú de My feeds.

5-Ahora si accedemos al menu de My feeds podemos ver nuestro feed y si pulsamos sobre el podemos observar entre otras cosas qué número único le ha asignado Pachube en el campo Website.

6-Para meterle datos simplemente tenemos que rellenar los datapoints, que son los datos de nuestro sensor. Podemos hacerlo manualmente desde la misma página del feed, pero no tiene sentido ya que se supone que será nuestro dispositivo (u otro intermediario) conectado a internet el que los proporcione. Este debe tener la opción de comunicarse mediante peticiones HTTP a la web de Pachube como por ejemplo con una placa netduino-plus utilizadno c#.

De un forma elemental si el dispositivo intermedio es un PC podéis usar curl mediante scipts o las librerías que vuestro dispositivo tenga para usar TCP/IP y HTTP por ejemplo mediante de una petición PUT para actualizar un feed que contiene como datastream  de ejemplo.

Me conecto al puerto 80 del host api.pachube.com y le envío esto:

PUT /v2/feeds/48063.csv HTTP/1.0
Host:api.pachube.com
Content-Length:6
X-PachubeApiKey:nL8l2h_XRp62DSXwV48jhFtjXtWSAKxZUmJUZlExNmpXOD0g

cpu,90
Después de lanzar esa petición, si todo ha ido bien, recibiremos esta respuesta del servidor de Pachube:

HTTP/1.1 200 OK
Date: Tue, 13 Mar 2012 16:22:37 GMT
Content-Type: text/plain; charset=utf-8
Connection: close
X-Pachube-Logging-Key: logging.AzQG9Tniho13k7PtFTBo
X-PachubeRequestId: a498efd825d85bbeaab4be98ba3fa014874ca175
Cache-Control: max-age=0
Content-Length: 1
Age: 0
Vary: Accept-Encoding

Que indica con el código 200 que todo ha ido bien y que se ha guardado el datapoint en nuestro datastream. En nuestra petición le hemos indicado la URL de nuestro feed con la extensión csv para indicar que los datos que queremos subir están en ese formato, pero también podemos subirlos en XML o JSON (ver aquí una guía rápida). También hemos de enviar la key que tiene permisos para escribir en nuestro feed. Finalmente enviamos los datapoints en formato <datastream>,<valor> (uno por línea).

Así si nos vamos a la URL de nuestro feed (en este caso https://pachube.com/feeds/48063) podremos ver toda la información del feed: nombre, localización, lectura de los datos en formato JSON, XML y CSV y finalmente un gráfico que podemos configurar a nuestro gusto para ver cómo han ido evolucionando los valores


Acciones

Information




A %d blogueros les gusta esto: