Zigbee
Un article de Wikipédia, l'encyclopédie libre.
ZigBee est un protocole de haut niveau permettant la communication de petites radios, à consommation réduite, basée sur le standard IEEE 802.15.4 pour les réseaux à dimension personnelle (Wireless Personal Area Networks : WPANs).
Ratifiées le 14 décembre 2004, les spécifications de ZigBee 1.0 sont disponibles auprès des membres de la communauté industrielle ZigBee Alliance.
Cette technologie a pour but la communication de courte distance 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 % 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 % !
En 2005, une estimation du coût unitaire pour un nœud ZigBee a révélé un prix de 1,10 $ par unité dans le cadre d’une production en très grand nombre. Il faut bien sur ajouter le prix du microcontrôleur qui commande le circuit et augmente légèrement le prix. Pour information, la technologie Bluetooth, lancée en 1998, annonçait à cette époque un prix unitaire de production compris entre 4 et 6 $, maintenant redescendu à moins de $3.
Comparaison des différents protocoles sans fils actuels :
Protocole | Zigbee | Bluetooth | Wi-Fi |
---|---|---|---|
IEEE | 802.15.4 | 802.15.1 | 802.11a/b/g |
Besoins mémoire | 4-32 Kb | 250 Kb + | 1 Mb + |
Durée de vie | Années | Jours | Heures |
Nombre de nœuds | 65 000+ | 7 | 32 |
Vitesse de transfert | 250 Kb/s | 1 Mb/s | 11-54 Mb/s |
Portée | 100 m | 10 m | 100 m |
Sommaire |
[modifier] Historique
- 1998 : Dès l’arrivée des technologies sans fil WiFi 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.
- Mai 2003 : Le standard IEEE 802.15.4 est annoncé (maintenant indissociable du protocole ZigBee).
- Eté 2003 : Philips semiconductors décide d’abandonner le regroupement autour de ZigBee au sein de la ZigBee Alliance. C’est un coup dur pour le projet qui ne bénéficie plus du soutien de ce grand groupe.
- Octobre 2004 : La ZigBee Alliance annonce que le nombre d’inscriptions a doublé pour arriver à plus d’une centaine d’entreprises dans 22 pays.
- 14 Décembre 2004 : Ratification des premières spécifications de ZigBee.
- 13 Juin 2005 : 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.
[modifier] Applications
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, le prix de revient faible 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 qu’elle implémente apprécie particulièrement ce protocole en plein essor et dont la configuration du réseau maillée 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.
Les nœuds sont conçus pour fonctionner plusieurs mois (jusqu’à deux ans pour les moins consommant) en autonomie complète grâce à une simple pile alcaline de 1,5V.
[modifier] Présentation de la stack ZigBee
L’essence même d’un protocole est de donner un cadre de fonctionnement à une communication. Ainsi, l’IEEE définit dans le cadre de sa norme IEEE 802.15.4 le cadre de ce protocole pour les couches basses (physique et mac).
Il est donc nécessaire d’implémenter les couches de plus haut niveau (réseau et applicatif dans notre cas) afin que ce modèle soit parfaitement fonctionnel. C’est la ZigBee Alliance qui s’occupe de cette partie du protocole en fournissant une stack (ou pile) 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, il faudra suivre l’un des trois cas suivants :
- Soit faire partie de la ZigBee Alliance et donc bénéficier de ses apports technologiques, notamment concernant cette stack de communication. Il faut savoir que l’inscription à cette structure coute environ $3500 pour une entreprise.
- Soit reprendre un produit développé par l’un des membres de la ZigBee Alliance et disposer de la stack, spécifique à ce produit, développée par le constructeur choisi.
- Soit développer sa propre stack en accord avec les dernières spécifications disponibles. Cela représente bien entendu un travail très conséquent qui doit s’adapter au système (hardware et software) retenu pour mettre en place le dispositif. Si ce développement est effectué à des fins commerciales, il devra être validé par la ZigBee Alliance.
[modifier] Routage des messages
[modifier] Routage au niveau réseau
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 connait pas l'adresse du destinataire. Un équipement de type routeur ou coordinateur 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 routages (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.
[modifier] Routage au niveau applicatif
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, 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 :
- le profile'
Un profile 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 profiles sont développés par les entreprises pour permettre de répondre à des besoins spécifiques. Par exemple, le premier profile existant est fait pour gérer les lampes et des interrupteurs (home control lighting). Ce profile permet six types d'échanges de messages de contrôle.
Les profiles permettent de créer aussi une norme autour de chaque application pour permettre l'interopérabilité des systèmes.
- le cluster
Les clusters sont associés avec des flots de données entrant ou sortant. Les identificateurs de clusters sont uniques dans un profile. 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 profile. 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).
- l'attribut
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.).
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 profiles et clusters) et leurs qualités (les attributs) communes.
[modifier] Voir aussi
[modifier] Liens externes
- Filrfid, le fil rouge de la radio-identification Ce site rassemble plus d'un demi millier d'articles en français sur la RFID, la NFC ZigBee, Wibree, etc...