ZigBee es el nombre de un conjunto de protocolos de alto nivel para la comunicación inalámbrica por enlace de radio de bajo consumo basada en el estándar IEEE 802.15.4 de redes inalámbricas de área personal.
Su objetivo son las aplicaciones que requieren comunicaciones seguras con baja tasa de envío de datos y un muy bajo consumo de energía, en principio el ámbito donde esta tecnología tiene mayor presencia es en domótica y la razón de ello son las características que lo diferencian de otras tecnologías.
- Su bajo consumo.
- Su topología de red en malla.
- Su fácil integración (se pueden fabricar nodos con muy poca electrónica).
ZigBee es similar al Bluetooth pero con algunas diferencias y ventajas por ejemplo una red ZigBee puede constar de un máximo de 65535 nodos distribuidos en subredes de 255 nodos cada una, frente a los ocho máximos de una subred (Piconet) Bluetooth.
Menor consumo eléctrico que el Bluetooth, en términos exactos ZigBee tiene un consumo de 30 mA transmitiendo y de 3 μA en reposo frente a los 40 mA transmitiendo y 0,2 mA en reposo que tiene el Bluetooth.
Este menor consumo se debe a que el sistema ZigBee se queda la mayor parte del tiempo dormido, mientras que en una comunicación Bluetooth esto no se puede dar y siempre se está transmitiendo y/o recibiendo.
Tiene una velocidad de hasta 250 kbit/s siendo claramente mas lento que Bluetooth y es debido a esto que cada uno es más apropiado que el otro para ciertas cosas.
Por ejemplo, mientras que el Bluetooth se usa para aplicaciones como los teléfonos móviles y la informática, la velocidad del ZigBee se hace insuficiente para estas tareas, siendo mas adecuado para el control electrónico, manejo de sensores y en general los productos dependientes de baterías como sensores también juguetes en los cuales la transferencia de datos es menor.
ZigBee tiene tres categorías de nodos.
El Coordinador ZigBee es el nodo más completo y se encarga de controlar toda la red y los caminos para su comunicación.
Por debajo tenemos el Router ZigBee que conecta los nodos entre si para poder ejecutar código del usuario, es decir, ofrece un nivel de aplicación dentro de la torre de protocolos.
Por último, el Dispositivo final ZigBee sólo recibe información y se comunica únicamente con el nodo padre.
La ventaja de este dispositivo es que puede permanecer dormido y ‘despertarse’ en ciertos momentos para alargar la duración de batería.
Sin duda que ZigBee es una alternativa interesante para la comunicación entre distintos dispositivos que necesiten de un consumo energético reducido. Al contrario que el Bluetooth o el WiFi, ZigBee es una opción a tener en cuenta a la hora de domotizar una casa.
Además, el Internet de las Cosas puede recurrir a esta tecnología en lugar de a dispositivos conectados por WiFi.
Por ejemplo, creando un nodo central con conexión a Internet y con suministro energético constante se podrían verificar todos los aspectos de una vivienda manteniendo una carga de datos sobre la red ZigBee y no sobre WiFi que solo se usaría cuando hay algo relevante que informar a la red exterior.
En este vídeo se puede ver el envío de los datos obtenidos de un sensor BME280 a través de una red ZigBee. El controlador usado es una placa Arduino Uno, un sensor BME280 montado sobre un mikroBus.
En este simple ejemplo se ha definido una red ZigBee con el ID_PAN 0x40F3, este identificador es el ID de la red (similar al SSID en una red WiFi) que identifica esta red de otras que pudieran existir en el área.
Luego simplemente se envía el paquete de datos al nodo apuntado.
El siguiente es el código del transmisor.
Este el código del receptor ZigBee.
La programación completa para Arduino se puede descargar desde este link y la biblioteca para Arduino.