Diseño de aplicaciones inteligentes con Bluetooth de bajo consumo con Bluetooth Mesh: Parte 1
Colaboración de Editores de DigiKey de América del Norte
2018-03-21
Nota del editor: La parte 1 de esta serie de dos partes detalla la arquitectura y las capacidades del protocolo de Bluetooth Mesh 1.0. Se ha presentado el protocolo como una pila complementaria para el firmware Bluetooth de baja energía y lleva por primera vez una red de malla estándar abierta a Bluetooth de bajo consumo. Además, este artículo detalla las fortalezas y las debilidades de Bluetooth Mesh, lo que permite a los diseñadores compararla con otras alternativas de tecnología inalámbrica de baja potencia para determinar si es compatible con sus aplicaciones inalámbricas. La parte 2 describirá cómo integrar Bluetooth Mesh en los diseños de Bluetooth de baja energía utilizando CI y kits de desarrollo disponibles de los proveedores de DigiKey.
La red de malla es un requisito clave para las tecnologías inalámbricas de baja potencia destinadas a aplicaciones domésticas e industriales inteligentes, porque supera las limitaciones de rango, facilita la escalabilidad y aumenta la robustez. Sin embargo, los diseñadores que buscan usar Bluetooth de bajo consumo se han visto frustrados hasta hace poco por su falta de compatibilidad con redes de malla.
Esta falta de compatibilidad los ha obligado a tener que optar por otras tecnologías como Zigbee y Thread para aplicaciones domésticas inteligentes, a pesar de que el Bluetooth de bajo consumo podría ser perfectamente adecuado y compatible. (Consulte el artículo de DigiKey "Comparación de tecnologías inalámbricas de bajo consumo").
El Bluetooth SIG ha abordado ahora esta debilidad con la introducción de una especificación suplementaria, Bluetooth Mesh 1.0. La especificación no requiere hardware adicional y puede ejecutarse en todos los chips Bluetooth de bajo consumo (v4.0, 4.1, 4.2 y 5). Algunos proveedores ya están brindando compatibilidad para Bluetooth Mesh 1.0 con sus propias implementaciones de firmware de la especificación y herramientas de desarrollo asociadas.
Sin embargo, antes de embarcarse en diseños de malla de red que adopten la nueva especificación, los diseñadores deberían familiarizarse con la forma en que la implementación de la malla de Bluetooth SIG difiere de las tecnologías alternativas. Por ejemplo, la compensación en cuanto a simplicidad, consumo de energía y flexibilidad debido a las diferencias influye en las decisiones y el proceso de diseño.
Este artículo trata la especificación y explica la arquitectura de Bluetooth Mesh a los diseñadores. Describe sus características operacionales y cómo es compatible con los hogares inteligentes y aplicaciones como la iluminación inteligente. El artículo finaliza con la presentación de algunas herramientas de diseño de Bluetooth Mesh adecuadas y soluciones de hardware y software compatibles.
Ventajas de la red de malla
El Bluetooth de bajo consumo inicialmente se diseñó para complementar el Bluetooth "clásico" al extender la tecnología inalámbrica a dispositivos periféricos con una capacidad de batería modesta. Algunos ejemplos de periféricos son los sensores deportivos, como cinturones de frecuencia cardíaca o juguetes controlados de forma inalámbrica. Cada periférico se comunica a través de un canal independiente con un dispositivo de supervisión central, como un teléfono inteligente, lo que forma una topología de red en estrella.
En parte debido a su interoperabilidad con teléfonos inteligentes, el Bluetooth de bajo consumo se expandió rápidamente a otros sectores, incluido el del hogar inteligente para aplicaciones como el control de iluminación. En este tipo de aplicaciones, los inconvenientes de las redes en estrella se hicieron evidentes rápidamente.
Por ejemplo, las soluciones de Bluetooth de bajo consumo solo pueden dar abasto a un número limitado de conexiones simultáneas (generalmente ocho). Las instalaciones de iluminación con un número mayor de bombillas no se pueden controlar con un solo comando, lo que introduce latencia. En segundo lugar, en una casa grande, las bombillas en lugares distantes podrían estar fuera del alcance del controlador central.
En una red de malla, en lugar de un dispositivo central que se comunica con dispositivos periféricos individuales, se transmite un mensaje desde un punto de la red a otro al saltar a través de canales bidireccionales que conectan múltiples nodos. De esta forma, la red de malla ofrece ventajas notables, ya que permite el control simultáneo de docenas de dispositivos conectados, supera las limitaciones de rango y aumenta la redundancia. Figura 1:

Figura 1: Topología de red de malla Se puede transmitir un mensaje de un punto de la red a otro al saltar a través de canales bidireccionales que conectan múltiples nodos. (Fuente de la imagen: Silicon Labs)
Pila de Bluetooth Mesh
Desde su presentación como parte de la especificación de Bluetooth Core versión 4.0, el Bluetooth de bajo consumo se ha revisado a través de las versiones 4.1, 4.2 y 5. El Bluetooth 5 introdujo mejoras de alcance, tasa de producción, transmisión y coexistencia. (Consulte el artículo de DigiKey “Los SoC y las herramientas Bluetooth de bajo consumo compatibles con Bluetooth 4.1, 4.2 y 5 responden a los desafíos de la IoT”).
Debido a que es la última presentación de producción, se puede suponer que Bluetooth Mesh 1.0 solo es una actualización para Bluetooth 5, pero este no es el caso. Cualquier chip de Bluetooth de bajo consumo anterior (4.0, 4.1, 4.2, 5) puede modificarse para ejecutar Bluetooth Mesh, con solo una actualización de firmware, lo que permite que las instalaciones de campo aprovechen la nueva tecnología.
La clave de esta compatibilidad total con versiones anteriores se debe a que Bluetooth Mesh no es una parte integral de la pila de Bluetooth de bajo consumo, sino que es una nueva entidad separada que comprende siete capas (Figura 2).

Figura 2: Bluetooth Mesh comprende una pila de siete capas que complementa el protocolo Bluetooth de bajo consumo. (Fuente de la imagen: Bluetooth SIG)
Cuando el nodo de Bluetooth Mesh recibe un mensaje, lo pasa por las capas desde la pila subyacente de Bluetooth de bajo consumo a través de la capa portadora a la capa de red. La capa de red aplica varias comprobaciones para decidir si pasar el mensaje a las capas de transporte o descartarlo.
Tenga en cuenta que la especificación de Bluetooth Mesh define una capa de host completamente nueva que comparte algunos conceptos con la capa de host de Bluetooth de bajo consumo, pero no es compatible con esta. Esto difiere de las tecnologías de la competencia, como Zigbee y Thread, que fueron diseñadas desde el principio para incluir redes de malla (Figura 3).

Figura 3: Disposición de la pila de Bluetooth Mesh (azul claro) dentro del protocolo de Bluetooth de bajo consumo (azul oscuro). La especificación de Bluetooth Mesh define una capa de host completamente nueva que comparte algunos conceptos con la capa de host de Bluetooth de bajo consumo, pero no es compatible con esta. (Fuente de la imagen: Nordic Semiconductor)
Nodos de Bluetooth Mesh
Bluetooth Mesh usa cuatro tipos de nodos de red:
Los nodos de relé reciben y reenvían paquetes a través de la red. Una desventaja de los nodos de relé es que deben permanecer constantemente alertas, lo que aumenta significativamente el consumo de energía. Esto no es una desventaja para las aplicaciones alimentadas por red, como la iluminación inteligente, pero es un problema para los nodos alimentados por red, como los conmutadores que se incorporan a la red.
Los nodos de baja potencia (LPN) adoptan las características de ahorro de energía estándar de Bluetooth de bajo consumo (es decir, permanecen en estados de suspensión durante largos períodos de tiempo) y, por lo tanto, pueden funcionar por períodos prolongados mediante baterías o recolección de energía. Cada LPN está conectado a un nodo friend alimentado por red, que permanece activo y guarda en caché cualquier mensaje dirigido al LPN. Al entrar en un modo de recepción (según un cronograma predeterminado), el LPN acepta los mensajes en caché, opera según las instrucciones y regresa a un modo de reposo de ahorro de energía.
Los nodos proxy permiten que los dispositivos que no incluyen la pila de Bluetooth Mesh se conecten a una red de malla de Bluetooth. Esto es útil, por ejemplo, cuando un consumidor desea usar un teléfono inteligente anterior para controlar una red de iluminación inteligente. La interacción se logra a través del nodo y la interfaz del perfil de atributo genérico (GATT) (Figura 4).

Figura 4: Bluetooth Mesh usa cuatro tipos de nodos. En esta imagen, todas las bombillas e interruptores, excepto la bombilla del extremo izquierdo, son nodos de relé alimentados por red. (Fuente de la imagen: Ericsson)
El sensor de temperatura es un LPN alimentado por batería y periódicamente recibe mensajes del nodo friendship alimentado por red formado por la bombilla del extremo izquierdo. El teléfono inteligente forma un nodo proxy al utilizar la interfaz GATT de la pila de Bluetooth de bajo consumo en lugar de la pila de Bluetooth Mesh.
Antes de que un nuevo nodo pueda participar en la operación de malla de rutina, debe recibir el suministro de un Aprovisionador. Este es un dispositivo confiable con acceso a todos los nodos en una red. Al nuevo nodo se le asigna una dirección, junto con las claves de la red y del dispositivo. Después del aprovisionamiento, la clave del dispositivo se usa para establecer un canal seguro para configurar el nuevo nodo. Bluetooth Mesh puede admitir hasta 32 000 nodos.
Arquitectura de Bluetooth Mesh
Bluetooth Mesh usa una técnica de 'inundación' para enviar mensajes a través de la red. Cada paquete se transmite a cada nodo de la red hasta que alcanza los objetivos. Un mensaje puede estar dirigido a un solo nodo, a un grupo de nodos o a todos los nodos.
La dirección a los grupos de nodos se logra mediante una dirección de grupo que define un elemento de la red, por ejemplo, las luces en una habitación individual. Además, la especificación define cuatro direcciones de grupo fijas: Todos los proxies, todos los friends, todos los relés y todos los nodos para dirigirse específicamente a los tipos de nodo. (Tenga en cuenta que los LPN no se pueden abordar específicamente debido a su dependencia de los nodos friend).
La elección de una arquitectura de malla de inundación y el direccionamiento de grupo respalda la idoneidad de Bluetooth Mesh para aplicaciones domésticas inteligentes. Por ejemplo, una malla de inundación permite que un comando "ENCENDIDO" de un interruptor se propague rápidamente a través de una red de luz inteligente con cada nodo que recibe el comando y actúa en consecuencia. Las luces del grupo objetivo se iluminan casi instantáneamente. La latencia mínima en la red es mucho menor que, por ejemplo, la de una red en estrella, donde se requiere que el dispositivo central transmita un comando individual a cada luz conectada.
En una operación típica, los canales publicitarios de Bluetooth de bajo consumo se utilizan para anunciar la presencia de un dispositivo Bluetooth y buscar otros dispositivos que deseen comunicarse. Una vez que los dispositivos se han emparejado, la comunicación se mueve a uno de los 37 canales de ancho de banda completo, lo que acelera la tasa de producción.
Por el contrario, Bluetooth Mesh mantiene las cosas simples y reduce la latencia al no moverse a canales de ancho de banda completo una vez que los nodos están vinculados, sino que continúa empleando los canales publicitarios para transferir información.
La desventaja de esta disposición es la reducción del ancho de banda de la red y el riesgo de congestión, ya que solo tres frecuencias de tasa de producción restringida manejan todo el tráfico. Dos mecanismos entran en juego para manejar la congestión. El primero es un contador "Time-To-Live" (TTL) que define cuántas veces se puede retransmitir un paquete específico (un valor típico es tres pasos). El segundo es un caché de paquetes que captura paquetes que han circulado completamente alrededor de la malla, en cuyo caso se supone que no es necesaria una transmisión adicional.
El desarrollador también puede emplear una característica de transmisión de preservación de ancho de banda opcional mediante la cual los nodos pueden recibir paquetes, pero no pasarlos. La compensación es una pérdida de flexibilidad.
Bluetooth Mesh: modelos en lugar de perfiles
Bluetooth Mesh sigue la arquitectura de la tecnología Bluetooth mediante perfiles GATT, que permiten que muchos casos de uso compartan una estructura de información común. Sin embargo, en la pila de Bluetooth Mesh estos Perfiles se llaman Modelos.
Un modelo representa un comportamiento o servicio específico y define un conjunto de estados y mensajes que actúan en estos estados. Los modelos estándar cubren situaciones de uso comunes, como la configuración del dispositivo, las lecturas del sensor y el control de la luz. Los vendedores también pueden crear modelos personalizados.
Los Modelos de un nodo están organizados en elementos; cada elemento actúa como una entidad virtual en la malla con una dirección única. Cada mensaje entrante es manejado por un Modelo en un elemento (Figura 5).

Figura 5: Cada nodo de red (dispositivo de malla) incorpora modelos agrupados en elementos. Cada elemento tiene una dirección única y los Modelos en un elemento manejan los mensajes entrantes. (Fuente de la imagen: Nordic Semiconductor)
Los modelos se comunican entre sí a través de un sistema de "publicación y suscripción". La publicación envía un mensaje, y los nodos se configuran para suscribirse a mensajes enviados a direcciones específicas para su procesamiento.
En la Figura 6, el interruptor de luz en el extremo izquierdo (Interruptor 1) publica en la dirección del grupo Cocina. Los nodos Luz 1, Luz 2 y Luz 3 se suscriben a la dirección Cocina y, por lo tanto, reciben, procesan y actúan según los mensajes (como los comandos "encendido" y "apagado") publicados en esta dirección. Tenga en cuenta que Luz 3 también se suscribe a la dirección del Comedor y, por lo tanto, puede operarse desde el Interruptor 2 y el Interruptor 1.

Figura 6: Los modelos se comunican entre sí a través de un sistema de publicación y suscripción. Un modelo puede suscribirse a más de una fuente de publicación. (Fuente de la imagen: Bluetooth SIG)
(Tenga en cuenta que los Modelos son un sujeto involucrado. Se aconseja a los lectores que consulten la referencia 1 para obtener detalles más allá de lo resumido en este artículo).
Diseñar con Bluetooth Mesh
Algunos proveedores de Bluetooth de bajo consumo han presentado pilas de Bluetooth Mesh compatibles con el estándar. Debido a que la malla Bluetooth es complementaria al protocolo de Bluetooth de bajo consumo establecido, no es necesario que un desarrollador reemplace una pila de bajo consumo de energía desarrollada y probada con una nueva para aprovechar Bluetooth Mesh. Y el firmware Bluetooth Mesh ofrece todas las características de la tecnología a diseños nuevos o existentes sin que el desarrollador tenga que escribir mucho código nuevo.
Nordic Semiconductor, por ejemplo, ha agregado recientemente el nRF5 SDK para Mesh a su línea de kits de desarrollo. El kit de desarrollo de software incluye una selección de controladores, bibliotecas y ejemplos, y está diseñado para ejecutarse en varios entornos completos de desarrollo integrado (IDE) y compiladores, incluidos CMake y SEGGER Embedded Studio.
El código compilado se ejecuta en el kit de desarrollo nRF52 DK de la compañía, que se basa en el silicio nRF52832 de la compañía.
El manual de Nordic detalla cómo desarrollar una red de malla, con instrucciones claras sobre cómo compilar la pila de Bluetooth Mesh, cómo aprovisionar la malla, cómo construir una red y cómo crear nuevos modelos.
En la Figura 7 a continuación, se aprovisiona y configura un nuevo dispositivo (una bombilla) usando nRF5 SDK para Mesh. En esta ilustración, la bombilla indica al aprovisionador que está buscando una red para unirse. El aprovisionador valida la señal de la bombilla y la invita a unirse a la red. Si la autenticación tiene éxito, el dispositivo recibe las claves y direcciones necesarias para unirse a la red y prepararse para la configuración. A continuación, la bombilla recibe la clave de la aplicación de "automatización del hogar". Se establece el estado de publicación del "Servidor de encendido y apagado" (que controla la bombilla), y finalmente se agrega una suscripción al "grupo de luces".

Figura 7: Aprovisionamiento y configuración de una bombilla de luz en una red en malla usando nRF5 SDK para malla de Nordic Semiconductor (Fuente de la imagen: Nordic Semiconductor)
Silicon Labs también ofrece Bluetooth Mesh con su kit de inicio de Bluetooth EFR32 Blue Gecko. La compañía recomienda comprar tres o cuatro de los kits para construir una red de malla prototipo. Los kits se basan en el SoC de bajo consumo EFR32MG1 de la compañía. Además del hardware, el desarrollador necesitará un SDK Bluetooth y un SDK Bluetooth Mesh, ambos descargables desde el sitio web de la compañía.
Se requiere el entorno completo de desarrollo integrado (IDE) de Simplicity Studio para comenzar a funcionar con la tecnología de Bluetooth Mesh de Silicon Labs. Las herramientas de desarrollo incluyen demostraciones precompiladas, notas de aplicación y ejemplos. Una aplicación de Android está disponible para aprovisionar, configurar y controlar los nodos de Bluetooth Mesh desde una aplicación de teléfono inteligente.
STMicroelectronics ha adoptado un enfoque similar al de Nordic Semiconductor y Silicon Labs, con un SDK que permite el desarrollo de dispositivos en red basados en los SoC de Bluetooth de bajo consumo BlueNRG-2 de la compañía.
Conclusión
Bluetooth Mesh lleva la red de malla al Bluetooth de bajo consumo, lo que elimina la necesidad de utilizar un firmware de malla patentado para aplicaciones domésticas inteligentes.
La tecnología sacrifica la simplicidad para obtener un consumo de energía ligeramente mayor y cierta flexibilidad. Una ventaja clave es que la tecnología es compatible con todos los chips Bluetooth de bajo consumo, no solo con los más recientes productos Bluetooth 5.
Los proveedores de chips de Bluetooth de bajo consumo han comenzado a presentar kits de desarrollo de software de Bluetooth Mesh para complementar sus productos de firmware de protocolo y hardware desarrollado.
La Parte 2 de este artículo explicará en detalle cómo integrar Bluetooth Mesh a Bluetooth de bajo consumo mediante el uso de hardware, firmware y kits de desarrollo ya disponibles.
Referencia
- “Bluetooth Mesh Networking/An Introduction for Developers”, Bluetooth SIG, agosto 2017.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.


