Conception d'applications Bluetooth Low-Energy intelligentes avec Bluetooth Mesh - 1re partie

Avec la contribution de Rédacteurs nord-américains de DigiKey

Note de l'éditeur : la 1re partie de cette série en deux parties décrit l'architecture et les capacités du protocole Bluetooth Mesh 1.0. Le protocole a été introduit comme pile complémentaire au micrologiciel Bluetooth Low-Energy et apporte pour la première fois un réseau maillé à norme ouverte au micrologiciel. Le présent article décrit également les points forts et les points faibles du protocole Bluetooth Mesh, permettant aux concepteurs de le comparer avec d'autres alternatives de technologie sans fil basse consommation pour déterminer s'il est adapté à leurs applications sans fil. La 2e partie décrit comment intégrer Bluetooth Mesh dans les conceptions Bluetooth Low-Energy en utilisant des circuits intégrés et des kits de développement disponibles chez les fournisseurs de DigiKey.

Le réseau maillé constitue une exigence clé pour les technologies sans fil basse consommation ciblant les applications industrielles et de maisons intelligentes, car il permet de surmonter les limitations de portée, de simplifier l'évolutivité et de renforcer la robustesse. Cependant, les concepteurs souhaitant utiliser Bluetooth Low-Energy ont, jusqu'à récemment, été frustrés par le manque de prise en charge du réseau maillé.

Ce manque de prise en charge les a obligés à opter pour d'autres technologies telles que Zigbee et Thread pour les applications de maisons intelligentes, même si autrement, Bluetooth Low-Energy est parfaitement adapté et largement pris en charge. (Consultez l'article « Comparaison des technologies sans fil basse consommation » de DigiKey.)

Le Bluetooth SIG a maintenant résolu cette faiblesse avec l'introduction d'une spécification supplémentaire, Bluetooth Mesh 1.0. La spécification ne nécessite aucun matériel supplémentaire et peut fonctionner sur toutes les puces Bluetooth Low-Energy (versions 4.0, 4.1, 4.2 et 5). Certains fournisseurs prennent déjà en charge Bluetooth Mesh 1.0 avec leurs propres implémentations micrologicielles de la spécification et des outils de développement associés.

Cependant, avant de se lancer dans la conception de réseaux maillés adoptant la nouvelle spécification, les concepteurs doivent se familiariser avec la manière dont l'implémentation Mesh de Bluetooth SIG diffère des technologies alternatives. Par exemple, il faut tenir compte du compromis concernant la simplicité, la consommation d'énergie et la flexibilité, car les différences ont un impact sur les choix et le processus de conception.

Cet article fait le point sur la spécification et explique l'architecture de Bluetooth Mesh pour les concepteurs. Il décrit ses caractéristiques opérationnelles et la manière dont il prend en charge les maisons intelligentes et les applications telles que l'éclairage intelligent. L'article se termine par la présentation d'outils de conception Bluetooth Mesh adaptés et de solutions matérielles et logicielles pour la prise en charge.

Les avantages du réseau maillé

Initialement, Bluetooth Low-Energy a été conçu pour compléter la technologie Bluetooth « classique » en étendant la technologie sans fil à des périphériques ayant une capacité de batterie modeste. Parmi eux figurent par exemple les capteurs utilisés pour le sport, tels que les ceintures indiquant la fréquence cardiaque, ou les jouets à commande sans fil. Chaque périphérique communique par le biais d'un canal indépendant avec un dispositif de supervision central, comme un smartphone, formant ainsi une topologie de réseau en étoile.

En partie grâce à son interopérabilité avec les smartphones, la technologie Bluetooth Low-Energy s'est rapidement étendue à d'autres secteurs, notamment les maisons intelligentes pour les applications comme le contrôle de l'éclairage. Dans ces types d'applications, les inconvénients des réseaux en étoile sont rapidement apparus.

Par exemple, les solutions Bluetooth Low-Energy peuvent uniquement gérer un nombre limité de connexions simultanées (généralement huit). Il est impossible de contrôler les installations d'éclairage ayant un nombre d'ampoules supérieur à celui-ci à l'aide d'une seule commande, ce qui entraîne une latence. Deuxièmement, dans une grande maison, les ampoules situées dans des endroits éloignés peuvent être hors de portée du dispositif de commande central.

Dans un réseau maillé, au lieu d'un dispositif central communiquant avec des périphériques individuels, un message est relayé d'un point du réseau à un autre par saut de canaux bidirectionnels, reliant ainsi plusieurs nœuds. Le réseau maillé apporte donc des avantages notables, car il permet un contrôle simultané de dizaines de périphériques connectés. Il permet également de surmonter les limitations de portée et de générer une redondance (Figure 1).

Schéma illustrant la topologie du réseau maillé

Figure 1 : Topologie du réseau maillé. Un message peut être relayé d'un point du réseau à un autre en sautant d'un canal bidirectionnel à un autre, reliant ainsi plusieurs nœuds. (Source de l'image : Silicon Labs)

La pile Bluetooth Mesh

Depuis son introduction dans le cadre de la spécification principale Bluetooth 4.0, Bluetooth Low-Energy a été révisé grâce aux versions 4.1, 4.2 et 5. Bluetooth 5 a apporté des améliorations en termes de portée, de débit, de radiodiffusion et de coexistence. (Consultez l'article de DigiKey « Les outils et systèmes sur puce Bluetooth Low-Energy, compatibles avec Bluetooth® 4.1, 4.2 et 5, répondent aux défis de l'IoT ».)

Étant la dernière introduction de production, on pourrait supposer que Bluetooth Mesh 1.0 constitue une mise à niveau vers Bluetooth 5 seulement, mais ce n'est pas le cas. Toute puce Bluetooth Low-Energy (4.0, 4.1, 4.2, 5) peut être modifiée pour exécuter Bluetooth Mesh avec une simple mise à niveau du micrologiciel, ce qui permet aux installations sur site de tirer parti de la nouvelle technologie.

La clé de cette rétrocompatibilité vient du fait que Bluetooth Mesh ne fait pas partie intégrante de la pile Bluetooth Low-Energy. Il s'agit plutôt d'une nouvelle entité séparée comprenant sept couches (Figure 2).

Image de Bluetooth Mesh comprenant une pile à sept couches

Figure 2 : Bluetooth Mesh comprend une pile à sept couches qui complète le protocole Bluetooth Low-Energy. (Source de l'image : Bluetooth SIG)

Lorsque le Bluetooth Mesh reçoit un message, il le transmet vers le haut des couches, depuis la pile Bluetooth Low-Energy sous-jacente jusqu'à la couche réseau au moyen de la couche porteuse. Diverses vérifications sont exécutées au niveau de la couche réseau pour décider de transmettre le message aux couches de transport ou de l'ignorer.

Notez que la spécification Bluetooth Mesh définit une couche hôte entièrement nouvelle qui partage certains concepts avec la couche hôte Bluetooth Low-Energy, mais n'est pas compatible avec celle-ci. Il s'agit là d'une petite différence par rapport aux technologies concurrentes telles que Zigbee et Thread, qui ont été conçues dès le départ pour inclure le réseau maillé (Figure 3).

Configuration de la pile Bluetooth Mesh (bleu clair) dans le protocole Bluetooth Low-Energy (bleu foncé)

Figure 3 : Configuration de la pile Bluetooth Mesh (bleu clair) dans le protocole Bluetooth Low-Energy (bleu foncé). La spécification Bluetooth Mesh définit une couche hôte entièrement nouvelle qui partage certains concepts avec la couche hôte Bluetooth Low-Energy, mais n'est pas compatible avec celle-ci. (Source de l'image : Nordic Semiconductor)

Nœuds Bluetooth Mesh

Bluetooth Mesh utilise quatre types de nœuds réseau :

Les nœuds de relais reçoivent et transfèrent des paquets sur le réseau. Inconvénient des nœuds de relais : ils doivent rester constamment en alerte, ce qui augmente considérablement la consommation d'énergie. Cela ne constitue pas un inconvénient pour les applications alimentées par secteur comme l'éclairage intelligent, mais reste un problème pour les nœuds non alimentés par secteur comme les commutateurs qui sont incorporés au réseau.

Les nœuds basse consommation (LPN) adoptent les caractéristiques d'économie d'énergie standard du Bluetooth Low-Energy (c'est-à-dire qu'ils restent en état de veille pendant de longues périodes) et peuvent donc fonctionner pendant de longues périodes sur batteries ou par récupération d'énergie. Chaque LPN est connecté à un nœud « ami » alimenté par secteur, qui reste éveillé et met en cache tous les messages envoyés vers le LPN. Lorsque le LPN entre en mode de réception (selon un programme prédéterminé), il accepte les messages mis en cache, fonctionne selon les instructions et repasse en mode de veille économique.

Les nœuds proxy permettent aux dispositifs sans pile Bluetooth Mesh de se connecter à un réseau Bluetooth Mesh. Cette fonctionnalité est utile, par exemple, lorsqu'un consommateur souhaite utiliser un ancien smartphone pour contrôler un réseau d'éclairage intelligent. L'interaction est réalisée à la fois par l'intermédiaire du nœud et de l'interface GATT (Generic Attribute Profile) du dispositif (Figure 4).

Schéma des quatre types de nœuds utilisés par Bluetooth Mesh

Figure 4 : Bluetooth Mesh utilise quatre types de nœuds. Sur cette image, toutes les ampoules et tous les interrupteurs, à l'exception de l'ampoule à l'extrême gauche, sont alimentés par des nœuds de relais. (Sources de l'image : Ericsson)

Le capteur de température est un LPN alimenté par batterie et reçoit périodiquement des messages provenant du nœud « ami » alimenté par secteur, formé par l'ampoule à l'extrême gauche. Le smartphone forme un nœud proxy en utilisant l'interface GATT de la pile Bluetooth Low-Energy plutôt que la pile Bluetooth Mesh.

Avant qu'un nouveau nœud puisse participer à l'opération de maillage de routine, il doit être provisionné par un provisionneur. Il s'agit d'un dispositif de confiance avec accès à tous les nœuds d'un réseau. Le nouveau nœud reçoit une adresse, ainsi que des clés de réseau et de périphérique. Après le provisionnement, la clé du dispositif est utilisée pour établir un canal sécurisé pour configurer le nouveau nœud. Bluetooth Mesh peut prendre en charge jusqu'à 32 000 nœuds.

Architecture de Bluetooth Mesh

Bluetooth Mesh utilise une technique dite « d'inondation » pour envoyer des messages sur le réseau. Chaque paquet est radiodiffusé vers chaque nœud du réseau jusqu'à ce qu'il atteigne la ou les cibles. Un message peut cibler un seul nœud, un groupe de nœuds ou tous les nœuds.

Les groupes de nœuds sont ciblés en utilisant une adresse de groupe qui définit un élément du réseau (par exemple, les lampes d'une seule pièce). De plus, la spécification définit quatre adresses de groupe fixes : tous les nœuds proxy, tous les nœuds amis, tous les nœuds de relais et tous les nœuds, pour cibler spécifiquement les types de nœuds. (Notez que les LPN ne peuvent pas être spécifiquement ciblés en raison de leur dépendance aux nœuds amis.)

Le choix d'une architecture de maillage dite d'inondation et d'un adressage de groupe renforce la compatibilité de Bluetooth Mesh pour les applications de maisons intelligentes. Par exemple, une maille d'inondation permet à la commande « ON » (activer) d'un commutateur de se propager rapidement à travers un réseau d'éclairage intelligent. Chaque nœud reçoit alors la commande et réagit en conséquence. Les lampes du groupe cible s'allument presque instantanément. La latence minimale dans le réseau est beaucoup plus faible que celle d'un réseau en étoile, où le dispositif central doit transmettre une commande individuelle à chaque lampe connectée.

En mode de fonctionnement typique, les canaux de communication de Bluetooth Low-Energy sont utilisés pour communiquer la présence d'un dispositif Bluetooth et rechercher d'autres dispositifs souhaitant établir une communication. Une fois les dispositifs appairés, la communication passe à l'un des 37 canaux à bande passante complète, ce qui accélère le débit.

En revanche, Bluetooth Mesh conserve une certaine simplicité et réduit la latence en ne passant pas à des canaux à bande passante complète une fois que les nœuds sont reliés. Il continue plutôt à utiliser les canaux de communication pour transférer des informations.

L'inconvénient de cette configuration est la réduction de la bande passante du réseau et le risque d'encombrement, car seulement trois fréquences à débit limité gèrent tout le trafic. Deux mécanismes entrent en jeu pour gérer l'encombrement. Le premier est un compteur « Time-To-Live » (TTL), qui définit le nombre de fois qu'un paquet spécifique peut être relayé (valeur typique : trois étapes). Le second est un cache de paquets qui capture les paquets qui ont circulé entièrement dans le maillage, stade où il est supposé qu'une transmission supplémentaire est inutile.

Le développeur peut également utiliser une fonction de relais de préservation de bande passante facultative, par laquelle les nœuds peuvent recevoir des paquets, mais ne les transmettent pas. Cette option entraîne malheureusement une perte de flexibilité.

Bluetooth Mesh : des modèles au lieu de profils

Bluetooth Mesh suit l'architecture de la technologie Bluetooth en utilisant des profils GATT qui permettent à de nombreux cas d'utilisation de partager une structure d'informations commune. Cependant, dans la pile Bluetooth Mesh, ces profils sont appelés des modèles.

Un modèle représente un comportement ou un service spécifique et définit un ensemble d'états et de messages qui agissent sur ces états. Les modèles standard couvrent des scénarios d'utilisation typiques comme la configuration du dispositif, les mesures des capteurs et le contrôle de la lumière. Les fournisseurs peuvent également créer des modèles personnalisés.

Les modèles d'un nœud sont organisés en éléments. Chaque élément agit comme une entité virtuelle dans le maillage, avec une adresse unique. Chaque message entrant est géré par un modèle dans un élément (Figure 5).

Image des nœuds réseau (dispositif Mesh) incorporant des modèles regroupés en éléments

Figure 5 : Chaque nœud réseau (dispositif Mesh) incorpore des modèles regroupés en éléments. Chaque élément est associé à une adresse unique et les modèles d'un élément gèrent les messages entrants. (Source de l'image : Nordic Semiconductor)

Les modèles communiquent entre eux par l'intermédiaire d'un système « Publish-Subscribe » (publier et s'abonner). La publication envoie un message et les nœuds sont configurés pour s'abonner aux messages envoyés à des adresses spécifiques pour traitement.

Dans la Figure 6, le commutateur d'éclairage à l'extrême gauche (commutateur 1) publie à l'attention de l'adresse de groupe Cuisine. Les nœuds éclairage 1, éclairage 2 et éclairage 3 s'abonnent à l'adresse Cuisine, et donc reçoivent et traitent les messages (par exemple, les commandes « marche » et « arrêt ») publiés vers cette adresse. Notez que le nœud éclairage 3 est également abonné à l'adresse de la salle à manger et peut donc être commandé à partir du commutateur 2 en plus du commutateur 1.

Schéma illustrant la communication entre les modèles au moyen d'un système de publication et d'abonnement

Figure 6 : Les modèles communiquent entre eux par l'intermédiaire d'un système de publication et d'abonnement. Un modèle peut s'abonner à plusieurs listes de publication. (Source de l'image : Bluetooth SIG)

(Notez que les modèles sont ici uniquement résumés. Il est conseillé aux lecteurs de consulter la référence 1 pour obtenir plus de détails.)  

Conception avec Bluetooth Mesh

Certains fournisseurs Bluetooth Low-Energy ont introduit des piles Bluetooth Mesh conformes aux normes. Étant donné que Bluetooth Mesh complète le protocole Bluetooth Low-Energy établi, il n'est pas nécessaire pour un développeur de remplacer une pile Bluetooth Low-Energy qualifiée et éprouvée par une nouvelle pile pour tirer parti de Bluetooth Mesh. Par ailleurs, le micrologiciel Bluetooth Mesh apporte toutes les fonctionnalités de la technologie aux conceptions nouvelles ou existantes sans obliger le développeur à écrire beaucoup de nouveau code.

Nordic Semiconductor, par exemple, a récemment ajouté le nRF5 SDK for Mesh à sa gamme de kits de développement. Le kit de développement logiciel comprend une sélection de pilotes, de bibliothèques et d'exemples. Il est conçu pour fonctionner dans plusieurs environnements de développement intégrés (IDE) et avec des compilateurs tels que CMake et SEGGER Embedded Studio.

Le code compilé s'exécute avec le kit de développement nRF52 DK de la société, basé sur la puce nRF52832 de la société.

La documentation de Nordic explique comment développer un réseau maillé avec des instructions claires sur la manière de compiler la pile Bluetooth Mesh, de provisionner le maillage, de construire un réseau et de créer de nouveaux modèles.

Dans la Figure 7 ci-dessous, un nouveau périphérique (une ampoule) est provisionné et configuré à l'aide de nRF5 SDK for Mesh. Dans cette illustration, l'ampoule envoie un signal au provisionneur pour lui indiquer qu'elle cherche un réseau. Le provisionneur valide la balise de l'ampoule et lui envoie une invitation à rejoindre le réseau. Si l'authentification réussit, le périphérique reçoit les clés et les adresses nécessaires pour rejoindre le réseau et se préparer pour la configuration. Ensuite, l'ampoule reçoit la clé d'application « domotique ». L'état de publication du « serveur marche/arrêt » (OnOff Server, qui sert à contrôler l'ampoule) est défini. Pour terminer, un abonnement au « groupe d'éclairage » est ajouté.

Schéma illustrant le provisionnement et la configuration d'une ampoule avec nRF5 SDK for Mesh de Nordic Semiconductor

Figure 7 : Provisionnement et configuration d'une ampoule dans un réseau maillé avec nRF5 SDK for Mesh de Nordic Semiconductor. (Source de l'image : Nordic Semiconductor)

Silicon Labs propose également Bluetooth Mesh avec son kit de démarrage Bluetooth EFR32 Blue Gecko. La société recommande d'acheter trois ou quatre kits pour construire un prototype de réseau maillé. Les kits sont basés sur le système sur puce Bluetooth Low-Energy EFR32MG1 de la société. En plus du matériel, le développeur a besoin d'un kit de développement logiciel Bluetooth et d'un kit de développement logiciel Bluetooth Mesh, téléchargeables sur le site Web de la société.

L'IDE Simplicity Studio est nécessaire pour démarrer avec la technologie Bluetooth Mesh de Silicon Labs. Les outils de développement comprennent des démonstrations précompilées, des notes d'application et des exemples. Une application Android est disponible pour le provisionnement, la configuration et le contrôle des nœuds Bluetooth Mesh à partir d'un smartphone.

STMicroelectronics a adopté une approche similaire à celle de Nordic Semiconductor et de Silicon Labs avec un kit de développement logiciel qui permet de développer des appareils en réseau basés sur les systèmes sur puces Bluetooth Low-Energy BlueNRG-2 de la société.

Conclusion

Bluetooth Mesh permet d'intégrer le réseau maillé à Bluetooth Low-Energy, éliminant ainsi la nécessité d'utiliser un micrologiciel maillé propriétaire pour les applications de maisons intelligentes.

La technologie est un compromis entre la simplicité et une consommation d'énergie légèrement accrue et une certaine flexibilité. L'avantage clé est que la technologie est compatible avec toutes les puces Bluetooth Low-Energy, et pas seulement avec les derniers produits Bluetooth 5.

Les fournisseurs de puces Bluetooth Low-Energy ont commencé à lancer des kits de développement logiciel Bluetooth Mesh pour compléter leur matériel et leurs micrologiciels de protocole éprouvés.

Dans la 2e partie de cet article, vous découvrirez en détail comment intégrer Bluetooth Mesh à Bluetooth Low-Energy grâce à du matériel, des micrologiciels et des kits de développement déjà disponibles.

Référence

  1. "Bluetooth Mesh Networking/ An Introduction for Developers", Bluetooth SIG, août 2017.
DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey