Motes: Segunda parte, configurando el Xbee

 

 

Continuando con el artículo anterior ahora tenemos que configurar la radio Xbee.

Las radios Xbee incorporan un chip de radio Zigbee y un microprocesador de Ember (a partir de la versión2,5). Aunque disponen de un header para poder programar el micro con los kits de desarrollo de Ember los firmwares que proporciona el fabricante proveen de unas funcionalidades básicas para construir motes con una circuitería mínima, como el del artículo anterior.

Configuramos el Xbee a través de su UART, podemos comunicar de varias formas:

  • Con un cable conversor USB UART de FTDI.
  • Con una tarjeta Arduino duemilanove a la que le hemos sacado el micro y una Xbee Shield.
  • Con una tarjeta serie o USB del kit de desarrollo de Digi.
  • Con una tarjeta USB Explorer.

El método que he escogido en esta ocasión es el de la tarjeta Xbee explorer:

 
Tarjeta Xbee Explorer

Los módulos Xbee funcionan a 3,3V, por lo que la tarjeta incorpora un regulador de tensión para reducir los 5V de la tensión del USB a la que utiliza la tarjeta, además regula el valor de las tensiones de la señal de comunicaciones. Para poder comunicar mediante USB incorpora un conversor de FTDI de USB a UART. Al final la tarjeta tiene un puerto USB y es capaz de comunicar con la UART de una radio Xbee conectada en su zócalo.

 
La instalación de los drivers es sencilla, la tarjeta es reconocida por el ordenador como un puerto COM virtual
 
Para configurar el Módulo Xbee el firmware dispone de unos registros (algunos de los cuales varían en función. de la versión de FW instalada). Los módulos Xbee tienen tres modos de funcionamiento:
  • Modo AT, los parámetros se pasan como comandos AT (al modo clásico de los módems Hayes), la configuración se puede hacer con un emulador de terminal.
  • Modo API, las comunicaciones con el módulo se hacen enviando unos paquetes con un formato definido en la API de Digi, en el receptor se reciben también con un formato definido en la API.
  • Modo API con secuencias de escape, la API de Digi tiene un carácter concreto (la tilde -ASCII 126) que se utiliza para identificar el pincipio del paquete, como en el payload del paquete se puede enviar cualquier cosa hay determinadas secuencias que se “escapan” para que no se confundan con el inicio de un paquete de datos.

Digi tiene una aplicación que se llama X-CTU que sirve para configurar sus módulos, actualizar los firmwares, etc. en esta aplicación se seleccionará el puerto serie virtual que nos ha instalado la tarjeta Xbee explorer, configuraremos los parámetros de la UART y el modo de configuración, si todo es correcto en la solapa módem configuration podremos leer los parámetros que tiene configurado el módem. 

 No es mi objetivo dar la configuración completa de todos los parámetros del módulo, pero resumo a continuación los más importantes para lo que queremos conseguir (un mote que duerma, que se despierte cada cierto tiempo y que envíe la lectura de dos entradas analógicas a intervalos fijos):

  • SM- Sleep mode -> 4 – CYCLIC SLEEP
  • ST- Time before Sleep -> 500 ms (el tiempo de inacividad despues del cual la radio empezará a dormir)
  • SP- Cyclic Sleep Period -> 400 (+10 ms)
  • SN- Number os cycles to power down-> 1
  • SO- Sleep Options ->0
  • PO-Poll rate -> 0
  • DO- AD0/DIO1 Configuration -> 1 – COMMISSIONING BUTTON
  • D1- AD1/DIO2 Configuration -> 2 – ADC (indicamos que es una entrada analógica)
  • D2- AD2/DIO3 Configuration -> 2 – ADC (indicamos que es una entrada analógica)

El resto de los parámetros no es muy significativo (directamente con la aplicación que tenemos)

Fijaros que hemos configurado el módulo para que: duerma y despierte ciclicamente para ahorrar energía, el periodo de inactividad antes de dormirse sea de medio segundo, nos envíe la lectura al coordinador cada 4 segundos, que esto lo haga cada ciclo (poniendo a dos el registro SN nos enviaría el dato cada 8 segundos). Además le hemos dicho que en el puerto AD0 tenemos el botón de commisioning, el ep puerto AD1 una entrada analógica y en el puerto AD2 otra entrada analógica.

¿y a donde va a parar esto?, pues a la dirección configurada en los registros DH y DL (destination Hight y low), o en su defecto al coordinador. Lo importante es que ya tenemos el dato en la red Zigbee la red se ha constituido de forma transparente gracias el FW de los módulos Xbee.

El Xbee Explorer lo podemos comprar en cualquier tienda de productos para Geeks como por ejemplo http://www.bricogeek.com o el http://www.libelium.com en España, no es difícil de encontrar en caso cualquier parte del mundo.

En proximos artículos veremos que hacemos con esta información que ya tenemos en la red Zigbee.

Deja un comentario