viernes, 17 de febrero de 2012

¿Cómo configurar los módulos XBee? [Básico Pte.2]


La configuración de los módulos XBee de diferente versión no difieren mucho entre sí. En este caso se usarán módulos Serie 2.
Una vez que se tiene el módulo XBee Serie 2 conectado a la computadora a través de su respectivo adaptador/dongle, se ejecuta el  X-CTU. En la pestaña principal de la aplicación se muestra el puerto COM en el que se encuentra conectado el dispositivo, este no se modificará aun si el modulo se conecta en un puerto diferente.



Para verificar que el dispositivo está listo para usarse, se realiza un test de conexión. Basta con presionar el botón “Test/Query”. Si todo está en orden, aparecerá una ventana emergente que muestra detalles del dispositivo, como el estado, versión de firmware y número de serie, el cual también se puede encontrar impreso en una etiqueta debajo del módulo XBee. Éste último dato será importante en el futuro. Clic en “OK” para cerrar.



Existen dos formas de configurar el XBee, una es por medio de comandos en una terminal para comunicación serial, la otra es realizarla gráficamente. Por su simplicidad se usará únicamente la segunda opción.

Para comenzar se accede a la pestaña “Modem Configuration”, esta contiene varios botones que serán explicados con detalle a continuación.


Para poder acceder a la configuración actual del radio y hacer modificaciones a la misma, se lee desde el propio módem, haciendo clic en “Read”. Se despliega la información correspondiente en la ventana.


Después de leer el XBee se procede a configurar el PAN ID (Red de Área Personal)  para personalizar la red dentro de la cual el módulo estará recibiendo o transmitiendo información; el número colocado debe ser hexadecimal y en un rango de 0 – FFFFFFFFFFFFFFFF para Series 2 (en el caso de las Series 1 el rango es de 0 - FFFF), cualquier XBee que se requiera conectar en esta red deberá contener el mismo identificador. En este ejemplo se colocó el número 100.


En el apartado “Function Set” se selecciona el papel que ejercerá el XBee en la red, un XBee deberá ser el maestro o coordinador, y uno o varios XBee fungirán como esclavos  o “Routers” (la Serie 1 no tiene esta cualidad y no hay necesidad de configurar su función).


La configuración del modo AT o API se selecciona de acuerdo a los requerimientos necesarios para la comunicación que se desee implementar (en el modo AT, la información o los datos se envían bit a bit, por el contrario en el modo API la información se envía en pequeños paquetes de datos), en este caso ese tipo de configuración es indiferente ya que se trata de la comunicación punto a punto.

El siguiente paso es configurar las direcciones de destino para la comunicación de los XBee, utilizando los números de serie de cada módulo. Dentro de la sección “Addressing”  localice las opciones “Serial Number High/Low” estos números son los que identifican a cada dispositivo. A las direcciones de destino del XBee maestro o “coordinador” se le asignan las direcciones SH y SL  correspondientes  al XBee esclavo o “Router”.




De manera inversa se asignan las direcciones correspondientes en dirección esclavo-maestro como se muestra en la figura anterior. 


Después de realizar estos pasos la configuración de ambos XBee está terminada y puede empezar a trabajar con ellos.


Para verificar que la comunicación es correcta, basta con probar la comunicación por medio de la pestaña “Terminal" enviando cualquier mensaje, como se muestra en las siguientes capturas.






Dudas y comentarios son bien recibidos.

20 comentarios:

  1. MUCHAS GRACIAS EL TUTO ME SIRVIO MUCHO!!

    ResponderEliminar
  2. disculpa soy muy nueva en este tema si mi xbee esta conectado a mi arduino es la misma configuracion ¿? , y otra consulta cuando realizamos estas configuraciones usamos el serial de los arduinos ¿?

    ResponderEliminar
    Respuestas
    1. Al principio del tutorial se indica cuál es el proceso de configuración.

      ¿Qué tipo de serie son tus módulos?
      Por lo que entiendo tienes tus módulos conectados al arduino a través de el XBee-Shield ¿Cierto?

      Por seguridad, es necesario que cuentes con un "dongle" (como éste https://dlnmh9ip6v2uc.cloudfront.net/images/products/09819-01.jpg para conectarlo de esta manera https://dlnmh9ip6v2uc.cloudfront.net/images/products/09819-05.jpg a tu computadora y comenzar la configuración).

      Al conectar el dongle (con el módulo montado) tu sistema operativo va a detectar el dispositivo automáticamente como un nuevo puerto COM, diferente al del COM de tu arduino.

      Te sugiero revises el siguiente post (http://compututorials.blogspot.mx/2012/01/como-configurar-los-modulos-xbee-basico.html), para aclarar un poco más el proceso. Si continúas con problemas no dudes en comentarlas. Saludos :)

      Eliminar
  3. Hola Lore, tengo problemas al conectar la serie 2. Ya realicé la configuracion punto a punto y mediante la terminal puedo asegurar la conexion. Mi problema es al momento de pasarlos al arduino, no puedo segurar que estoy reciviendo datos en el segundo arduino. Cargue un programita que enciende y apaga el led (arduino no.2) pero no lo hace. Por el contrario, con la serie 1 si funciona correctamente... espero que me puedas ayudar, gracias

    ResponderEliminar
    Respuestas
    1. Hola Diego. Bien, primero que nada doy por entendido que ya probaste y que los programas en ambos arduinos (esclavo y maestro) funcionan.

      Ahora revisa que módulo XBee coordinador esté conectado en el arduino maestro (el que envía la señal que enciende el LED). Supongo que estás utilizando los XBee Shields para montar los módulos XBee en los arduinos, si es así asegúrate que los jumpers estén en modo XBEE (los headers macho).

      Cuando el arduino maestro envía la señal de encendido/apagado se enciende el LED de transmisión TX, por el contrario el arduino esclavo (el que enciende el LED) debe de encender el LED de RX.

      Si todo está en orden debería funcionar. Te sugiero intentes primero enviar la señal de encendido/apagado usando la terminal en la computadora con el dongle conectado a ella (terminal > dongle > xbee montado en el arduino esclavo) hacia el arduino esclavo.

      Inténtalo y cuéntame qué tal resultó.

      Saludos :)

      Eliminar
    2. Gracias Lore, ya logré comunicarlos mediante los xbee s2. Ahora tengo otra cuestion. De casualidad tu has trabajado con los módulos z1 de zoleria?. Bueno ahora lo que tengo que hacer, es comunicar los xbee y los z1 de zolertia, mediante el protocolo zigbee. Mediante un sofware no puedo ver los modulos z1 ni los z1 pueden ver los xbee, siendo que estan con el mismo PANID y el mismo canal. Si sabes como configurarlos me ayudarias mucho.
      Gracias de antemano, saludos...

      Eliminar
    3. Hola Diego. Lamentablemente no he tenido la oportunidad de trabajar con esos módulos. :(
      No te sería de gran ayuda en este caso.

      Saludos y buena suerte. :)

      Eliminar
  4. Hola.
    El tutorial 1 y 2 me han servido bastante, pero tengo una pregunta:
    Tengo un proyecto donde me piden realizar una red multipunto donde el esclavo envia datos de un sensor que tien conectado y recive una respuesta para actiar un actuaor. Mi pregunta es que serie me recomiendas para efectuar este proyecto, la cantidad de sensores que se tienen son entre 3 y 7 sensores y actuadores aprox.

    Saludos y gracias.

    ResponderEliminar
  5. Hola Lorena, podrias detallar como seria el caso en que quiera hacer una conexion de 3 nodos (coord,router y end devices) ??? Muchas gracias

    Javier

    ResponderEliminar
    Respuestas
    1. Buenas noches lamento la tardanza, he tenido algo abandonado el blog.

      Más adelante elaboraré un tutorial para una conexión mesh, ya que este es un tutorial de configuración básica. Y necesito adquirir al menos otro módulo más.

      Sin embargo te recomiendo el libro "Building WirelesSensor Networks" de Robert Faludi. O'Reilly

      En donde viene una explicación detallada de cómo realizarlo.

      Saludos! :)

      Eliminar
  6. Muchísimas gracias, estaba volviéndome loco sobre como configurar los módulos Xbee para una conexión punto a punto (lo necesito para mi PFC). Una pregunta más.

    En el momento en el que quedan configurador, los módulos xbee son transparentes no? Es decir, los configuro como router y coordinador y luego puedo mandar la información desde mi microcontrolador al xbee mediante uart sin problemas no?

    Si ya me respondes a eso me dejarás muchísimo más tranquilo.

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola! Disculpa la tardanza.
      En el momento en el que tu configuración haya quedado bien (siguiendo los pasos del tutorial ;)) y todo haya funcionado correctamente podrás transmitir desde tu microcontrolador mediante UART sin problemas, sólo ten cuidado con la conexión de tu micro con el XBEE, un cable cruzado podría meterte un susto y hacerte pensar que no funcionó la configuración.

      Felicidades y mucho éxito. Espero nos presumas el resultado final de tu proyecto :D
      Saludos!

      Eliminar
  7. Hola tengo dos dudas, un no me aparece esa parte de seleccionar el coordinador, sera por la version????

    la otra es como puedo hacer que cuando el router este en sleep, el coordinador se espere a que desperte y le envie los datos, no he podido hacer esta comunicacion entre ellos donde el coordinador sepa si esta o no despierto el router.

    ResponderEliminar
    Respuestas
    1. Buenas noches, disculpa la demora.
      Me ha tocado padecer ese error un par de veces y la única manera en la que he podido resolverla es "intercambiando" las tareas de los módulos; es decir que el modulo que iba a ser coordinador ahora lo configures como router y el que iba a ser router lo configures como coordinador.

      En cuanto al modo de sueño o sleep, tengo entendido que independientemente de si el modulo receptor se encuentra dormido o no, el modulo transmisor seguirá transmitiendo.

      Para información más completa te recomiendo el libro "Building WirelesSensor Networks" de Robert Faludi. O'Reilly.

      Saludos :)

      Eliminar
  8. Hola veo que tu si respondes dudas, se agradece mucho. Mi duda es, se puede comunicar un xbee serie 1 con un xbee serie 2

    ResponderEliminar
    Respuestas
    1. Hola, bueno a veces tardo pero trato de responder todas las preguntas.

      En cuanto a tu pregunta, la respuesta es NO, no se puede establecer una comunicación entre XBees de "diferente" serie, ya que los XBee Serie 1 utilizan el protocolo estandar IEEE 802.15.4 para conexiones únicamente punto a punto con un chip Freescale y los Serie 2 ya utilizan de lleno el protocolo ZB ZigBee para conexiones mesh o en malla (multipunto)con un chip Ember.

      Saludos :)


      Eliminar
  9. HOLA tengo dos preguntas de como puedo hacer comunicar dos xbee pero de forma continua y la otra de por medio de comandos AT pero solo cuando necesite la informacion tanto anterior como presente.

    ResponderEliminar
  10. Buenas noches, la configuración de los módulos en modo AT se realiza de la misma manera que en el tutorial.

    ¿Podrías describir mejor lo que necesitas hacer respecto a la segunda parte de tu comentario?

    Saludos :)

    ResponderEliminar
  11. Gracias !!!
    Me salvaste la vida ^^

    ResponderEliminar