Zigbee est un protocole de haut niveau permettant la communication d'équipements personnels ou domestiques équipés de petits émetteurs radios à faible consommation ; il est basé sur la norme IEEE 802.15.4 pour les réseaux à dimension personnelle (Wireless Personal Area Networks : WPAN).
Ratifiées le , les spécifications de Zigbee 1.0 sont disponibles auprÚs des membres de la communauté industrielle Zigbee Alliance[1].
Cette technologie a pour but la communication Ă courtes distances, telle que le propose dĂ©jĂ la technologie Bluetooth, tout en Ă©tant moins chĂšre et plus simple. Ă titre dâexemple, les nĆuds Zigbee classiques nĂ©cessitent environ 10 % [rĂ©f. nĂ©cessaire] du code nĂ©cessaire Ă la mise en Ćuvre de nĆuds Bluetooth ou de rĂ©seaux sans fil, et les nĆuds Zigbee les plus Ă©lĂ©mentaires peuvent ainsi descendre jusquâĂ 2 %. [rĂ©f. nĂ©cessaire]
En 2006, une estimation du coĂ»t unitaire pour un nĆud Zigbee[rĂ©f. nĂ©cessaire] a rĂ©vĂ©lĂ© un prix de 1,10$ par unitĂ© dans le cadre dâune production en trĂšs grand nombre. Il faut ajouter le prix du microcontrĂŽleur qui commande le circuit, ce qui augmente lĂ©gĂšrement le prix. Ă titre de comparaison, la technologie Bluetooth, lancĂ©e en 1998, annonçait Ă cette Ă©poque un prix unitaire de production compris entre 4 et 6 $, redescendu par la suite Ă moins de 3 $.
Zigbee par rapport Ă d'autres protocoles sans fil
[modifier | modifier le code]| Caractéristique | Zigbee | Bluetooth Low Energy | Bluetooth | Wi-Fi | Z-Wave |
|---|---|---|---|---|---|
| IEEE | 802.15.4 | 802.15.1 (BT 1.x) | 802.11a/b/g/n/ac/ax/be | ||
| Besoins mémoire | 4-32 ko | 250 ko + | 1 Mo + | ||
| Autonomie avec pile | Années | Années | Mois | Jours | |
| Nombre de nĆuds | 65â000+ | illimitĂ© | 255 | 256+ | 232 |
| Vitesse de transfert | 20-250 kb/s | 1 Mb/s | 1-3 Mb/s | 11-54-108-320-1000 Mb/s | 9,6 Ă 100 kbit/s |
| Portée (environ) | 10 m | 10 m | 10 m | 10 m (802.11a) à > 300 m (802.11b) | 50 m |
Historique
[modifier | modifier le code]En 1998, dĂšs lâarrivĂ©e des technologies sans fil Wi-Fi et Bluetooth, les premiĂšres Ă©bauches de rĂ©seaux de type Zigbee firent leur apparition dans le cadre dâapplications oĂč les technologies prĂ©cĂ©dentes nâĂ©taient pas utilisables. En particulier, de nombreuses recherches ont Ă©tĂ© menĂ©es sur des rĂ©seaux sâorganisant automatiquement et composĂ©s de petites radios. La technologie Bluetooth a beaucoup inspirĂ© le protocole Zigbee.
En , le standard IEEE 802.15.4 est annoncĂ©. LâĂ©tĂ© suivant, Philips semiconductors quitte la Zigbee Alliance, le groupe de sociĂ©tĂ©s dĂ©finissant et finançant le dĂ©veloppement du protocole. Ils restent nĂ©anmoins utilisateurs du protocole puisque leur marque d'Ă©clairages intelligents Philips Hue fonctionne grĂące a ZigBee.
En , la Zigbee Alliance annonce que le nombre dâinscriptions a doublĂ© pour arriver Ă plus dâune centaine dâentreprises dans 22 pays.
Le sont ratifiées les premiÚres spécifications de Zigbee. Le , la Zigbee Alliance publie les premiÚres spécifications officielles de la version Zigbee 1.0 qui sont désormais disponibles en libre téléchargement.
Applications
[modifier | modifier le code]
La spĂ©cification initiale de Zigbee propose un protocole lent dont le rayon dâaction est relativement faible, mais dont la fiabilitĂ© est assez Ă©levĂ©e ; son prix de revient est bas et la consommation considĂ©rablement rĂ©duite.
On retrouve donc ce protocole dans des « environnements embarquĂ©s » oĂč la consommation est un critĂšre de sĂ©lection. Ainsi, la domotique et les nombreux capteurs et tĂ©lĂ©commandes quâelle implĂ©mente apprĂ©cient particuliĂšrement ce protocole en plein essor et dont la configuration du rĂ©seau maillĂ© se fait automatiquement en fonction de lâajout ou de la suppression de nĆuds. On retrouve aussi Zigbee dans les contrĂŽles industriels, les applications mĂ©dicales, les dĂ©tecteurs de fumĂ©e et dâintrusion et dans la tĂ©lĂ©commande de la freebox v6.
Les nĆuds sont conçus pour fonctionner plusieurs mois (jusquâĂ dix ans pour les plus Ă©conomes) en autonomie complĂšte grĂące Ă une simple pile de 1,5 V.
Fréquences utilisées
[modifier | modifier le code]Le protocole 802.15.4 utilisé par ZigBee définit trois bandes de fréquences utilisables :
| Bande | Disponibilité | Nombre de canaux | Vitesse maxi théorique |
|---|---|---|---|
| 868 MHz | Europe | 1 | 20 kbit/s |
| 915 MHz | Amériques et Australie | 10 | 40 kbit/s |
| 2,4 GHz | Disponible partout | 16 | 250 kbit/s |
Présentation de la pile Zigbee
[modifier | modifier le code]Un protocole de communication doit disposer d'un cadre de fonctionnement. Ainsi, lâIEEE dĂ©finit dans la norme IEEE 802.15.4 les couches basses (physique et mac) du protocole Zigbee.
Pour obtenir un ensemble qui fonctionne, il est nĂ©cessaire dâimplĂ©menter les couches de plus haut niveau (rĂ©seau et application) qui ne sont pas standardisĂ©es par l'IEEE. Un rĂ©seau Zigbee peut donc fonctionner, en thĂ©orie, sur plusieurs supports de transmission, mais en pratique on trouve le protocole implĂ©mentĂ© seulement pour le mĂ©dia 802.15.4. Câest la Zigbee Alliance qui sâoccupe de cette partie du protocole en fournissant une pile (stack en anglais) de rĂ©fĂ©rence. Celle-ci est rĂ©servĂ©e aux membres de lâalliance qui doivent lâimplĂ©menter dans leurs solutions.
Si lâon dĂ©sire mettre en place un dispositif pouvant se connecter Ă un rĂ©seau Zigbee, on se retrouvera dans l'une des trois situations suivantes :
- En Ă©tant membre de la Zigbee Alliance on bĂ©nĂ©ficie de ses apports technologiques, notamment concernant cette pile de communication. Lâinscription Ă cette structure coĂ»te environ 4 000$ pour une entreprise.
- En utilisant un produit dĂ©veloppĂ© par lâun des membres de la Zigbee Alliance, on disposera de la pile adaptĂ©e pour ce produit par le constructeur choisi.
- On peut enfin dĂ©velopper une pile pour son propre produit en se basant sur les derniĂšres spĂ©cifications disponibles. Cela reprĂ©sente bien entendu un travail trĂšs important qui doit sâadapter au systĂšme (matĂ©riel et logiciel) retenu pour mettre en place le dispositif. Si ce dĂ©veloppement est effectuĂ© Ă des fins commerciales, il devra ĂȘtre validĂ© par la Zigbee Alliance avant d'ĂȘtre mis sur le marchĂ© en se rĂ©clamant de Zigbee.
Routage des messages
[modifier | modifier le code]Routage au niveau réseau
[modifier | modifier le code]Au niveau de la couche réseau, le routage est soit direct, soit indirect.
Le routage est direct lorsquâun dispositif voulant transmettre des donnĂ©es connaĂźt l'adresse rĂ©seau du destinataire. Cette adresse est donc transmise dans la trame pour atteindre et agir sur le dispositif prĂ©vu.
Dans le cas contraire, le routage indirect se fait lorsqu'un dispositif ne connaßt pas l'adresse du destinataire. Un équipement de type routeur ou coordinateur PAN fait la relation avec le vrai destinataire d'aprÚs la table de routage et la table de découvertes des routes.
Un dispositif qui n'a pas les capacités de routage (ZED) doit router les données suivant le routage hiérarchique (il remonte l'arbre).
La table de routage contient les données sur les destinataires. Il s'agit de l'adresse de destination de la route et le prochain dispositif à atteindre pour se « rapprocher » du destinataire.
La table de dĂ©couverte d'une route contient les informations sur les sources du message. Elle stocke l'adresse d'origine du dispositif qui a fait la demande et l'adresse du dispositif qui va transmettre les donnĂ©es en tant qu'intermĂ©diaire (entre la source et la destination). Elle contient aussi les coĂ»ts de transmission entre la source jusqu'au nĆud actuel et du nĆud jusqu'au destinataire. Elle peut donc adapter la route pour ĂȘtre plus performante en mettant Ă jour les adresses Ă utiliser.
Le choix d'une route, lorsque plusieurs routeurs en parallĂšle relaient l'information, se fait par rapport au routeur (ou coordinateur) au niveau du deuxiĂšme nĆud au minimum. Lors de la demande de crĂ©ation de route, la table va recevoir plusieurs demandes Ă partir de la mĂȘme adresse d'origine. Elle va alors comparer les « coĂ»ts » de transmission pour choisir le chemin ayant le coĂ»t le plus faible.
L'algorithme de routage suggéré par la Zigbee Alliance pour les réseaux maillés est AODV (Ad hoc On-Demand Vector Routing). C'est un protocole de routage dit « réactif » : une route est établie uniquement sur demande. L'avantage est qu'il ne charge pas le trafic.
Routage au niveau applicatif
[modifier | modifier le code]Le routage au niveau applicatif se fait grĂące Ă la table de liaison, contenu dans le coordinateur ou un routeur.
Les liaisons permettent de crĂ©er des liens logiques entre des dispositifs d'application complĂ©mentaires et des Ă©lĂ©ments de fins (capteurs). La table de liaison permet aussi d'associer Ă un attribut d'un dispositif en entrĂ©e plusieurs attributs de dispositifs en sortie ou l'inverse. La table de liaison est implĂ©mentĂ©e dans le coordinateur Zigbee. Le choix de ce dispositif vient du fait que le coordinateur Zigbee est nĂ©cessaire au rĂ©seau. Le second intĂ©rĂȘt est, vu que le coordinateur est indispensable au rĂ©seau, qu'il doit ĂȘtre (en gĂ©nĂ©ral) alimentĂ© par le secteur. Ces deux raisons font que la table de liaison sera toujours accessible.
La table de liaison se repose sur trois critÚres normalisés par la Zigbee Alliance, décrits ci-aprÚs :
- le profil
- le cluster
- l'attribut
La table de liaison est la couche applicative qui permet de gérer la table de routage et la table de découverte de routes. C'est elle qui va permettre d'associer le relevé d'un capteur sur un dispositif à une action spécifique sur un autre dispositif à travers toutes les couches du protocole Zigbee. C'est une façon de simplifier l'accÚs lorsque le réseau contient beaucoup de connexions et de dispositifs : la reconnaissance entre les dispositifs qui dialoguent se fait par rapport à leurs « familles » (les profils et clusters) et leurs qualités (les attributs) communes.
Profil
[modifier | modifier le code]Un profil permet de créer une application interopérable et distribuée. Il s'agit donc de définir des formats de messages et le traitement des actions pour permettre à des dispositifs de demander, transmettre des données et savoir les interpréter.
Les profils sont développés par les entreprises pour permettre de répondre à des besoins spécifiques. Par exemple, le premier profil existant est fait pour gérer les lampes et des interrupteurs connectés (home control lighting). Ce profil permet six types d'échanges de messages de contrÎle.
Les profils permettent de créer aussi une norme autour de chaque application pour permettre l'interopérabilité des systÚmes.
Cluster
[modifier | modifier le code]Les clusters sont associĂ©s avec des flots de donnĂ©es entrants ou sortants. Les identificateurs de clusters sont uniques dans un profil. Les clusters permettent de lier deux dispositifs par l'association d'un cluster en entrĂ©e et d'un cluster en sortie en supposant qu'ils appartiennent au mĂȘme profil. En fait deux dispositifs sont liĂ©s s'ils partagent le mĂȘme besoin (cĂŽtĂ© rĂ©cepteur) et la mĂȘme ressource (cĂŽtĂ© Ă©metteur). La table de liaison (binding table) contient pour chaque cluster un identifiant pour le dĂ©finir (sur 8 bits) et l'adresse des deux dispositifs (source et destination).
Attribut
[modifier | modifier le code]Un attribut dĂ©finit un capteur ou un actionneur. Câest lâĂ©lĂ©ment qui dĂ©crit de façon la plus prĂ©cise lâutilisation du dispositif (par exemple un capteur de mouvement, un buzzer, une lampe, etc.).
Notes et références
[modifier | modifier le code]Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- IEEE 802.15.4
- Internet des objets
- Liaison sans fil à faible consommation énergétique
- OCARI
- Low Power Wide Area Network
- LoRaWAN
- Matter (standard)
- Z-Wave

