Edito_roadmap_to_zigbee_gateway

EDITO – Roadmap to Zigbee Gateway

Cette semaine, pas de projet, de hack ou de test car je dois faire un choix cornélien. En effet, mon temps libre n’est pas extensible, soit je vous prépare un tutoriel ou un test, soit j’avance plus sur les projets. (les gros projets).

J’ai donc choisi de consacrer plus de temps au projet de la passerelle ZigBee pour les box domotiques. Dans cet article, je vais simplement vous faire une synthèse de mes travaux et de ce qui reste à faire.

Votre note

Click to rate this post!
[Total: 127 Average: 3.2]

 

Genèse du projet

L’histoire a commencé lorsque j’ai découvert les produits Xiaomi. Je fais de la domotique depuis quelques années et je conçois souvent mes propres outils et matériels. Le jour où j’ai reçu et utilisé les capteurs Xiaomi, j’ai pris un petit coup sur la tête car je me suis aperçu que je perdais un peu mon temps à réinventer la roue. Ces produits sont très bien conçus et ne coûtent presque rien (par rapport aux autres produits domotiques).

En testant et en analysant ces produits, j’ai découvert la couche ZHA et ZLL du protocole ZigBee. Pour tout vous dire, je n’avais pas eu une très bonne expérience du ZigBee dans mon milieu professionnel pour des raisons de portée ridicule (avec le recul, surement dû au design de la partie radio faite maison) et de licence… (hé oui, pour vendre du ZigBee certifié, il faut s’acquitter d’une licence).

Puis, j’ai eu l’occasion (presque par hasard) de transformer un capteur en sniffer ZigBee. Et c’est la que ma curiosité a opéré. Après beaucoup de recherches sur les datasheet de NXP et les forums, j’ai appris comment fonctionnait le protocole ZHA (ZigBee Home Automation).

Xiaomi ne communique pas sur sa compatibilité avec ce protocole pour des raisons de licence je pense… mais, ces capteurs ZigBee sont bien entièrement compatibles avec le protocole.

Puis, toujours en butinant de lien en lien, de forum en forum, j’ai pris connaissance d’une autre couche très utilisée (voir plus utilisé que le ZHA), à savoir le ZLL (ZigBee Light Link). Cette couche protocolaire est dédiée à la gestion de l’éclairage. Et en effet, la firme Philips l’utilise pour ses produits de la gamme HUE.

Alors je dois avouer que, pour moi, je ne comprend toujours pas comment ces produits ont connu un tel engouement. Les produits sont très chers (toujours dû à la licence … je pense) et l’histoire du pont ZigBee propriétaire avec un cloud m’a toujours fortement rebuté. Et ne me dites pas que l’installation est plus simple car n’oubliez pas qu’il faut enlever les interrupteurs classiques déjà en place (pour que la lampe soit toujours alimentée) et en plus, acheter des interrupteurs hors de prix compatibles. Bref, je trouve que c’est une belle usine à gaz pour un simple éclairage.

Mais depuis quelques temps, on voit fleurir la concurrence… comme Osram Lightify, Wemo, Innr et plus récemment Ikea… Certaines sont encore chères mais d’autres beaucoup moins… Bref, pour 15€ vous pouvez trouver une ampoule 800 Lumens monochrome pilotable.

Le souci de tout cet imbroglio d’objets ZigBee réside encore dans la connexion avec votre box domotique. Hé oui, il faut encore passer par une passerelle… Pourquoi pas mais … chacune des firmes citées précédemment proposent leur propre passerelle ou pont ZigBee compatible toute marque ou pas (Philips essaie de faire de la résistance encore…).

Autre chose, aucun pont ne vous propose une compatibilité ZLL et ZHA … pourtant comme on avait pu le voir, ces couches protocolaires sont très proches.

C’est donc pour toutes ces raisons techniques et personnelles que je me suis dit qu’il y avait un manque. Et comme j’aime bien faire les choses par moi-même, j’ai décidé de faire et partager ma propre passerelle ZigBee compatible ZHA et ZLL.

Ce qui a été fait

Hormis mes travaux sur les différents Hacks et tests des produits Xiaomi… je ne vous ai pas partagé tous mes tests et études. Pour ceux qui me suivent un peu sur Twitter, vous avez eu l’occasion d’avoir un peu plus d’informations. J’en profite donc pour vous résumer, à ce jour, où j’en suis.

Le matériel

Avant de me lancer là dedans, j’ai cherché à savoir si « faire soi-même » était rentable. J’ai donc fait une étude matérielle en fouillant un peu partout et j’ai regardé les tarifs de tous les composants.

Sur le marché et à ce jour, je n’ai pas trouvé de clefs USB ou autre passerelle ZigBee programmable qui répond à tous les besoins.

J’ai quand même retenu deux matériels :

Un shield pour la RaspberryPi 35€
 Résultat de recherche d'images pour "NXP OM15020"  Une clef USB NXP  60€

J’ai les deux clefs :

RaspBee

le module destinée à la RaspberryPi.

Avantage :

C’est un produit allemand très bien documentée offrant une partie logicielle compatible avec la couche ZLL et certains ZHA. J’ai pu la tester avec les ampoules Philips HUE et Osram Lightify. Ils offrent une API pour la rendre compatible avec n’importe qu’elle box domotique.

Inconvénient :

Le logiciel est assez fermé/compliqué et ne semble pas trop évolué.
Ce matériel existe en version clé USB mais coute 60€…

NXP OM15020

Avantage

La clef utilise la même famille de micro que les produits Xiaomi.
La clef est entièrement programmable avec un SDK pour le ZHA et ZLL. Un IDE à base de Eclipse est fourni. Bref tout l’environnement existe pour développer. La documentation et les exemples sont très nombreux.
NXP est une firme reconnu avec une pérennité importante.

Inconvénient

Le prix… 60€, c’est trop cher !
L’antenne PCB qui limite en portée…

De mon côté, je suis parti sur la conception d’une clef USB avec antenne externe (connecteur SMA).
Actuellement, j’ai trouvé tous les composants pour concevoir le produit comme :

  • Le boitier
  • Le module ZigBee (NXP JN5168)
  • Le convertisseur USB – Série TTL
  • Le convertisseur UFL-SMA

J’ai pu réalisé un premier prototype pour valider la faisabilité et le fonctionnement de la passerelle. Pour le moment, c’est OK. La clef fonctionne très bien et les signaux sont propres.

Le plus gros travail a été de tirer les prix vers le bas pour que le business plan soit viable. En effet, l’objectif principal est de vous proposer une passerelle moins chère tout en restant fiable.

Si tout ce passe bien et que je n’ai pas de surprise (normalement non ;)), je devrais vous proposer un produit pour moins de 40€.

Pour tout vous dire, il y en a pour environ 15€ net de matériel mais les besoins de production et la professionnalisation de l’objet engendre quelques frais.

Bien entendu …. pour les bricoleurs, je mettrai sur mon github, la schématique + design pour vous le faire vous même.

Voici à quoi ressemble le prototype actuel:

prototype_passerelle_zigbee_face

prototype_passerelle_zigbee_pile

Le Logiciel

Le matériel c’est important car c’est le support … mais dans notre cas, le logiciel est LE plus important …

C’est cette partie qui va faire la plus-value du produit que je vous propose mais c’est cependant très chronophage.

J’ai déjà bien avancé cette partie mais j’ai surtout dégrossi pour valider la compatibilité ZHA et ZLL de pas mal de fabricant.

En parallèle, j’ai aussi développé la partie communication avec un ordinateur ou une Raspberry pour que ce soit le plus paramétrable possible. Le plus important pour moi est de développer un Firmware le plus ouvert possible pour qu’il y ait le moins de mise à jour à faire sur le produit. (Sinon, c’est les emmerdements assurés ;)).

Donc pour éviter ça, c’est le protocole de communication qu’il faut bien travailler pour qu’il soit le plus ouvert et paramétrable possible. L’inconvénient, c’est qu’il sera bien « touffu » mais bon ça sera transparent pour l’utilisateur final. C’est plutôt, la personne qui va développer le plugin pour la box qui bossera plus ;).

Bref, cette partie est quasi terminée et pour aider les développeurs de box domotiques, j’ai aussi développé des scripts PHP pour montrer comment ça fonctionne. Cela comprend :

  • 1 script pour la partie communication. (je récupère les données série et envoie dans une pile FIFO)
  • 1 script qui dépile et traite les données (décodage et traitement des trames)
  • 1 script exemple pour envoyer des données à la passerelle

Voilà à quoi devrait ressembler la passerelle (l’antenne sera différente) :

Passerelle_Zigbee_diyPasserelle ZigBee

Ce qui reste à faire

Matériel

Côté matériel, il me reste à :

  • Faire les tests de portées du prototype
  • Optimiser et trouver les bons fournisseurs pour faire baisser les tarifs
  • Finaliser la schématique et le design (optimisation) pour la mise en production du PCB
  • Établir une documentation sur les spécificités du matériel

Logiciel

Il me reste à :

  • Finaliser le Firmware. (Bientôt fini)
  • Finaliser les scripts pour les développeurs box domotique. (Bientôt fini)
  • Faire toute la documentation pour les développeurs. (Pas commencé et c’est le plus long :()

Conclusion

Bon comme vous l’avez lu en introduction, j’ai décidé de mettre en veille certains tests et hacks pour avancer plus vite sur ce projet. Comme je n’avais communiqué que sur Twitter, j’ai souhaité vous faire une synthèse de mon avancement sur ce projet.

En plus, tout en rédigeant, ça me permet aussi de clarifier les étapes restantes à mener et de me faire une mini feuille de route. On a beau avoir les idées claires en tête, rien ne vaut coucher sur papier ces idées.

Bref, Je vous avez laissé penser que la passerelle pouvait être compatible Xiaomi, Philips Hue et autres. Hé bien maintenant, je peux vous le confirmer de manière sûre. (Petit bémol encore sur les philips Hue où pour le dés-appairage, il semble falloir utiliser une télécommande Philips Hue. Les autres marques … pas de problème… Cependant, il me manque encore à tester les Ikéa). Le problème vient du fait que pour les Philips, il n’y a pas de moyen matériel (en jouant sur l’allumage et l’extinction de l’ampoule) de faire un Reset d’usine. Ils utilisent soit leur pont de manière propriétaire soit une technique qui s’appelle le Touch Link mais qui nécessite de rapprocher le contrôleur à moins de 50 cm de l’ampoule … Du coup, pas très pratique… sauf avec une télécommande (qui joue le rôle de contrôleur).

Voilà pour cette partie qui risque d’évoluer très prochainement. Je vous tiendrai au courant régulièrement sur mon Twitter.

Je réfléchis aussi, pour évaluer le marché, d’ouvrir un Kickstarter sur le projet. Ça me permettrait d’avoir une meilleure vision sur l’intérêt du projet mais aussi d’avoir un meilleur financement.

Voilà pour les news…A bientôt !!!

Click to rate this post!
[Total: 127 Average: 3.2]

37 comments

  1. Bonjour,

    Merci pour cette feuille de route très prometteuse.
    Pour moins de 40€ et une bonne intégration domoticz, j’en serai !

  2. Bonjour akila,
    J’ai moi-même plongé dans le ZigBee, il y a 5 ans, en développant une plateforme multi-capteurs sur batterie (capteur industriel).
    A ce moment, j’étais parti sur les composants de Texas Instruments (CC2530, CC2531). Ce sont des microcontrôleurs qui intègrent la partie RF. Je ne peux que recommander aussi bien les composants en eux-mêmes que le stack ZigBee (Z-Stack) fourni avec. En 2010, c’était la version 2.0 que j’utilisais et j’avais trouvé encore quelques bugs, mais quand je me suis repenché sur le tout en 2012, la version 2.5 était sorti et je n’ai plus eu de souci (d’ailleurs c’est toujours cette version qui est l’actuelle).
    Il existe de nouveaux chips ZigBee chez TI maintenant, mais le CC2530 est pour moi un intemporel. D’ailleurs, on retrouve sur aliexpress des modules qui intègrent l’antenne (16€ pour 5 modules) et/ou des preamplificateurs (12€ par module). Et on retrouve aussi des clé USB (totalement programmables) du CC2531 (quasi le même que le CC2530, sauf qu’il a une interface USB supplémentaire).
    Le seul point négatif est qu’il faut utiliser IAR comme IDE, car le Z-Stack n’est compatible qu’avec le compilateur d’IAR, et ça, ça peut être bloquant.
    Le CC-Debugger (programmateur) est trouvable pour 12 € sur Aliexpress.
    Je n’ai jamais utilisé les produits de NXP, donc je ne saurais pas faire de comparaison, mais personnellement, je ne voudrais plus changer depuis que j’ai travaillé avec les produits de TI.
    Bonne chance pour la suite de tes développements!
    macload1

    1. Merci pour toutes ces informations ! Mais maintenant que je suis sur du NXP … je me vois mal changer et tout refaire … 🙂

      1. Perso j’avais fait exactement le meme choix que macload1 quand je m’étais orienté sur un sniffer zigbee pour tenter de reverse le protocole xiaomi. J’ai donc commandé le CC2531 en USB sur ebay pour un petit 10€. C’est un choix économique qui est pas mal.

      2. Oui oui, biensûr!
        Je n’ai pas écrit mon commentaire pour essayer de te convaincre de changer tes outils de travail. Rien à faire, mais commencer à apprendre une librairie d’un fournisseur prend vite du temps, même si elle est bien écrite; surtout s’il s’agit d’un protocole complexe comme le ZigBee.
        Je voulais surtout mettre une lumière sur une autre possibilité pour les autres lecteurs, qui ont peut-être envie de se lancer dans le même genre d’activités que toi.
        D’ailleurs, avec tes derniers posts, tu m’as donné envie de me relancer dans le bricolage…
        Merci!

  3. J’attends une version finale avec impatience.
    L’idée d’une passerelle ouverte compatible à la fois ZHA (Ikea) et ZLL (Hue) est top !
    Si tu lances un kickstarter, j’investis de suite.
    K.

  4. Je suis le sujet avec attention. Mes volets seront prochainement à la norme HA et j’aimerai bien pouvoir les commander via une telle passerelle

  5. Super, idem, mais par simplicité pour un commun mortel, l’intégration des IKEA TradFri est requis (coût et facilité d’approvisionnement avec garantie).
    D’autre part, l’intégration dans Home-Assistant.io, mais surtour l’intégration avec des scripts (python) avec Jarvis me sera nécessaire (http://domotiquefacile.fr/jarvis/).

    Si vraiment moins de 40 euros et facilement intégrable sur un RPi 3, alors je serais preneur 😉

    1. Aujourd’hui je développe les scripts en PHP pour les développeurs de box… mais le pas vers python sera simple à faire

  6. Si tu cherches un bêta testeur pour du matériel Pluzzy, c’est bien volontiers. Ça me rend malade de savoir que ces équipements vont être bons pour la poubelle…

    1. Je ne cherche pas un bêta testeur à vrai dire mais plutôt quelqu’un qui pourrait me prêter un capteur pluzzy pour valider (ou pas) la compatibilité avec ma future passerelle. Si tu as du matériel pluzzy je suis preneur.

      1. Ça peut le faire en effet. Ça ne me servira pas tant qu’une solution alternative ne voit pas le jour. J’ai capteur T°/H, prises commandées avec mesure de conso, et capteur sur compteur EDF. Je veux un de chaque ou juste un pour commencer ? La suite par mail si tu veux bien

        1. Pour commencer, juste un capteur T/H. Juste pour valider le ZHA… envoie moi un mail par la page Contact et je te répondrai avec mon adresse postale.

  7. bonjour,
    alors là je vais te suivre particulièrement, surtout ton projet kickstarter, je suis très intéressé par ta petite passerelle, intégré dans domoticz ou jeedom ce sera une vrai tuerie

  8. Ça a l air pas mal ça. Cela permettrait donc de s affranchir de ces nombreuses passerelles que sont le pont hue pour Phillips, la gâteau pour Xiaomi,…. et ainsi de libérer bon nombre de prise électrique ^^
    Par contre 2 petites question s’ouvrent à moi:
    Sera-t-il toujours possible avec ça de co trimer les ampoule hue depuis le smartphone si on retire le pont et Si On utilise cette clé?
    Et enfin sera-t-elle compatible avec jeedom? Pour contrôler les ampoules et les module Xiaomi depuis la smartbox?
    Merci d’avance pour ces réponses.
    En tout cas joli projet qui je penses rencontrera un très grand succès, J attends la vente avec impatience.

    1. Si on retire le pont, l’application mobile Philips ne fonctionne plus. Ce sera uniquement par l’intermédiaire de la box domotique que vous pourrez agir. La clef devrait être compatible avec Jeedom … Et autre. Mais ce sera du ressort des développeurs. Bien entendu, l’intérêt est de pouvoir inter agir avec les ampoules et les Xiaomi avec la même clé sous Jeedom par exemple.

  9. Merci pour cette roadmap très documenté.
    Merci de réunir tous ces ponts et passerelles, dans une simple clé.
    Merci de nous faire rêver à un monde domotique encore plus unifié, encore plus simple et accessible ;
    Je suis aussi vivement intéressé par la suite de ton projet.
    Excellente continuation.

  10. Un travail impressionnant qui force le respect.
    Bravo et merci de partager avec nous l’avancement de tes travaux et recherches.
    Bien qu’un peu frileux pour le financement participatif, je suis également partant si le montant est tel qu’annoncé (40 € ou moins). Kickstarter étant par ailleurs pour moi plus rassurant qu’Indiegogo.
    En tous cas, j’ai trouvé encore un autre site à consulter régulièrement. 😉
    Encore merci pour tout.

  11. Est-ce que le pack OM15020 ne pourrait pas faire l’affaire? Il s’agit d’un dongle USB embarquant un JN5169 et étant reprogrammable!

    http://www.nxp.com/products/microcontrollers-and-processors/more-processors/application-specific-mcus-mpus/ieee-802.15.4-wireless-mcus/jn5169-usb-dongle-for-zigbee:OM15020

    Il sont dispo pour moins de 9$ sur Aliexpress!

    https://www.aliexpress.com/item/JN5168-USB-DONGLE-ZIGBEE-Protocol-Analyzer-JN5168/32796178812.html

    1. Le pack OM15020 fait l’affaire mais coûte un peu cher… Si celui sur Aliexpress est un vrai NXP et qu’il est reprogrammable, c’est OK. À ce prix là, je vais en commander 1 ou 2. Je vous dirai si c’est OK. Merci pour l’information !

  12. Votre idée est très bonne, à 40€ j’achète !
    Ca fait depuis l’apparition des capteurs xiaomi que j’attends de pouvoir me passer de la passerelle pour me lancer.

    Par contre pourquoi vous arrêter au zigbee ? Ne pas aussi ouvrir en option à d’autre protocoles ?
    Je prêches pour ma paroisse, j’ai beaucoup d’ampoules milight à la maison, c’est pour moi le top du rapport qualité prix en ce moment. (9€ l’ampoule RVB+ blanc froid + blanc chaud)

    Les commandes radio murales ou mobile ne coutent presque rien aussi.

    Je cherche à virer le pont pour un contrôle direct dans Domoticz.

    merci d’avance

  13. Bonjour,
    Super projet. J’ai tout un équipement Schneider Wiser pour le chauffage, acheté avant que je me lance vraiment dans la domotique (j’utilise maintenant Jeedom) et bien sûr je serai intéressé de voir si les vannes thermostatiques pour radiateurs et les prises commandées sont compatibles car pour le moment aucun lien entre toute ma domotique et le chauffage de plus j’ai bien l’impression que Schneider ne s’intéresse plus trop à Wiser (aucune nouveauté depuis des mois).
    Je n’ai pas besoin du chauffage jusqu’à l’automne (Montpellier !) et je dois avoir une prise en rab quelque part.
    Si les tests sont « non destructifs » 😉 je dois pouvoir t’en expédier (et payer le retour) à condition de pouvoir les récupérer. Serais-tu d’accord ?

    1. Merci pour le soutien. Les tests sont bien entendu non destructif . Je suis bien entendu intéressé pour tester les produits wiser…. Et te les retourner

  14. Bonjour très intéressé par le projet début octobre quoi de neuf
    Merci
    Question de débutant si j’ai bien compris cette box pourras
    Gérer tous les produits zigbee
    Merci

    1. Tu peux suivre l’évolution sur le blog. Début octobre nous sommes à l’edito 4. Ce n’est pas une box mais branché sur une box tu pourras piloter des produits ZigBee

  15. Bonjour

    Ou en etes vous maintenant?
    Peut on récupèrer les appuis des boutons xiaomi ?
    Par quel moyen recupere t on l’événement ?
    Msg sur rs 232 ?
    Qu en est il des clés de criptage aes128bits?
    Merci pour ce super bojlot
    Je suis aussi du genre a tout refaire par ce que ce que je trouve ne me satisfait pas mais il faut avouer que xiaomi s’en raproche.

Répondre à macload1 Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.