Bienvenidos al fascinante universo de la comunicación inalámbrica con XBee. Quizás hayas oído hablar de estos pequeños pero potentes dispositivos, o quizás no; de cualquier manera, sigue leyendo para sumergirte en los detalles que hacen de XBee una solución tan versátil y accesible. Los módulos XBee son, en esencia, pequeños chips azules capaces de establecer comunicación inalámbrica entre sí. Sus aplicaciones van desde tareas sencillas, como reemplazar un par de cables en una comunicación serial, hasta la creación de sistemas complejos como vehículos radiocontrolados.
Sin embargo, al adentrarse en este mundo, surgen preguntas fundamentales: ¿Cuántos módulos se necesitan para un proyecto? ¿Cuál es la diferencia entre XBee Series 1 y Series 2? ¿Por qué existe una variedad de antenas para los XBee? ¿Qué significan las designaciones "XBee PRO"? ¿Son los módulos que no incluyen esta designación menos capaces? Y, quizás lo más crucial para cualquier entusiasta o profesional, ¿por qué OLIMEX ofrece una amplia gama de tarjetas y placas para XBee, y cuál es la opción adecuada para mi proyecto específico?
Existe una gran diversidad de módulos XBee, cada uno con sus particularidades. No obstante, una de las principales ventajas que comparten todos los XBee, independientemente de su modelo o serie, es la disposición similar de sus pines. Los pines de alimentación, tierra y comunicación serial (TX/RX) se ubican de manera consistente, lo que facilita la sustitución de chips para la mayoría de las aplicaciones más básicas. Si bien algunas características avanzadas pueden no ser directamente compatibles entre todas las series, para quienes se inician en XBee, estas diferencias no deberían ser un impedimento para comenzar a aprender y experimentar. Ahora, prepárate para un recorrido detallado por el mundo XBee y sus productos asociados.
¿Qué es un XBee, un Zigbee y un Bumblebee?
Para comprender la tecnología XBee, es útil definir los términos clave que a menudo se entrelazan:
- XBee: Según Digi, los módulos XBee son soluciones integradas que proporcionan un medio inalámbrico para la interconexión y comunicación entre dispositivos. Estos módulos emplean el protocolo de red IEEE 802.15.4 para construir redes FAST POINT-TO-MULTIPOINT (punto a multipunto) o redes PEER-TO-PEER (punto a punto). Fueron diseñados para aplicaciones que demandan un alto volumen de datos, baja latencia y una sincronización de comunicación predecible. En esencia, XBee es una marca propiedad de Digi, basada en el protocolo Zigbee. En términos sencillos, los módulos XBee son dispositivos inalámbricos de fácil uso.
- Zigbee: Zigbee es una alianza y un estándar para redes MESH (malla) que se caracterizan por su eficiencia energética y su costo reducido. La definición técnica completa de Zigbee es extensa y, para el propósito de esta discusión sobre los módulos XBee, su complejidad no es directamente relevante.
- Bumblebee: Este término no está directamente relacionado con los módulos de comunicación XBee o Zigbee y parece ser una referencia ajena al contexto técnico de esta guía.
Series XBee: Una Mirada Detallada a las Diferentes Generaciones
La familia XBee se ha expandido a lo largo del tiempo, dando lugar a diferentes series y versiones, cada una con sus propias características y compatibilidades. Comprender estas diferencias es crucial para seleccionar el módulo adecuado y evitar problemas de integración.
XBee Series 1 (también llamados XBee 802.15.4): Esta serie se destaca por su facilidad de uso. No requieren una configuración compleja para funcionar, aunque la configuración puede mejorar su rendimiento. Debido a su simplicidad, los módulos de Serie 1 son altamente recomendables para aquellos que se inician en el mundo XBee. Para comunicaciones punto a punto, ofrecen un rendimiento comparable a los módulos de Serie 2, pero sin la necesidad de una preconfiguración exhaustiva. Es importante notar que un módulo de Serie 1 no exhibirá explícitamente la designación "Serie 1" en su carcasa; de hecho, los módulos de Serie 2 tampoco la mostrarán. Si no se especifica lo contrario, se asume que se trata de un módulo de Serie 1. Crucialmente, el hardware de las Series 1 y las Series 2/2.5/ZB NO SON COMPATIBLES. Intentar mezclarlos resultará en fallos de comunicación. Evita siquiera considerarlo, no funcionará.

XBee Znet 2.5 (Formalmente Series 2) - Retirado: Estos módulos introdujeron capacidades más avanzadas. Los módulos de Serie 2 requieren configuración antes de su uso. Pueden operar en modo Transparente o mediante comandos API, dependiendo del firmware instalado. Una de sus características más destacadas es la capacidad de funcionar en redes mesh, lo que permite crear redes altamente configurables y robustas. Sin embargo, su configuración es más compleja que la de la Serie 1. Al igual que con la Serie 1, no existe compatibilidad entre los módulos de Serie 2 y los de Serie 1. Los módulos Znet 2.5 ya no se comercializan, habiendo sido sustituidos por los módulos ZB, que ofrecen mayor compatibilidad.
XBee ZB (el módulo Series 2 actual): Esencialmente, el módulo ZB es una evolución del Znet 2.5, incorporando un firmware actualizado. Esto significa que también admiten el modo transparente y el modo API, y son capaces de operar en redes mesh. Es posible actualizar el firmware de estos módulos para adaptarlos a necesidades específicas. El firmware entre Znet 2.5 y ZB no es directamente compatible, pero el proceso de actualización es sencillo. Si escuchas a alguien referirse a la "Serie 2", es muy probable que estén hablando de estos módulos. Aunque el término "Serie 2" puede ser impreciso, se utiliza para distinguirlos de los módulos de Serie 1, que son los más populares. Reiteramos, estos módulos no son compatibles de ninguna manera con los de la Serie 1. No lo intentes.

XBee 2B (el módulo Series 2 más reciente): Representan una mejora de hardware respecto a los módulos de Serie 2 anteriores, optimizando, por ejemplo, el consumo de energía. Funcionan con el firmware de los módulos ZB, pero debido a las modificaciones de hardware, ya no son compatibles con el firmware de los módulos Znet 2.5. Por lo tanto, se debe tener precaución al integrar un módulo 2B en una red existente que utilice módulos Znet 2.5. Actualmente, algunas de las tarjetas de desarrollo disponibles son compatibles con 2B y otras con ZB.
XBee 900MHz: Aunque técnicamente no es una "Serie" en el mismo sentido que las anteriores, constituye una familia de módulos propia. Estos módulos pueden operar con dos tipos de firmware: el firmware DigiMesh y el firmware Point-to-Multipoint. Digi ofrece ambos módulos, siendo el hardware idéntico, pero el firmware diferente. Estos módulos son relativamente fáciles de usar (Plug and Play), aunque para aprovechar todas sus capacidades avanzadas se requiere configuración.
XBee XSC: Estos módulos, basados en la tecnología de 900 MHz, sacrifican velocidad de datos en favor de un mayor alcance. Mientras que los módulos de 900 MHz estándar ofrecen una velocidad de datos de aproximadamente 156 Kbps (comparado con los 250 Kbps de otros módulos), los XSC operan a alrededor de 10 Kbps. Sin embargo, con una antena de alta ganancia, pueden alcanzar distancias de hasta 24 Km, y unos 9,6 Km con una antena regular. Estos módulos no requieren configuración externa y poseen un conjunto de comandos diferente, por lo que se recomienda consultar su hoja de comandos específica.
Topologias MESH usado en XBEE, Zigbee y Digimesh
Tipos de Antenas para XBee: Adaptando la Conexión
La elección de la antena es un factor determinante en el alcance y la calidad de la comunicación inalámbrica. Los módulos XBee ofrecen diversas opciones de antenas para adaptarse a diferentes escenarios de implementación:
- Chip Antenna: Se trata de un pequeño chip integrado que funciona como antena. Es una solución rápida, sencilla y económica.
- Wire Antenna (Whip Antenna): Consiste en un pequeño cable que sobresale del módulo. Es una opción común y efectiva para muchas aplicaciones.
- u.FL Antenna: Incorpora un conector pequeño que permite la conexión de una antena externa. Esta es una opción ideal cuando el equipo que alberga el módulo XBee está dentro de una caja y se desea que la antena quede expuesta al exterior para optimizar la recepción y transmisión.
- RPSMA Antenna: Similar a la u.FL, utiliza un conector más grande para la conexión de antenas externas. También es perfecta para aplicaciones donde el módulo se encuentra en un recinto cerrado y se requiere una antena externa.
Módulos Regular, Pro y Otras Consideraciones
La nomenclatura "PRO" y las diferentes bandas de frecuencia añaden otra capa de opciones a la hora de elegir un módulo XBee.
Regular vs. PRO: Las diferencias entre un XBee regular y un XBee PRO son relativamente pocas. Los XBee PRO son ligeramente más grandes, consumen más energía y, en consecuencia, son más costosos. La contrapartida de este mayor consumo de energía es un alcance significativamente mayor (aproximadamente 1,6 Km en comparación con los 91,5 metros de un XBee regular). Si el alcance es una prioridad o simplemente se prefiere invertir en un rendimiento superior, los XBee PRO son la elección. De lo contrario, los XBee regulares son perfectamente adecuados para muchas aplicaciones. Es importante destacar que ambos modelos, regular y PRO, pueden coexistir y mezclarse dentro de la misma red.
900MHz vs. 2.4GHz: La mayoría de los módulos XBee operan en la banda de 2.4 GHz, una frecuencia globalmente disponible. Sin embargo, existen módulos que operan en la banda de 900 MHz. Los módulos de 900 MHz, especialmente cuando se combinan con una antena de alta ganancia, pueden alcanzar distancias impresionantes, llegando hasta casi 24 Km. Además, a menor frecuencia, la señal tiende a tener una mayor capacidad de penetración a través de obstáculos. Un punto importante a considerar es que los módulos de 900 MHz no están permitidos en todos los países. Digi ofrece versiones de 868 MHz que sí están permitidas en la mayoría de las regiones. Es crucial tener en cuenta que estas dos versiones (900 MHz y 2.4 GHz) no pueden mezclarse en la misma red.
Accesorios y Herramientas Esenciales para XBee
Para interactuar y configurar los módulos XBee, se requiere una serie de accesorios y software que facilitan su integración en proyectos y su puesta en marcha.
XBee Explorer: Este dispositivo es indispensable para conectar módulos de Series 2/2.5/ZB a un PC y para la instalación de firmware. También es útil para modificar la configuración de los módulos y permite enviar y recibir información desde tu ordenador. Existen versiones con conector microB USB y otras diseñadas para conectarse directamente al puerto USB.

XBee Explorer Regulated: Ideal para integrar un módulo XBee en tu propio circuito de 5V. Funciona como una placa de desarrollo (breakout) que incluye un regulador de voltaje de 3.3V.
XBee Shield: Esta placa es perfecta para combinar un módulo Arduino con un módulo XBee en tu proyecto. Incluye un regulador de 3.3V. La versión más reciente de este shield cuenta con un switch que permite elegir si el XBee se comunica con los pines UART del Arduino o con otros pines.
XBee Breakout: En ocasiones, la regulación de voltaje no es una preocupación principal, y lo único que se necesita es adaptar el espaciado de 2 mm de los pines del XBee al espaciado estándar de 0.1" para protoboards. En estos casos, un XBee Breakout es la solución.
Software y Recursos para la Configuración y el Desarrollo
Para una experiencia fluida con los módulos XBee, es fundamental contar con las herramientas de software adecuadas y acceder a recursos de información fiables.
X-CTU software: Este programa, desarrollado por Digi, es la herramienta principal para configurar los módulos XBee. Está disponible exclusivamente para Windows. Permite inicializar, actualizar firmware y realizar pruebas a los módulos XBee a través de una interfaz gráfica.
Topologias MESH usado en XBEE, Zigbee y Digimesh
Páginas de Producto de Digi: Para obtener información detallada sobre modelos específicos, las páginas de productos de Digi son una fuente invaluable.
- XBee Series 1 product page
- XBee ZB product page (actual Serie 2)
Regulaciones Gubernamentales: La comunicación inalámbrica está sujeta a diversas restricciones y regulaciones que varían según el país. Los módulos que se comercializan suelen ser compatibles para su uso en regiones específicas, pero para una comprensión completa, es esencial consultar la información proporcionada por Digi sobre la aceptabilidad de los módulos XBee en cada país.
Libros y Guías: Para profundizar en el conocimiento sobre XBee, existen recursos como:
- "Building Wireless Sensor Networks": Un excelente libro que aborda los módulos de Serie 2, cubriendo desde su configuración hasta el uso de pines de Entrada/Salida (I/O) y funciones de ahorro de energía (Sleep).
Fundamentos Técnicos: IEEE 802.15.4 y ZigBee
Comprender los estándares subyacentes a la tecnología XBee es fundamental para apreciar su funcionamiento y sus capacidades.
IEEE 802.15.4: Este estándar define el nivel físico y el control de acceso al medio para redes inalámbricas de área personal de baja velocidad (LR-WPAN). El grupo de trabajo IEEE 802.15 es el responsable de su desarrollo.
ZigBee: ZigBee es el nombre de una especificación de protocolos de alto nivel para comunicación inalámbrica, diseñada para aplicaciones de bajo consumo energético. Se basa en el estándar IEEE 802.15.4. La ZigBee Alliance es la entidad que define estos protocolos. ZigBee utiliza las bandas de frecuencia ISM (Industrial, Scientific, and Medical) para usos industriales, científicos y médicos. Específicamente, opera a 868 MHz en Europa, 915 MHz en Estados Unidos y 2.4 GHz a nivel mundial. Sin embargo, la mayoría de los fabricantes optan por la banda de 2.4 GHz debido a su disponibilidad global. El estándar Zigbee se emplea principalmente en aplicaciones de domótica donde la transferencia de datos es mínima y el costo y el consumo de energía son factores críticos. Se utiliza para controlar sistemas de calefacción, iluminación, seguridad, entre otros, en edificios inteligentes. Se prevé su aplicación en industrias, juguetes, periféricos de PC, componentes electrónicos, sistemas de control automático y medicina. Las comunicaciones Zigbee se realizan en la banda libre de 2.4 GHz. A diferencia del Bluetooth, no utiliza FHSS (Frequency Hopping Spread Spectrum), sino que las comunicaciones se establecen a través de una única frecuencia, es decir, un canal. Normalmente, se puede seleccionar un canal de entre 16 posibles. El alcance depende de la potencia de emisión del dispositivo y del tipo de antenas utilizadas (cerámicas, dipolos, etc.). El alcance típico con una antena dipolo en visión directa suele ser de aproximadamente 100 metros, y en interiores, de unos 30 metros. La velocidad de transmisión de datos de una red Zigbee es de hasta 256 kbps. Teóricamente, una red Zigbee puede estar formada por hasta 65,535 equipos, lo que indica que el protocolo está diseñado para controlar una cantidad masiva de dispositivos en la misma red. El estándar Zigbee permite la interoperabilidad entre dispositivos de diferentes fabricantes, posibilitando el control de luces, sistemas de climatización, riego automático, etc.
XBee y su Relación con ZigBee
Es importante aclarar la relación entre XBee y Zigbee. XBee es el nombre comercial de Digi para una familia de módulos de comunicación por radio. Estos módulos están basados en el estándar Zigbee, pero Digi ha desarrollado una amplia gama de módulos XBee, algunos de los cuales implementan el estándar Zigbee de forma pura, mientras que otros son propietarios o modificaciones del estándar. Los módulos XBee han sido diseñados para aplicaciones que requieren un alto volumen de datos, baja latencia y una sincronización de comunicación predecible. Por lo tanto, básicamente, XBee es una marca de Digi basada en el protocolo Zigbee.
Arquitectura de Red XBee: Coordinador, Router y End Device
Los módulos XBee pueden ser utilizados con un número mínimo de conexiones: alimentación (3.3V), tierra (GND) y los pines TX/RX de la UART, además de otras conexiones recomendables como reset y sleep. Los módulos XBee operan a 3.3V y sus pines no son tolerantes a 5V. Los módulos más sencillos de XBee son los de la Serie 1 (también llamados 802.15.4), que no soportan redes mesh e implementan el estándar 802.15.4. Son los más fáciles de usar y los más recomendados para empezar. Digi dispone de una amplia variedad de módulos con diferentes características para distintas funciones y aplicaciones.
Una red XBee se compone fundamentalmente de tres tipos de elementos:
Coordinador (Coordinator): Es el nodo de la red cuya única función es formar la red. Es responsable de establecer el canal de comunicaciones y el PAN ID (identificador de red) para toda la red. Una vez establecidos estos parámetros, el Coordinador puede formar una red, permitiendo que otros dispositivos (Routers y End Devices) se unan a él.
Router: Es un nodo que crea y mantiene información sobre la red para determinar la mejor ruta para reenviar un paquete de información. Los Routers pueden retransmitir datos entre otros nodos de la red.
Dispositivo Final (End Device): Los dispositivos finales no tienen la capacidad de enrutar paquetes. Deben interactuar siempre a través de su nodo padre, ya sea un Coordinador o un Router. Es decir, no pueden enviar información directamente a otro dispositivo final. Normalmente, estos dispositivos son alimentados por baterías, lo que hace que su capacidad de enrutamiento sea limitada para conservar energía.
Comunicación y Modos de Operación en XBee
Los módulos de radio XBee de Digi son pequeños módulos de radiofrecuencia (RF) que transmiten y reciben datos a través del aire utilizando señales de radio. Los módulos XBee transmiten al aire los datos que llegan del puerto serie y, a su vez, transmiten al puerto serie cualquier dato que reciben por el aire. En la comunicación inalámbrica, los módulos transmiten y reciben información a través de la modulación de las ondas electromagnéticas. Para que la transmisión se realice, ambos módulos deben estar configurados en la misma frecuencia y pertenecer a la misma red.
Cada módulo XBee posee una dirección única de 64 bits, conocida como dirección MAC, análoga a la dirección MAC de las tarjetas de red Ethernet o Wi-Fi. Este valor de 64 bits se compone de los parámetros Serial Number High (SH) y Serial Number Low (SL), que suelen estar impresos en la parte trasera del módulo. El valor SH es generalmente el mismo para todos los módulos XBee de Digi (típicamente 0013A200) e identifica a los módulos de Digi.
Además de la dirección de 64 bits, se puede asignar una dirección de 16 bits a cada módulo XBee; esta dirección no es única. Este valor se puede leer o escribir a través del parámetro MY. El identificador de nodo (Node Identifier) es una cadena corta que permite identificar fácilmente un módulo con un nombre descriptivo.
Un módulo XBee puede funcionar de forma independiente o conectado a un microcontrolador o PC. Cuando opera de forma independiente, simplemente envía datos al nodo central de sensores o dispositivos conectados a los puertos del módulo. Cuando está conectado a un microcontrolador o PC, el módulo XBee utiliza la comunicación serial. El módulo XBee actúa como interfaz con el microcontrolador a través de la UART (puerto serie asíncrono).
Un Arduino o cualquier dispositivo externo conectado a un módulo XBee mediante puerto serie puede operar en varios modos, en función de cómo se comunican por el puerto serie:
Modo Transparente (Transparent Mode): En este modo, la radio simplemente retransmite la información tal como la recibe por el puerto serie. Es como un puente serial inalámbrico.
Modo API (Application Programming Interface): En este modo, se utiliza un protocolo específico para estructurar la forma en que los datos son intercambiados. Esto permite un control más granular sobre la comunicación y la capacidad de enviar comandos y recibir respuestas estructuradas.
En el modo transparente, para comunicar dos módulos, es necesario configurar la dirección del módulo de destino en el módulo que envía los datos. El modo transparente tiene limitaciones, por ejemplo, al trabajar con varios módulos, se debe configurar la dirección de destino antes de enviar un mensaje.
Dentro del modo transparente, se puede acceder al Modo Comando. En este estado, los caracteres enviados al módulo XBee se interpretan como comandos locales en lugar de ser transmitidos por radio. Para entrar en modo comando, se debe enviar la cadena "+++". Cuando el módulo recibe esta secuencia seguida de un breve silencio, deja de transmitir datos por radio y comienza a aceptar comandos locales. Si transcurren 10 segundos sin recibir datos, el módulo sale automáticamente del modo comando y regresa al modo transparente. El propósito principal del modo comando es leer o modificar la configuración local del módulo XBee.
El modo API, por otro lado, ofrece una interfaz estructurada donde los datos se comunican a través de la interfaz serie en paquetes organizados y en un orden definido. Los datos enviados en modo API se estructuran en una "trama" (frame). El tipo de trama (API frame type) determina la estructura y el contenido de la información enviada. Los tipos de tramas soportadas varían según el módulo XBee utilizado.
El campo Checksum se utiliza para verificar la integridad de los datos enviados. Para configurar el modo API, se modifica el parámetro AP. La diferencia entre API 1 y API 2 radica en el uso de caracteres de escape. El modo AP non-escaped (API 1) se basa únicamente en el delimitador de inicio y la longitud de los bytes para diferenciar las tramas. Si los bytes en un paquete se pierden, el conteo de bytes será incorrecto y el siguiente paquete (trama) también se perderá. La estructura de la trama es básicamente la misma en ambos modos API, pero en API 2, todos los bytes, excepto el delimitador de inicio, deben ser escapados si es necesario. El modo API 2 garantiza que todos los bytes 0x7E recibidos son delimitadores de inicio; este carácter no puede formar parte de ningún otro campo de la trama (longitud, datos o checksum) ya que debe estar escapado. Para escapar un carácter, se inserta 0x7D (carácter de escape) y se aplica una operación XOR con el byte a ser escapado (XOR con 0x20).
Para consultar o modificar un valor de configuración de un módulo local (conectado directamente al puerto serie), se utilizan los comandos AT. Por ejemplo, para configurar un módulo local en modo API, se emplearían comandos AT específicos. Cuando un módulo está en modo API, su interfaz en el software XCTU difiere de la que se observa en modo transparente. Trabajar en modo API permite configurar módulos remotos a los que estamos conectados. Cualquier comando AT utilizado localmente se puede emplear en un módulo remoto. La respuesta del módulo remoto a un comando AT se recibe como un "Remote AT Command Response" (0x97), que contiene el resultado del comando procesado por el módulo remoto. El módulo remoto B recibe los datos por aire y envía por su puerto serie un "Packet Received" (0x90) o un "Explicit Rx Indicator" (0x91), dependiendo del valor del parámetro API Options (AO).
Para facilitar el manejo del modo API, existen librerías que ayudan a generar las tramas a enviar e interpretar las tramas recibidas. Ejemplos de estas librerías incluyen:
- Digi XBee Ansi C Library: Una librería en ANSI C para comunicarse con módulos XBee en modo API.
- XBee-arduino: Una librería para Arduino para comunicarse con módulos XBee en modo API.
- XBee Java Library: Una librería desarrollada en Java que permite interactuar con módulos XBee en modo API.
Cifrado y Ahorro de Energía en XBee
Los módulos XBee ofrecen funcionalidades avanzadas como el cifrado de datos y modos de ahorro de energía, cruciales para aplicaciones sensibles y dispositivos alimentados por batería.
Cifrado AES: Los datos pueden ser cifrados antes de ser enviados y descifrados en el receptor. Para ello, se utiliza una clave de cifrado AES (formada por un string de 32 caracteres hexadecimales) configurada en el parámetro
KY.Modos de Ahorro de Energía (Sleep Modes): Los módulos XBee poseen capacidades de ahorro de energía. El protocolo 802.15.4 define cuatro modos básicos de funcionamiento en "sleep" (dormido), que se pueden dividir en dos categorías principales:
- Pin-controlled sleep mode: Este modo es controlado por el pin
Sleep_RQ(pin 9). Cuando este pin se pone a nivel alto (HIGH, 3.3V), el módulo entra en modo sleep. - Cyclic sleep mode: En este modo, el módulo se despierta y vuelve a entrar en modo sleep siguiendo una programación fija basada en el tiempo. La configuración
SM = 4activa este modo. Si se utilizaSM = 5, además de activar el modo cíclico, permite la activación a través del pin 9, combinando ambos modos.
- Pin-controlled sleep mode: Este modo es controlado por el pin
Comandos AT y Configuración de Red
Para interactuar con la configuración de un módulo XBee, se utilizan los Comandos AT. Estos comandos permiten leer y modificar los parámetros de operación del módulo.
Entrada al Modo Comando: Para entrar en modo comando en un XBee, se debe enviar la cadena
"+++"y esperar la respuesta"OK"del módulo. El propósito es leer o cambiar la configuración del módulo XBee.Pin Pairing: Se refiere a la comunicación directa de pines entre dos módulos XBee. El parámetro
IA(I/O Input Address) enlaza una salida de un XBee a una dirección de 64 bits específica. Esto significa que las salidas digitales de un XBee configuradas con el parámetroIAsolo aceptarán cambios provenientes de la dirección configurada.Parámetros Clave de Configuración:
CH: Permite asignar el canal que será utilizado para transmitir o recibir datos entre los módulos.ID: Permite identificar una Red de Área Personal (PAN) en particular. Para enviar un mensaje a todas las PAN, el valor deIDdebe ser0xFFFF.DHyDL: Estos parámetros forman la dirección de destino del módulo.DHcorresponde a los 32 bits más significativos yDLa los 32 bits menos significativos de la dirección de 64 bits. Para transmitir utilizando direcciones de 16 bits,DHdebe ser cero yDLinferior a0xFFFF.MY: Define una dirección de origen de 16 bits. Para deshabilitar la dirección de 16 bits y habilitar la dirección de 64 bits, se debe configurarMY=0xFFFF. La dirección de origen de 64 bits siempre está habilitada.SHySL: Permiten leer los 32 bits más significativos (SH) y menos significativos (SL) de la dirección de origen de 64 bits. Esta dirección es única para cada módulo de RF y es asignada por el IEEE.RN: Define el valor mínimo utilizado en el exponente del algoritmo de back-off para determinar los periodos de espera antes de transmitir, de acuerdo con el método CSMA/CA (Carrier Sense Multiple Access / Collision Avoidance) para evitar colisiones. Un valor común esRN=0, que deshabilita el back-off en la primera iteración para evitar colisiones.CE: Define el rol que desempeña el módulo dentro de la red (Coordinador, Router, End Device).SC: Define la lista de canales que son examinados para determinar si están activos y el nivel de energía detectada. Afecta al inicio del modo comando, la asociación de dispositivos finales y el establecimiento de un coordinador. Cada bit en este parámetro representa un canal (desde el 11 hasta el 26).SD: Establece el tiempo para inspeccionar el canal. En un dispositivo final, define el tiempo de examen del canal durante el proceso de asociación. En un coordinador, si la reasignación de PAN ID está activada, establece el periodo de tiempo para localizar redes existentes. Si la reasignación de canal está activada, determina el tiempo de examen del nivel de energía del canal para seleccionar el canal de operación.SDvaría entre 0 y 15.A1yA2: Estos parámetros definen cómo un dispositivo final (A1) o un coordinador (A2) pueden asociarse a la red.AS: Inspecciona un canal y envía una solicitud a todas las redes en cada canal para obtener información.ASdetermina el tiempo durante el cual se escuchará la respuesta a la solicitud. El mensaje recibido contiene información como la dirección del coordinador, el PAN ID, el tipo de dirección (16 o 64 bits) y el canal de operación.ED: Comprueba el nivel de energía máximo detectado en cada canal.PL: Define el nivel de potencia con el que el módulo de RF transmitirá.BD: Define la velocidad de comunicación serial (baud rate) del módulo.AP: Establece el modo de operación del módulo:AP=0para operación transparente yAP=1para modo API. Se ha observado que en algunas configuraciones,AP=2puede ser necesario para una comunicación fluida con ciertas placas como Arduino.CA: Establece el umbral que permite al módulo decidir si existen las condiciones adecuadas para transmitir un paquete.SM: Permite seleccionar el modo dormido para reducir el consumo de potencia. El valor cero deshabilita el modo dormido.
Formato de Trama API
El modo de operación API1 especifica cómo los comandos, respuestas a comandos y mensajes de estado del módulo son enviados o recibidos a través del puerto serial. En este modo, los datos se estructuran en tramas con un orden definido.
La estructura general de una trama API incluye:
- Delimitador de Inicio (Start Delimiter): Una secuencia de 8 bits (
0x7E) que indica el inicio de la trama. Cualquier dato recibido antes de este delimitador es descartado. - Longitud (Length): Indica el número de bytes contenidos dentro del campo de datos de la trama. Este campo consta de dos bytes: el más significativo y el menos significativo.
- Suma de Verificación (Checksum): Un campo de un byte que permite verificar la integridad de los datos. Para calcularlo, se suman todos los bytes del campo de datos de la trama (excluyendo el delimitador de inicio y la longitud). Si la suma excede
0xFF, se toman los 8 bits menos significativos. El valor del Checksum se obtiene restando esta suma de0xFF. Para verificar la trama, se suman todos los bytes (excluyendo el delimitador de inicio y la longitud); si el resultado es0xFF, el valor es correcto. - Campo de Datos (Data Field): Contiene el tipo de mensaje especificado por un identificador API. Existen varios tipos de mensajes, como:
- Mensajes para solicitar la transmisión de datos usando una dirección de destino de 16 bits.
- Mensajes que indican la recepción de un paquete (usando direcciones de 16 bits).
- Respuestas a comandos AT remotos.
- Indicadores de recepción explícita.
La comunicación en redes inalámbricas a menudo requiere el uso de mensajes específicos para la transmisión y recepción de datos, especialmente cuando se trabaja con direcciones de 16 bits.
Aplicaciones y Consideraciones Adicionales
Las redes de sensores inalámbricas (WSN) son una tecnología emergente con un vasto potencial de aplicaciones, desde la vigilancia ambiental hasta sistemas médicos y robótica. Una WSN es una colección de nodos que operan cooperativamente para recopilar información de un fenómeno físico, procesarla y enviarla a un nodo central de coordinación.
Los módulos XBee son fundamentales en el diseño de estas redes, permitiendo la comunicación inalámbrica a través de protocolos como IEEE 802.15.4 y Zigbee. La topología de una red de sensores inalámbricos puede variar, incluyendo topologías punto a punto, de estrella, de árbol de clúster y de malla. Un estudio de caso presentado detalla la aplicación de WSN en la medición de variables meteorológicas, utilizando un sistema de hardware y software con una topología de estrella, formado por un módulo coordinador y cuatro módulos de dispositivos finales.
La configuración de los parámetros de los módulos XBee-Pro® S2B ZB es crucial para el correcto funcionamiento de la red. Parámetros como CH, ID, DH, DL, MY, SH, SL, RN, CE, SC, SD, A1, A2, AS, ED, PL, BD, AP, CA, SM y KY juegan roles vitales en la definición de la red, la comunicación, el ahorro de energía y la seguridad. La elección del modo de operación (transparente o API) y la correcta configuración de estos parámetros son esenciales para el éxito de cualquier proyecto que involucre módulos XBee.