Dark Mode Light Mode

Cómo Funciona la Tecnología ZigBee y los Tipos de Redes Basadas en Ella

Imagen de un navegador web con el título "Tecnología Zigbee Tipos de Redes", mostrando un icono de señal inalámbrica. Imagen de un navegador web con el título "Tecnología Zigbee Tipos de Redes", mostrando un icono de señal inalámbrica.
Descubre el funcionamiento de Zigbee y sus diferentes topologías de red para el Internet de las Cosas (IoT).

Mucha gente suele confundir los términos XBee y ZigBee, usándolos como sinónimos. Pero no es así: ZigBee es un protocolo estándar de red inalámbrica, mientras que XBee es un producto que soporta varios protocolos de comunicación inalámbrica, incluyendo ZigBee, Wi-Fi (módulo Wi-Fi), 802.15.4, módulo de 868 MHz, etc. En este artículo nos centraremos principalmente en el módulo RF Xbee/Xbee-PRO ZB, que utiliza el firmware ZigBee.

Imagen de un módulo XBee Series 2, un dispositivo que utiliza la tecnología de red inalámbrica Zigbee.
Descubre las ventajas de Zigbee, un protocolo de comunicación inalámbrica ideal para el Internet de las Cosas (IoT).

Aunque actualmente la tecnología ZigBee no está en su mejor momento y está siendo gradualmente reemplazada por tecnologías como LoRa y NB-IoT, todavía hay muchos dispositivos inalámbricos funcionando en todo el mundo basados en ella. También sigue incluyéndose en el firmware de los módulos inalámbricos universales modernos.

¿Cómo funcionan los protocolos inalámbricos modernos?

La mayoría de los protocolos de red modernos utilizan el concepto de niveles (la llamada modelo OSI de 7 niveles, aunque en algunos casos se le llama de 4 niveles) para dividir los diferentes componentes del software en módulos independientes que pueden ser ensamblados por diferentes fabricantes por separado. Quizás tengas que esforzarte para comprender profundamente la arquitectura de Xbee, pero intentaremos simplificar al máximo este proceso.

Empecemos con algunos términos básicos, como enrutamiento, prevención de colisiones y confirmación. Para entender el primer término, solo mira su nombre “ruta”, que significa seguimiento o determinación de un camino. En una red, el enrutamiento significa asegurar la dirección de los datos desde el nodo de origen hasta el nodo de destino. Cuando dos nodos en la red intentan transmitir simultáneamente, se produce una situación llamada colisión. En las redes inalámbricas modernas, normalmente se utiliza el método de acceso múltiple con detección de portadora y evitación de colisiones (CSMA/CA), que permite evitar conflictos. Básicamente, los nodos hablan como las personas, verifican que nadie esté hablando antes de empezar a enviar datos.

Cada vez que el receptor recibe correctamente los datos transmitidos, envía un acuse de recibo al transmisor. Si no se recibe la confirmación en un tiempo determinado, el transmisor repite la transmisión de ese paquete de datos.

Arquitectura ZigBee

En la pila ZigBee hay cuatro niveles principales: el nivel físico, el nivel de acceso al medio, el nivel de red y el nivel de aplicación.

Diagrama que ilustra la arquitectura en capas del protocolo Zigbee, mostrando las capas de aplicación, red, control de acceso al medio y física.
Comprende la estructura del protocolo Zigbee y cómo funciona en cada una de sus capas.
  • Nivel de aplicación: Define diferentes objetos de direccionamiento, incluyendo perfiles, clústeres y puntos finales. Puedes ver los niveles de la pila ZigBee en la imagen anterior.
  • Nivel de red: Añade capacidades de enrutamiento, que permiten que los paquetes de datos de radiofrecuencia pasen a través de varios dispositivos (varios “saltos”) para enrutar los datos desde el origen hasta el destino (red punto a punto).
  • Nivel MAC: Gestiona las transacciones de datos de radiofrecuencia entre dispositivos adyacentes (punto a punto). El MAC incluye servicios como reintentos de transmisión y gestión de confirmaciones, así como métodos de prevención de conflictos.
  • Nivel físico: Define cómo se conectan los dispositivos a la red; define la potencia de salida, el número de canales y la velocidad de transmisión. La mayoría de las aplicaciones ZigBee funcionan en el rango ISM de 2,4 GHz con una velocidad de transmisión de datos de 250 kbit/s.

La mayoría de los dispositivos XBee tienen líneas integradas de control de flujo, E/S, conversión analógica-digital e indicadores que se pueden configurar con los comandos correspondientes. Las muestras analógicas se devuelven como valores de 10 bits. La lectura analógica se escala de modo que 0x0000 corresponde a 0 V y 0x3FF = 1,2 V. (Las entradas analógicas del módulo no pueden leer más de 1,2 V)

Para convertir las lecturas del ADC a mV, haz lo siguiente:

AD (mV) = (lectura del conversor analógico-digital * 1200 mV) / 1023

Transmisión de datos en ZigBee

Puedes llamar red a la combinación de software y hardware capaz de enviar datos de un lugar a otro. El hardware se encarga de transmitir las señales de un punto de la red a otro. El software consiste en conjuntos de instrucciones que permiten que funcione como esperamos.

Normalmente, la transmisión de datos en paquetes ZigBee puede hacerse de dos maneras: unidireccional y difusión.

Transmisión de difusión (difusión)

Las transmisiones de difusión se envían a muchos o todos los dispositivos de la red. Las transmisiones de difusión por el protocolo ZigBee se propagan por toda la red, de modo que todos los nodos reciben la transmisión. Para ello, el coordinador y todos los enrutadores que han recibido la transmisión de difusión retransmiten el paquete tres veces.

Diagrama que muestra una red Zigbee con un coordinador central (C) conectado a varios enrutadores (R) y dispositivos finales (E).
Descubre cómo funciona la difusión de datos en una red Zigbee.

Transmisión unidireccional

La transmisión unidireccional de datos en ZigBee enruta los datos de un dispositivo de origen a otro dispositivo de destino. El dispositivo de destino puede ser un vecino inmediato del dispositivo de origen o puede haber varios saltos entre ellos. La imagen siguiente muestra un ejemplo que explica el mecanismo de transmisión unidireccional en ZigBee.

Diagrama que ilustra una transmisión unidireccional en Zigbee entre dos dispositivos, Device A y Device B, mostrando diferentes niveles de potencia de transmisión y la calidad de la conexión.
Comprende cómo funciona la transmisión unidireccional y la importancia de la calidad del enlace en Zigbee.

Principios de funcionamiento de las redes Zigbee y tipos de nodos en ellas

¿Qué necesitas para llegar a la casa de tu amigo? Solo necesitas su dirección. Del mismo modo, para enviar datos de un módulo Xbee a otro, necesitarás su dirección única. Al igual que las personas, los Xbee incluso tienen varias direcciones, cada una de las cuales juega un papel específico en la red. Existen dos tipos de direcciones en la tecnología ZigBee: la dirección estática (dirección de 64 bits) y la dirección dinámica (dirección de 16 bits).

Direcciones en ZigBee

La dirección de 64 bits es universal; el fabricante la integra en el módulo Xbee. Ninguna otra estación de radio ZigBee en el mundo tendrá la misma dirección estática. En la parte trasera de cada módulo xbee puedes ver esta dirección, como se muestra en la imagen siguiente, y, en particular, la parte superior de la dirección “0013A200” es la misma para cada módulo xbee.

Imagen de un módulo XBee Series 1, mostrando su placa de circuito impreso y el número de serie.
El módulo XBee facilita la comunicación inalámbrica en tus proyectos de Internet de las Cosas (IoT)

El dispositivo recibe una dirección de 16 bits, que debe ser única localmente al conectarse a la red ZigBee. La dirección de 16 bits 0x0000 está reservada para el coordinador. Todos los demás dispositivos reciben una dirección generada aleatoriamente del enrutador o del dispositivo coordinador, que permite la conexión. La dirección de 16 bits puede cambiar si se detecta que dos dispositivos tienen la misma dirección de 16 bits o si el dispositivo abandona la red y se une más tarde (puede recibir otra dirección).

Identificador de nodo

A nuestro cerebro siempre le resulta más fácil recordar cadenas que números. Por lo tanto, a cada módulo Xbee de la red se le puede asignar un identificador de nodo. El identificador de nodo es un conjunto de caracteres, es decir, cadenas, que pueden ser una forma más conveniente para el usuario de referirse al nodo de la red.

Redes personales

Las redes creadas por los módulos Xbee se denominan redes de área personal o PAN (personal area networks). Cada red se define mediante un identificador PAN (PAN ID) único. Este identificador es común a todos los dispositivos de una misma red. ZigBee admite identificadores PAN de 64 bits y de 16 bits. Ambas direcciones PAN se utilizan para identificar de forma única la red. Los dispositivos de una misma red ZigBee deben utilizar los mismos identificadores PAN de 64 bits y 16 bits. Si varias redes ZigBee funcionan dentro del alcance de la otra, cada una debe tener identificadores PAN únicos.

El identificador PAN de 16 bits se utiliza para el direccionamiento de nivel MAC en todas las transmisiones de datos de radiofrecuencia entre los dispositivos de la red. Pero debido al espacio de direcciones limitado del identificador PAN de 16 bits (65 535 posibilidades), existe la posibilidad de que varias redes ZigBee (dentro del alcance de la otra) puedan tener el mismo identificador PAN de 16 bits. Para resolver estos conflictos, ZigBee Alliance creó el identificador PAN de 64 bits. ZigBee define tres tipos diferentes de dispositivos: coordinador, enrutador y dispositivo final.

En cada red siempre se necesita un coordinador para configurar la red. Por lo tanto, nunca podrá “dormirse” (pasar al modo de suspensión). También es responsable de la selección del canal y del ID de PAN (tanto de 64 bits como de 16 bits) para iniciar la red. Esto permite que los enrutadores y los dispositivos finales se conecten a la red, así como para enrutar los datos en la red.

Puede haber varios enrutadores en la red. Un enrutador puede recibir señales de otros enrutadores/EP (End Points – puntos finales). Tampoco puede dormir nunca. Antes de poder transmitir, recibir o enrutar datos, debe unirse a la PAN Zigbee. Después de unirse, puede permitir que los enrutadores y los dispositivos finales se conecten a la red. Después de unirse, también puede ayudar en el enrutamiento de datos. Puede almacenar en búfer los paquetes de datos de radiofrecuencia para los dispositivos finales inactivos.

También puede haber varios puntos finales. Pueden entrar en modo de suspensión para ahorrar energía. Antes de poder transmitir o recibir datos, deben unirse a la PAN ZigBee.

Como el dispositivo final puede entrar en modo de suspensión, su dispositivo principal (a través del cual el dispositivo final está conectado a la red) debe almacenar en búfer o retener los paquetes de datos entrantes hasta que el dispositivo final se despierte y reciba los paquetes de datos.

Diferentes topologías de red en ZigBee

La topología de red se refiere a la forma de diseñar la red. Aquí, la topología es una representación geométrica de las relaciones de todos los canales y dispositivos de conexión (coordinador, enrutador y dispositivos finales) entre sí.

En la tecnología ZigBee se utilizan cuatro topologías de red principales: malla (Mesh), estrella, híbrida y árbol.

Diagrama que ilustra cuatro topologías de red Zigbee: árbol, estrella, malla e híbrida. Se muestran los diferentes nodos: coordinador, enrutador y dispositivo final.
Comprende las diferentes topologías de red que ofrece Zigbee para tus proyectos IoT.

En la topología de malla (que también se llama topología de malla), cada nodo está conectado entre sí, excepto el dispositivo final, ya que los dispositivos finales no pueden interactuar directamente. Para asegurar una comunicación sencilla entre dos radiomódulos ZigBee, es necesario configurar uno con el firmware de coordinador y el otro con el firmware de enrutador o punto final. La principal ventaja de la red de malla es que si uno de los canales deja de ser utilizable, esto no deshabilita todo el sistema. Actualmente, las redes de malla se utilizan en los sistemas de radiocomunicaciones militares de los países extranjeros desarrollados, debido a su altísima resistencia a la influencia de diversos factores desestabilizadores. Puedes leer más sobre los principios de funcionamiento de las redes de malla en este artículo.

En la topología en estrella, cada dispositivo tiene una conexión punto a punto dedicada con el controlador central (coordinador). Todos los dispositivos no están conectados directamente entre sí. A diferencia de la topología de malla, en la topología en estrella, un dispositivo no puede enviar datos directamente a otro dispositivo. El coordinador o concentrador está diseñado para el intercambio: si un dispositivo quiere enviar datos a otro, envía los datos al coordinador, que luego envía los datos al dispositivo de destino.

Las redes híbridas son redes que contienen dos o más tipos de estándares de comunicación. Aquí, la red híbrida es una combinación de red en estrella y en árbol, varios dispositivos finales están conectados directamente al nodo coordinador, y otros dispositivos finales necesitan la ayuda de un nodo principal para recibir los datos.

En la red en árbol, los enrutadores forman una línea principal, y los dispositivos finales suelen agruparse alrededor de cada enrutador. Esto no difiere mucho de la configuración de malla, excepto por el hecho de que los enrutadores no están conectados entre sí. Puedes visualizar estas redes utilizando la imagen que se muestra arriba.

Firmware Xbee

El módulo XBee programable está equipado con un procesador de aplicaciones Free Scale. Este procesador de aplicaciones viene con un gestor de arranque. Este firmware XBee ZV se basa en la pila Embernet 3.xx ZigBee-PRO, los módulos XBee-Znet 2.5 se pueden actualizar a esta funcionalidad. Puedes comprobar el firmware con el comando ATVR, del que hablaremos más adelante en este capítulo. Los números de versión de XBee constarán de 4 dígitos significativos. El número de versión también se puede ver con el comando ATVR. La respuesta devuelve 3 o 4 números. Todos los números son hexadecimales y pueden tener un rango de 0 a 0xF. La versión se indica como “ABCD”. Los dígitos ABC son el número de la versión principal, y D es el número de la subversión de la versión principal. La API, que se analiza en el capítulo 4, y los comandos AT son prácticamente iguales para Znet 2.5 y el firmware ZB.

En las telecomunicaciones, todo el comando Hayes representa comandos específicos del lenguaje Hayes, desarrollados para el módem Hayes Smart Modem en 1981. Eran una serie de palabras cortas para controlar el módem, lo que simplificaba la comunicación y la configuración del módem en esos días.

XBee también funciona en modo comando e incluye comandos AT (ATTENTION – en traducción literal “ATENCIÓN”). Estos comandos se pueden enviar a XBee a través de terminales. Las estaciones de radio XBee y XBee configuradas con AT tienen dos modos de comunicación.

  • Transparente: La estación de radio solo transmite la información recibida a la dirección de radio remota a la que está configurada. Los datos enviados a través del puerto serie son recibidos por XBee tal cual.
  • Comando: Este modo se utiliza para comunicarse con la estación de radio y configurar algunos modos preconfigurados. En este modo nos comunicamos con los módulos y cambiamos la configuración.

Puedes introducir +++ y esperar un segundo sin presionar ningún otro botón, después de esto debería aparecer el mensaje OK en forma de imagen del terminal en la parte superior. Al presionar OK, XBee nos informa de que está en modo comando y está listo para recibir mensajes de configuración.

Si esperas más de 10 segundos sin presionar el botón, XBee volverá al modo TRANSPARENTE. Luego tendrás que volver a introducir +++, para volver al modo comando.

Comandos AT de XBee

  • AT (TEST): Es un comando de prueba que permite comprobar si el módulo responde “OK”, ya que la respuesta confirma lo mismo.
  • ATDH: Dirección de destino mayor. Para configurar los 32 bits más significativos de la dirección de destino de 64 bits, la combinación de DL y DH te da la dirección de destino de 64 bits.
  • ATDL: Dirección de destino menor. Esto es de nuevo para configurar los 32 bits menos significativos de la dirección de destino de 64 bits.
  • ATID: Este comando cambia el identificador PAN, que tiene un tamaño de 4 bytes en formato hexadecimal y puede estar en el rango de 0000 a FFFF.
  • ATWR: Graba los valores de los parámetros en la memoria no volátil, para que los cambios de parámetros se mantengan en los reinicios posteriores.

Nota: Después de emitir WR, no se deben enviar caracteres adicionales al módulo hasta que recibamos la respuesta “OK\r”.

  • ATRE (Restaurar valores predeterminados): Restaura la configuración de fábrica del módulo. Esto es muy útil si el módulo no responde.

Para configurar el módulo con el comando AT después de entrar en el modo comando (es decir, presionando +++), debes introducir en el terminal AT(XY), por ejemplo ATID 1001 (este valor puede ser cualquiera de 0 a FFFF, los comandos XBee siempre utilizan valores hexadecimales). Presiona Enter, si devuelve OK, entonces puedes introducir rápidamente ATID en el terminal para ver si se ha cambiado el valor, esto solo se grabará definitivamente después de usar ATWR en la sesión, el valor grabado desaparece tan pronto como el módulo se apaga, si no se utiliza ATWR.

Agregar Comentario Agregar Comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Post Anterior
Imagen de un portátil con una señal de Wi-Fi brillante proyectada sobre el teclado, junto a la pregunta "¿Debemos apagar el Wi-Fi cuando no lo usamos?".

¿Debemos Apagar el Wi-Fi Cuando No lo Usamos?

Post Siguiente
Representación gráfica de un chip cuántico de Cisco, con el texto "CISCO CREA CHIP TEMPERATURA AMBIENTE" superpuesto. Imagen de alta tecnología que sugiere un avance en computación cuántica.

Revolución Cuántica: Cisco Crea Chip a Temperatura Ambiente

Anuncio