Cami Can Calders, 8 2º-2ª | 08173 Sant Cugat del Valles info@bmotes.com 932504996

WhatsBee blog

Empezando por la mitad: Almacenando los datos en Internet

Seguramente estarás pensando que no tiene demasiado sentido que esta sea una de las primeras entradas. En realidad yo opino lo mismo, no es normal empezar por aquí.

Los motivos son sencillos de explicar, ya hace unos días que empezamos, nuestros descubrimientos previos a este momento no están publicados, aunque seguramente irán apareciendo de forma desordenada.

Cuando hablamos del orden en el que sucende las cosas, hay dos enfoques posibles: en el primero se empieza por un sensor que recoge un dato, lo envía a través de una red Zigbee, lo recibe un coordinador, el dato sale de la red Zigbee y se almacena en una base de datos. Posteriormente un cliente lo recupera con una aplicación, un móvil, una página web, etc. El principio está el sensor, el final es el interfaz.

El segundo enfoque es al revés, alguien o algo, a través de un interfaz activa un actuador, el camino es exactamente el contrario, empieza en el interfaz y acaba en el sensor (actuador en este caso).

Una de las cosas que nos ha quedado menos clara en todo este proceso es la forma y el formato en el que debíamos de almacenar el dato, tiene dos dificultades, el sacar el dato de la red Zigbee y el almacenarlo en un servidor externo que contenga una base de datos, de eso precisamente trara esta entrada.

Un método claramente válido para hacer esto es utilizar servicios web, precisamente hoy hemos estado haciendo pruebas con este tema. Por simplificar, hemos empezado creando un servicio web en ASP.NET y un consumidor de este servicio, todo bastante sencillo.  El servicio web pide un parámetro y devuelve un xml que contiene los campos de una tabla existente en un servidor de SQL. El consumidor simplemente ejecuta este servicio.

La gran duda surge en el momento en el que quieres escribir la información en la base de datos, probablemente el elemento que recoja y envíe la información de los sensores esté ubicado detrás de un Firewall y el servidor que ejecuta los servicios puede estar en Internet, aparentemete la iniciativa de la comunicación siempre la tiene que tener de nuestro dispositivo.

Por simplificar de nuevo hemos «pasado» de nuestro servicio web y hemos creado un feed en pachube. Nuestro objetivo es alimentar este feed con los datos de un microprocesador (otro día veremos como hacer llegar a este micro los datos del Zigbee)

En un link del pachube hemos encontrado una posible solución:

http://www.dial911anddie.com/weblog/2009/12/arduino-ethershield-1wire-temperature-sensor-pachube/

Con una placa Arduino duemilanove, una Ethernet Shield, un sensor de temperaturas 1whire y algunas librerías en 5 minutos estaba alimentando mi feed de pachube con los datos de mi sensor de temperatura.

Arduino con Shield Ethernet

Sensor de temperatura 1wire

Imagen graficada en la web de pachube
Imagen graficada en la web de pachube

El resultado en pachube se puede obtener en xml, con un servicio web o graficado en su misma página, este es el resultado gráfico:¿qué es lo siguiente?

Ahora que ya somos capaces de escribir los datos de un sensor en una página web, lo siguiente es:

  • Lograr enviar esta información por XML (o EEML)
  • Obtener la información de la red Zigbee en lugar de recogerla de un sernsor
  • Crear nuestro propio servicio web en lugar de utilizar pachube
  • Hacer un curso avanzado de fotografía 😉

Volviendo al inicio de este artículo el orden de los pasos me lo reservo como sorpresa…

Dejar un comentario