Y ahora a graficar????, que persona más desordenada……
En realidad el proceso de investigación que estoy siguiendo tiene un orden bastante aleatorio. Hay veces que te atascas y otras, que como en este caso, el poder continuar ordenadamente depende de que llegue un componente. En el último post llegamos a la conclusión de que teníamos que utilizar otro sensor de corriente, así que mientras espero os explico otra historia.
Una parte muy importante de la monitorización es la representación gráfica. Hay muchos casos en los que el que tiene que recibir el dato es una máquina, nos sirve perfectamente el dato numérico o el paquete de datos. Cuando el receptor es una ser humano debemos de escoger un método de representación que sea (deseablemente) visual.
En un artículo anterior ya intentamos sacar la información de la red Zigbee hacia Pachube. Pachube nos permite recoger, mediante servicios web, los datos que le mandemos a través de Internet, almacenarlos y representarlos de forma gráfica. Evidentemente Pachube no será el destinatario final de nuestros datos, pero utilizarlo nos permite concentrarnos en la forma de «sacarlos» de Zigbee sin entrar todavía en programación de servicios web o en la representación gráfica.
A la hora de escoger un fabricante para comprar nuestros kits de desarrollo escogimos a Digi. Este fabricante está bastante extendido en el mundo del HW libre, dispone de toda una serie de módulos con pinout compatible y de una gama de gateways Zigbee relativamente baratos. Incialmente el entorno de desarrollo para el HW embebido que estamos utilizando es Arduino, es relativamente fácil encontrar shields para conectar un Xbee a un Arduino, lo cual nos facilita las cosas.
Los módulos Xbee tienen en su interior circuitería de Ember, entre los inconvenientes de estos módulos está que su API no es abierta, pero se pueden utilizar como entorno de desarrollo de Ember (los contactos dorados de la parte superior son el header para programarlos).
El coordinador de una red Zigbee de Digi suele ser un gateway, el gateway es un elemento que tiene una «pata» en una red Zigbee y la otra en una red Ethernet, 3G, etc. Tal como apuntába más arriba el Gateway es el responsable de sacar la info de Zigbee. En el entorno de Digi con la información se pueden hacer varias cosas: almacenarla (con unos límites) en el Gateway, extraerla bajo demanda con servicios web, almacenarla en una página web específica de Digi o mostrarla en la misma página. El Gateway permite añadir scripts en el lenguaje interpretado Python y en la web de Digi se pueden descargar algunos ejemplos de configuración y de integración con las webs de idigi.
Modificando los ejemplos suministrados por Digi conseguimos publicar la información de los sensores de nuestra red en Pachube (prometemos explicar la manera) y hemos hecho un feed de prueba. pachube tiene bastantes posibilidades para representar la información, aqui van un par de pruebas:
Generando un gráfico en tiempo real (la temperatura de mi lab). En este caso a partir de una URL se genera el gráfico con la información de las últimas 24 horas, insertada a continuación:
El segundo ejemplo es un código Java que permite interactuar, a continuación (paciencia se carga de forma asíncrona y tarda un poquito):