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

WhatsBee blog

Gestión fuera de banda: primera parte (La idea)

En el artículo anterior hablábamos de crear una solución para la gestión y monitorización de CPD’s compuesta por una serie de elementos sencillos y su integración posterior.

El primer elemento de la lista es un mote que nos permita conetar con la cónsola serie de los dispositivos (supongamos un router) incluso en condiciones de caida de la red para gestionarlos de forma remota, los requerimientos inciales deben de ser los siguientes:

  • Una unidad de radio Zigbee que tenga una conexión RS232 deseablemente con formato DB9
  • Un mecanismo para crear un túnel que vaya desde la UART de la radio del mote hasta un socket en la red Ethernet
  • Un mecanismo para poder utilizarlo incluso en condiciones de caida de la red (recordemos que una posibilidad es la monitorización o el reinicio de un dispositivo de red que puede estar «colgado», hay situaciones en las que puede resultar absurda la conexión desde la misma red de la que pretendemos reiniciar un equipo porque no funciona.

El diseño del HW del mote es muy sencillo, necesitamos la radio Xbee, un conversor de RS232 a TTL (como por ejemplo el integrado MAX232) y los elementos necesarios para alimentarlo. La intención es diseñar un mote compacto y resolver la forma de alimentarlo de forma autónoma, en próximos artículos publicaremos el esquema y el diseño de la placa, de momento para hacer las pruebas podemos utilizar algo ya construido, como por ejemplo el Xbee explorer serial de Sparkfun

Conversor Xbee Serial

 Como lo que queremos es simplemente emular una conexión serie configuraremos la radio de Digi en modo AT.

En nuestra red Zigbe tenemos un gateway X4 o X2, que actua como coordinador de la red Zigbee, gateway con la Ethernet (primer punto de acceso) y con un módem HDSPA como acceso alternativo en caso de fallo de la red.

Los parámetros de configuración de la radio (más significativos) son:

  • Function Set -> Zigbee end device AT (posteriormente intentaremos que duerma, por eso es un end device)
  • Zigbee Stack profile -> 2
  • Zigbee Cluster ID -> 11 (el de Digi)
  • Zigbee Destination End Point -> 0xE8

(los otros mil parámetros los podemos dejar por defecto de momento)

Una vez configurada la radio con el X-CTU podemos conectarla a la placa, alimentar la placa y verificar en el Gateway que esta radio forma parte de la red Zigbee.

En el Gateway subimos los ficheros xbee_generator.py y xbee_transport.py  (los añadiré a una próxima entrada). Ahora arrancamos la aplicación, para ello abrimos una sesión telnet contra el gateway, y ejecutamos «Python xbee_generator.py». El gateway creará un fichero de texto bind_table.py en el que aparecen todos los nodos de la red y a cada uno se asigna un puerto ethernet comenzando por el 4000.

En una segunda fase habría que trabajarse algún interfaz para poder generar y subir este fichero de una forma más amigable, también lo veremos más adelante. Ahora, aprovechando la sesión abierta ejecutamos «Python xbee_transport.py» en el gateway, con lo que pondremos al gateway a escuchar en cada uno de los puertos asignados.

Suponiendo que el generador le haya asignado a nuestro nodo el puerto 4002 podemos hacer un telnet a la Ip del Gateway en el puerto 4002, en nuestra sesión del telnet tendremos el puerto serie del dispositivo, así de fácil.

Esto es extensible a un puerto USB, utilizando por ejemplo un USB stick y es igual de fácil.

Soy perfectamente consciente de que el artículo no describe exactamente y paso por paso la solución, pero quedaría infinito y espeso, si necesitais ayuda publicar un comentario, si teneis buenas ideas para mejorarlo daros de alta en la página y publicar un artículo, seguro que con vuestras aportaciones construimos algo mejor.

Dejar un comentario