Episode 4 – Fonctionnement du maillage Zigbee

Bienvenue chez moi !

Episode 4 – Fonctionnement du maillage Zigbee

Pour cet article, je vais vous expliquer le fonctionnement du maillage Zigbee et comment l’étendre.
On va parler de l’histoire de ce protocole, en y apportant le plus de précisions possibles, sans toutefois rentrer trop dans la technique de bas niveau.
Peu d’expérimentations aujourd’hui pour vous, mais j’espère surtout vous apporter des clarifications.

Difficulté

Coût

Zigbee, sa vie, son œuvre

Zigbee est un protocole de communication destiné aux appareils connectés et domestiques. Le protocole s’appuie sur une communication de type radio, avec des émetteurs qui ont la particularité d’avoir une consommation électrique très faible. Il est également basé sur la norme IEEE 802.15.4, destinée pour les protocoles de type WPAN (Wireless Personal Area Network).

1998

Premières apparitions

En se basant sur le Bluetooth, les premiers réseaux utilisant des radios à faibles émissions font surface.

2002

Création de la Zigbee Alliance

Créée par un consortium d’entreprises voulant une interopérabilité au sein des équipements connectés, la Zigbee Alliance est à l’origine du protocole Zigbee et de son nom. Depuis, de nombreuses entreprises ont rejoint l’alliance, et certaines en sont parties.
La Zigbee Alliance est rapidement présente dans plus de 100 pays.
Ce regroupement définit et finance les différents projets autour de l’IoT (internet des objets), dont fait partie Zigbee.

14/12/2004

Spécifications officielles de Zigbee 1.0

Ratification des premières spécifications de Zigbee.

12/09/2014

Ratification de Zigbee 2.0

10 ans après la sortie officielle de la version de ZIgbee, la version 2 fait son apparition.
Les principaux changements tournent autour du contrôles des objets connectés, permettant un contrôle de l’ensemble des objets depuis une seule et même télécommande.

Juillet 2019

Ratification de Zigbee 3.0

Avec cette nouvelle version, toujours celle en cours aujourd’hui, le protocole se veut avec encore plus d’interopérabilité. Des changements notables également au niveau électronique, avec de nouveaux chipset, avec des consommations plus faibles annoncées.

2021

La Zigbee Alliance devient CSA

La Zigbee Alliance, dépositaire de la marque Zigbee, change de nom pour devenir CSA. Ce virage est pris car la Zigbee Alliance est à l’origine de plusieurs projets autour des objets connectés, et pas uniquement attaché à Zigbee.
Avec ce changement de nom, un autre projet du groupe change de nom, CHIP, qui devient Matter.

Zigbee fait partie des nombreux protocoles IoT existants (Z-Wave, LoraWan, EnOcean, etc), et joue d’une très bonne popularité pour les systèmes domotiques domestiques. Il se veut très fiable, permet d’avoir un grand nombre de capteurs, et le consortium CSA permet d’avoir tout type de capteurs de tout constructeur disponibles.
Chaque protocole utilise ses propres fréquences radio, et à son propre mode de fonctionnement.
Je vous invite à regarder sur internet si vous souhaitez avoir des comparatifs avec d’autres protocoles.

Pourquoi comprendre le fonctionnement du maillage est important ?

Quand on débute la domotique, ce n’est pas un reflexe d’aller voir comment se comporte le maillage. Et c’est souvent quand on commence à avoir des problèmes de synchronisation avec des capteurs que l’on peut se rendre compte de l’étendu et l’utilité de bien comprendre ce maillage.

Comment fonctionne le maillage de Zigbee ?

Les caractéristiques du réseau

Zigbee fonctionne sous forme de réseau maillé, appelé mesh, où chaque objet connecté au réseau permet de faire transiter les données d’autres objets connectés et aussi éventuellement d’en étendre la couverture. Autrement dit, plus vous avez de capteurs, plus votre couverture sera importante. Ceci n’est pas tout à fait vrai dans les faits, on verra plus bas dans cet article que seuls certains types de capteurs peuvent étendre la couverture de manière fiable.
Autre aspect très important, ce réseau se veut « auto-cicatrisant », c’est à dire que si un capteur tombe en panne, le maillage va se mettre à jour pour permettre la remontée des données des capteurs qui par habitude passée par le capteur en panne.

Voici quelques infos sur le maillage par défaut de Zigbee :

  • Portée : 10 mètres (sans mur épais)
  • Nombre de nœuds possibles pour le maillage : 2^16, soit 65.536 nœuds
  • Durée de vie des piles pour les capteurs à pile : 2 à 5 ans
  • Vitesse de transferts des données : 20 ou 250 kb/s suivant la fréquence radio

Composition du réseau

Un maillage est également constitué principalement de 3 types d’objets différents :

  • Gateway / Coordinateur : il s’agit de la porte d’entrée à votre réseau Zigbee, donc la passerelle. Pour beaucoup d’entre vous, il s’agira donc de votre box domotique qui contiendra une antenne ou une clef Zigbee. La Gateway est unique pour un maillage, et également obligatoire. Elle gère également les aspects sécurité de votre réseau.
  • Routeur : il s’agit de capteurs connectés électriquement et non par pile. Cette fiabilité électrique leurs permettent d’étendre la couverture de votre réseau (il s’agit d’une entité FFD, dont l’explication arrive dans le prochain paragraphe), et d’avoir des capteurs à plus de 10 mètres de votre gateway.
    Il peut y avoir plusieurs routeurs dans votre réseau. La recommandation veut qu’un capteur ne doit pas être situé à plus de 30 routeurs de la gateway. Ce qui, sauf à habiter au château de Versailles, ne devrait pas vous arriver.
    Certaines clefs USB permettent aussi de faire office de routeurs.
  • End Device : il s’agit de l’ensemble de vos capteurs qui ont une alimentation à pile ou électrique, et qui ont pour objectif de vous fournir des données ou de réaliser des actions prédéfinies (température, fonction on/off, capteur d’ouverture, …). C’est ce que vous aurez en plus grand nombre dans votre réseau.

Entités du réseau

Le protocole Zigbee décrit deux types d’entités :

  • FFD – Full Function Device – Ils implémentent la totalité des spécifications de Zigbee. Ils sont très souvent alimentés électriquement, et seront majoritairement des routeurs ou des End Device.
  • RFD – Reduced Function Device – Ils implémentent un périmètre limité des spécifications de Zigbee, avec comme objectif de réduire au maximum leur consommation. Ce sont les équipements alimentés par pile, qui seront majoritairement des End Device.

Mise à jour du réseau

Dernière particularité du protocole Zigbee qui concerne le rafraichissement du réseau. Il n’existe pas d’action manuelle pour permettre un rafraichissement du mesh. C’est-à-dire que lorsque vous allez introduire de nouveaux routeurs, il faudra plusieurs heures à plusieurs jours (pour ma part des tests effectués, ça allait de 6h à 72h) pour que le réseau se mettent à jour et qu’il rattache les end device au routeur le plus proche. C’est un détail à garder en tête lorsque vous allez ajouter des routeurs, au début vous allez donc avoir l’impression qu’ils ne fonctionnent pas.

Que nous indique la visualisation du maillage ?

La visualisation du maillage fournit en quelque sorte l’état de santé, en terme de communication, de l’ensemble de vos capteurs Zigbee.
Cela permet de voir si des capteurs sont trop éloignés d’un routeur ou de la gateway, ce qui provoquera donc des pertes de données et/ou des problèmes de désynchronisation.

A savoir

On parle ici bien et uniquement des capteurs connectés par Zigbee (via un plugin sur Jeedom par exemple). Si vous avez des objets connectés par des passerelles directement, comme les Phillips Hue par exemple, ils n’entrent pas en compte dans le maillage.

Comment voir le maillage sur Jeedom ?

Maintenant que les notions sont posées, allons dans du concret.
Pour voir votre maillage, vous devez aller dans Plugins > Protocole Domotique > Zigbee.

Dans la barre de Gestion en haut de votre écran, cliquez sur Réseaux Zigbee, un pop-up devrait apparaitre.
Il contient 4 onglets :

  • Application, qui indique tout un tas d’informations peu lisibles du commun des mortels sur la configuration du réseau
  • Actions, qui permet de lancer un scan du réseau
  • Nœuds, qui affiche l’état de santé pour chaque nœud du réseau
  • Graphique du réseau, qui affiche une cartographie du réseau

Ce sont ces deux derniers onglets qui vont particulièrement nous intéresser.

Pour l’onglet Nœuds, vous allez avoir un tableau comme ceci :

La partie la plus importante est la communication (LQI et RSSI). Si c’est vert, la communication est parfaite, si c’est orange la communication est correcte, si c’est rouge, il y a des pertes de communication qui peuvent amener à une désynchronisation du capteur.
Dans mon cas c’est un très bon exemple, si ça persiste, il faudra que je connecte mon capteur de température de la salle de bain à un routeur plus proche.

Pour l’onglet Graphique du réseau, vous allez avoir une cartographie de votre réseau :

L’avantage de cette vue, c’est qu’elle permet en plus de voir les liens entre chaque nœud.
Dans l’exemple ci-dessus, vous voyez donc la gateway, 4 routeurs et 7 capteurs. Vous pouvez également zoomer, déplacer les nœuds et bouger dans le graphique.

Il faut également savoir que les données remontées dans ces onglets sont en perpétuelles mouvements. Les ondes radio étant assez sensibles aux paramètres physiques les environnant (températures, épaisseur des murs, …), il faut regarder le réseau sur plusieurs heures et jours différents pour avoir une idée plus précise de la stabilité du mesh.

Comment stabiliser et étendre son maillage ?

Maintenant que l’on a vu comment voir le mesh et les potentiels problèmes de communication, on va voir qu’il est possible d’améliorer la qualité du réseau.
En repartant du graphique du réseau, il est important d’être vigilant et de travailler sur les mauvaises liaisons, ainsi que les capteurs qui ont été éjectés du réseau.

Savoir débug la connexion d’un capteur

Pour les capteurs qui sont déconnectés du réseau, vous pouvez suivre ces quelques étapes pour trouver l’origine du problème.

Ici je pars du principe que votre capteur a déjà fonctionné sur le réseau, et qu’il est bien compatible Zigbee et Jeedom.
Commencez par vérifier que vous avez bien la dernière mise à jour du plugin Zigbee d’installée.

1

Vérifier l’état de la pile

Commencer par regarder si la pile n’est pas complètement déchargée (à l’aide d’un multimètre par exemple). Si c’est le cas, un changement de pile, puis une redécouverte de l’objet via le plugin Zigbee fera souvent l’affaire.

2

Vérifier l’état de fonctionnement du capteur

Bon nombre de capteurs ont des petites LED, qui s’actionnent lors d’envoi de données, ou lors d’appui sur un bouton de synchronisation.
Si en faisant des tests, vous voyez ces LED en action, vous pouvez passer à l’étape suivante.
Si vous êtes sûr que la pile est fonctionnelle et que rien ne se passe alors il est possible que le capteur soit défaillant.

3

Réinitialiser le capteur au sein du maillage

Supprimez du réseau l’équipement en allant sur l’onglet Nœuds du plugin Zigbee, puis en cliquant sur Supprimer sur le capteur correspondant.
Ensuite supprimez ce même capteur depuis la liste des équipements du plugin Zigbee.
Puis essayez d’inclure à nouveau votre capteur.
Si votre capteur possède une action de réinitialisation (souvent le bouton d’inclusion sur lequel il faut rester 10s appuyé), vous pouvez aussi le réinitialiser avant l’inclusion.

Avec cette ré-inclusion, le capteur va automatiquement se lier au routeur le plus proche.

4

Etendre le réseau

Si après ces manipulations le capteurs a toujours une mauvaise connexion ou même pire n’est pas dans le maillage alors cela peut venir de la distance entre le capteur et le routeur le plus proche qui est trop importante.
Testez de rajouter un routeur plus proche du capteur si votre équipement est éloigné d’un routeur ou de la passerelle.

Si après toutes ces étapes la connexion ne fonctionne toujours pas, cela vient très probablement d’un capteur défaillant.

Les répéteurs Zigbee

Les répéteurs Zigbee sont des équipements qui ont pour objectif d’étendre la couverture du réseau et de servir de routeur. Il existe plusieurs marques et constructeurs mais ce n’est pas forcément un équipement simple à trouver. Dans mes recherches j’ai trouvé deux types de répéteurs Zigbee :

  • Dongle USB
  • Equipement se branchant sur une prise

Pour ma part j’ai testé les Aeotec ZGA001, qui permettent d’étendre, sur le papier, le réseau de 30 mètres.

Disponible entre 20 et 30€ chez les différents revendeurs, cet équipement s’intègre facilement au réseau Zigbee. Toutefois l’équipement n’est pas réellement connu du plugin, vous allez donc voir qu’il n’est pas reconnu au niveau du constructeur, et qu’il n’aura pas d’image.
Ceci n’est pas grave pour son fonctionnement, car sa seule fonction est d’être un routeur, il n’a donc pas de commande associée.
Le gros point négatif sur mes tests effectués, c’est que ces répéteurs annulent un peu l’effet auto-cicatrisant du maillage. Pour que mes capteurs s’associent au routeur le plus proche, il a fallu que je fasse une ré-inclusion du capteur, ce qui est vite problématique quand on a de nombreux capteurs. L’autre point négatif est que ces répéteurs utilisent une prise qui ne pourra pas vous être utile pour une autre utilisation.
Ce type de répéteur sont donc à utiliser pour des cas d’utilisation bien précis sur des capteurs éloignés (souvent pour capter des équipements en extérieur), ou alors à intégrer dès la conception du système domotique.

Les objets connectés électroniquement

L’utilisation d’un équipement connecté électriquement, comme les prises et multiprises connectées, est une autre méthode pour stabiliser le réseau. En plus de remplir leur rôle principal, ces équipements sont reconnus comme des routeurs et permettent d’étendre le réseau. Par contre contrairement aux répéteurs, leur objectif n’est pas d’étendre le réseau sur 20 ou 30 mètres, ils vont donc être routeurs pour des objets connectés proche d’eux.

J’ai testé plusieurs multi prises et prises connectées, et toutes ont bien rempli leur rôle de routeur. Et contrairement au répéteur Aeotec, je n’ai pas eu besoin de réinclure mes équipements, ils se sont liés aux prises naturellement au bout de quelques heures.

Quelques exemples de prises et multiprises :

  • USEELINK – Multiprise – Chez domadoo – Attention il n’y a pas la terre sur ces prises
  • NOUS – Chez domadoo
  • Prise connectée Silvercrest de chez Lidl