Présentation du standard Zigbee
![]() |
Je reviens des mercredis de la RFID organisé par filrfid, le sujet de la présentation était le protocole ZigBee. Lors de la présentation faite par Véranith Ly de la société oRFIDée, j’ai appris beaucoup de choses sur ce protocole. J’aimerai donc vous en faire profiter et parler des domaines qui m’intéressent à savoir la domotique, la robotique et la topologie des réseaux maillés. |
Description rapide du standard
ZigBee, est un standard de communication sans-fils comme le Wifi ou le Bluetooth.
Les principaux avantages du standard sont :
- Autonomie de l’émetteur, il est possible de le faire fonctionner durant plusieurs années à l’aide d’une batterie ;
- La possibilité de mettre en place une topologie de réseaux maillés ;
- 65535 nœuds sont addressable sur le réseau ;
- le standard définie : les méthodes de communication sur le réseau, mais aussi les fonctionnement des applications ;
- l’ensemble des produits sont certifiés par l’Alliance ZigBee et soutenus par de nombreuses entreprises industriels ;
Ce qui est intéressant, c’est que le standard définit un ensemble de caractéristiques pour un équipement.
Regroupé sous forme de famille :
- ZigBee Smart Energy ;
- ZigBee Remote Control ;
- ZigBee Home Automation ;
- ZigBee Health Care, non disponible;
- ZigBee Building Automation, pas encore définie ;
- ZigBee Telecommunication Services, non encore définie.
Domaines d’application du protocole
Les domaines d’applications du protocole sont les suivants :
- la gestion de l’énergie et les réseaux de distribution d’électricité « intelligent » ;
- la médecine, avec le suivi des indicateurs physiologiques sur le long terme pour les maladies chroniques.
- Les réseaux de capteurs en général : WSN ;
- Les télécommandes, le protocole est amené à remplacer les télécommandes infrarouge à moyen terme.
- La domotique, pour le contrôle et la gestion des appareils dans une maison ;
- La localisation en temps réel ;
- Et enfin la robotique, pour le contrôle à distance ;
La promesse du standard
Les équipements qui respectent le standard et sont certifiés par l’Alliance ZigBee sont théoriquement interchangeable et peuvent communiquer ensemble.
Cela signifie, qu’il est possible d’allumer à l’aide d’une télécommande de marque A, une douille d’ampoule de marque B et un lecteur de DVD de marque C.
Cela parait trivial dit comme cela, mais dans l’état actuel de développement de la domotique, cela releve du miracle …
Même, s’il existe des protocoles propriétaires pour faire cela, il est nécessaire de vendre son âme à un constructeur (Vendor lock-in garantie sur facture ;-) ) ou bien mettre en place des protocoles de Middleware comme xPL et une belle galaxie de protocoles hétérogènes. (cf. le schéma de ma petite installation perso ;-) ).
La gestion des binding
La couche applicatif du standard ZigBee, inclut une possibilité très intéressante pour la domotique : le binding.
L’idée est de relier deux équipements du réseau de manière automatique et transparente pour l’utilisateur.
L’un des meilleur exemple pour comprendre est celui d’une ampoule et un d’un interrupteur.
Lorsque l’utilisateur active physiquement le binding, à l’aide d’un bouton par exemple.
Les deux devices se mettent en relation avec le coordinateur du réseau, qui détermine si oui ou non les profils applicatifs sont compatibles et de les lier.
Ce qui permet aux équipements d’être liés automatiquement et il n’est pas nécessaire de configurer les adresses des équipements, etc…
L’état actuel de la certification
Pour l’instant, il y a peu d’équipements qui sont certifiés par l’Alliance :
Mais on trouve pas mal de vendeurs d’autres produits que ne sont pas forcement entièrement certifiés mais qui respectent la partie communication du standard.
Problématique du sans-fils
Comme toutes technologies sans-fils, elle présente quelques problématiques particulières :
La source d’énergie
Bien que le module ZigBee nécessite très peu d’énergie pour fonctionner (20mA pour émettre une trame sur le réseau), se pose la question de la source d’énergie.
Lorsque celle-ci est fournie par une pile cela pose de problématique de :
- fiabilité / qualité de la source d’énergie ;
- la nécessité de remplacer régulièrement la source d’énergie ;
- la nécessité de mettre en place un dispositif pour notifier l’utilisateur du statut de la pile.
La sécurité
La sécurité du standard ZigBee repose tout d’abord, sur la sécurité du protocole de communication IEEE 802.15.4. Pour mieux comprendre les méthodes de sécurisation mises en place par le protocole, vous pouvez lire cet article de vulgarisation : Security in 802.15.4 and ZigBee networks ; ou bien cet excellent papier Security Considerations for IEEE 802.15.4 Networks. Mais dans ce domaine, rien de nouveau, ce sont toujours les mêmes principes qui s’appliquent, à savoir :
- Plus la puce dispose de puissance et plus le niveau de chiffrement est fort (au maximum AES128 pour ZigBee) ;
- La qualité des composants et du générateur de nombre aléatoire ( merci de ne pas utiliser le PID du programme ;-) ) ;
- La qualité de l’implémentation du code de chiffrement.
Bref, vous vous doutez bien que les modules ZigBee qui seront vendus au grand publique ne seront pas d’un niveau de sécurité militaire et n’embarqueront sûrement pas pas un compteur Geiger comme source d’entropie ;-)
D’autant plus que le standard n’impose pas forcement un niveau de chiffrement fort à tous les profils applicatifs.
Robotique
Pour la robotique, il n’existe pas de profil dans le standard, mais la plupart des amateurs dans le domaine ont déjà compris les nombreux intérêts de ZigBee et on voit de plus en plus d’interfaces apparaître (Bioloid, WowWee, etc… )
Logiciels libres
Du coté des logiciels libres, nous avons :
- Un projet mort : ZigBuzz ;
- Le projet IEEE802.15.4/ZigBee Stack for Linux, dont l’objectif est l’intégration de la pile ZigBee dans le noyau Linux, commiter dans la version 2.6.30-rc7 ;
- Le projet FreakZ, dont l’objectif est l’implémentation du pile ZigBee libre pour l’embarque ;
Malheureusement, il y a une incompatibilité entre la licence des spécifications du standard ZigBee et la licence GPL. en effet celle-ci ne prend pas en compte un usage non commercial.
Pour plus de détails sur ce point : Zigbee, Linux, and the GPL.
Néanmoins, le code du protocole IEEE 802.15.4 est déjà le noyau et bénéficie d’un niveau de protection ;-)
Matériel
Le matériel ZigBee disponible se découpe en plusieurs familles de la plus simple à la plus complexe :
Émetteur-récepteur
Les principaux constructeurs d’émetteur-récepteur sont Texas instruments et Freescale.
Puce
Les puces prennent en charge la norme IEEE 802.15.4, elles sont produites par : Ember, Jennic, Texas instruments et Freescale.
Modules
Les modules prennent en charge le standard ZigBee et sont produites par : Digi, One-RF, Telegesis, Meshnetrics, Radiocrafts…
Produit fini
- Tritech : dongles USB et routeurs Ethernet/Zigbee ;
- Digi : passerelles RS232/485, USB, Ethernet, GPIO, routeurs autonomes
- Telegesis : dongles USB et CF, routeurs autonomes et Ethernet
- Alektrona : gateway ethernet / zigbee;
- Libelium : capteurs et routeurs multi-protocoles Wifi, Bluetooth, GPRS et GPS ;
- Des shields pour la carte Arduino et ses dérivées.
Offre packagée
Pour les produits packagés, il existe les solutions suivantes :
- Control4 : gamme de produits domotiques ;
- AlerteMe : système de suivi de la consommation électrique et alarme.
Déploiements importants de ces technologies
Il y a pas mal de déploiements de ces technologies aux USA dans le cadre des réseau de distribution d’électricité « intelligent » en Californie et au Texas principalement.
En Europe, le ville de Gothenburg en Suède a déployé un réseau de 90 000 compteurs intelligents.
En France, le déploiement est encore à l’état de recherche avec le projet SensLab, le projet de localisation fait par Orfidée pour la Marine Nationale.
Et d’autres projets couverts par des accords de non divulgation ;-)
Références
Voici quelques références pour approfondir le sujet :
- Le site de la ZigBee Alliance ;
- le site sensor-networks ;
- l’article de Sensor-networks sur les différence entre 802.15.4 vs ZigBee ;
- le site du projet IEEE802.15.4/ZigBee Stack for Linux ;
Conclusion
Voilà, ceci est une petite présentation standard ZigBee, que j’ai voulu la plus succincte possible. Le sujet étant très vaste et passionnant. J’ai forcement fait des erreurs et oublié des références. Merci de m’en faire part par mail ou via les commentaires.
Bonjour,
Je tiens à vous féliciter en premier lieu pour la qualité de ce billet, qui permet encore plus de faire avancer le sujet.
En ma qualité de fabricant, je me permets de compléter quelques informations, à savoir:
Parmi les avantages que l’on peut citer dans le cadre d’applications domotiques, le zigbee permet une communication bi-directionnelle (importante dans la gestion des statuts), et que le système est dit “dormant” ou “en sommeil” car il n’émets une onde que lorsque l’on active une commande. Cette onde est aussitôt coupée dès le signal réceptionné. Ce qui nous amène sur le point de la sécurité, du fait qu’il sera très difficile de cracker le système sur un délai aussi court que moins d’une seconde. Au final un chiffrement AES128 s’avère amplement suffisant.
En termes de déploiements réalisés, Citygrow a livré environ 15000 produits (interrupteurs et modules de contrôle) à l’hôtel Mira, et plusieurs réalisations ont été opérées dans le résidentiel en Europe. Nous travaillons également aux USA sur différents projets de compteurs intelligents. Enfin, nous sommes sur de multiples projets d’hôtellerie de très haut de gamme qui souhaitent entre autres intégrer des fonctions fédérées.
J’ai quelques liens qui pourraient t’intéresser (je viens de découvrir ton site, donc je ne sais pas si tu en as déjà parlé) :
6LowPAN et Contiki OS :
http://en.wikipedia.org/wiki/6LoWPAN
http://en.wikipedia.org/wiki/Contiki
http://www.sics.se/contiki/tutorials/tutorial-running-contiki-with-uipv6-and-sicslowpan-support-on-the-atmel-raven.html
http://www.owbox.com/v1/zigbee-modules-RF-basse-consommation-development.php
Monitoring du compteur EDF :
http://teleinfo.dauguet.net/
http://www.yadnet.com/index.php?page=compteur-edf
@Olivier : Je connais téléinfo et le contract Tempo d’EDF.
Par contre pour l’internet de objet . Je ne connaissez pas Contiki et 6LowPAN.
On m’avais parler de TinyOS ( http://webs.cs.berkeley.edu/tos/ ) dans le domaine des WSN.
En effet, j’ai vu plus loin sur ton blog que tu disais que tu n’avais pas de compteur avec prise Téléinfo.
Apparemment le site de TinyOS est maintenant ici : http://www.tinyos.net/ car l’autre lien date de 2004. Dès que j’aurai du temps, je regarderai tout ça plus en détail, merci.
Après une petite recherche, je pense que je m’orienterai vers les modules Jennic “JN5139-001-M00”.
Avantages :
– pas cher : 18,54€ : http://www.lextronic.fr/P5300-module-oem-jennic-jn5139-001-m00.html
– possibilité de fonctionner en point-to-point ou en Mesh
– protocol ZigBee ou 6LoWPAN (et un truc propriétaire “JenNet”)
– simple à utiliser avec un microcontrôleur : il y a deux UARTs (donc ça devrait être facile de l’interfacer avec le Roomba)
– portée extérieure : 400m (il existe des modèles avec portée de 900m ou 4km avec antenne externe)
Voilà, tout ça reste de la théorie… on verra en pratique :) Mais pas tout de suite :(
Si quelqu’un connais des modules ZigBee moins cher et avec les mêmes fonctionnalités, n’hésitez pas à partager ;)