Matter, ou la concorde des objets : Testez Matter avec la carte Thing Plus Matter et Simplicity Studio
Jusqu'à présent, pour se lancer dans la domotique, il fallait choisir un écosystème. Cette époque est révolue, car Matter vise à faciliter la communication entre tous les appareils IoT à l'aide de ce nouveau protocole open-source. Dans cet article, nous développons une petite application de démonstration compatible avec Matter, avec la nouvelle carte de développement SparkFun Thing Plus Matter et l'IDE Simplicity Studio de Silicon Labs.
Bien qu’il soit à vocation universaliste, l’Internet des Objets (IdO) reste aujourd’hui encore gouverné par de multiples protocoles de communication. Ce caractère disparate oblige les concepteurs, et par ricochet les utilisateurs, à opter pour l’un ou l’autre de ces protocoles et, par force, à s’y tenir. Cette contrainte est en passe d’être levée grâce au standard de connectivité open source Matter. Sa couche d’application permet aux développeurs et aux fabricants d’appareils de créer des écosystèmes fiables et sécurisés, et d’accroître la compatibilité entre les objets connectés d’un même système domotique.
Matter en bref
Le projet Matter a démarré en 2019 sous le nom CHIP (Connected Home over IP Project). Des acteurs majeurs tels qu’Amazon, Apple et Google, ainsi que l’alliance Zigbee et diverses entreprises comme Nordic Semiconductor, se sont réunis à l’époque pour élaborer un protocole de communication à même d’unifier l’Internet des Objets. Matter, le fruit de cette collaboration, est un protocole open-source, libre de droits, qui permet aux appareils de communiquer par wifi, Ethernet, Bluetooth Low Energy et Thread. Des appareils « certifiés Matter » pourront ainsi communiquer entre eux quelle que soit la technologie sans fil utilisée, autrement dit sans qu’il soit nécessaire de traduire un protocole en un autre.
Concrètement, concepteurs, fabricants et consommateurs n’auront plus à choisir entre des produits compatibles avec HomeKit (Apple), Alexa (Amazon) ou Weave (Google). Le fabricant voit son processus de conception simplifié, le consommateur y gagne en compatibilité.
Un des grands avantages de Matter est qu’il simplifie la configuration et la gestion d’un système domotique. Si ledit système comprend des appareils certifiés Matter, l’utilisateur pourra le configurer rapidement et facilement, sans avoir besoin de compétences techniques particulières. Et comme la sécurité est primordiale, le protocole prend en charge le cryptage de bout en bout, autrement dit sécurise la transmission de données entre appareils.
Autre avantage clé pour la plupart d’entre nous, Matter est open source. Tout ce qui a trait au protocole est disponible sur le dépôt GitHub de Matter : code source, documentation, scripts, exemples, et plus généralement tout ce dont un concepteur a besoin pour créer un produit compatible avec Matter.
Tout cela est bien beau, mais bon nombre d’entre nous restent aujourd’hui encore relégués au rang de simple consommateur, sans possibilité de prototypage pour tester Matter, sinon en partant de zéro. Heureusement, les choses évoluent avec la sortie de la carte de développement Thing Plus Matter de SparkFun Electronics – disponible dans l’e-choppe, cf. l’encadré Produit. Grâce à son écosystème Qwiic, Thing Plus Matter offre une méthodologie agile pour la conception et le prototypage de produits reposant sur Matter. Le module sans fil MGM240P de Silicon Labs fournit une connexion sécurisée pour les protocoles 802.15.4 à communication maillée (Thread) et Bluetooth Low Energy 5.3, et il s’intègre nativement au protocole Matter de Silicon Labs. Les cartes Thing Plus comprennent un connecteur Qwiic auquel peuvent être branchés sans soudure des circuits I2C de la famille Qwiic Connect System, et leur facteur de forme est compatible avec Feather.
Configuration de Simplicity Studio
Vous ferez vos premiers pas de développeur Matter avec l’enceinte Nest Hub de Google, mais avant cela il vous faut installer et configurer l’EDI Simplicity Studio de Silicon Labs. Je ne détaillerai pas toutes les étapes, reportez-vous au tutoriel de SparkFun si vous avez besoin de compléments.
Rendez-vous sur le site de Silicon Labs pour y télécharger Simplicity Studio (en version 5 au moment de la rédaction de cet article). Cliquez sur le bouton qui correspond à votre système d’exploitation. La page qui s’ouvre vous invite à vous connecter avec votre compte – créez-en un si vous n’en avez pas, c’est gratuit. Lancez l’installeur une fois le programme téléchargé (fig. 1).
Lorsque vous lancez Simplicity Studio pour la première fois, l’installeur cherche les mises à jour disponibles et, s’il y en a, vous les présente. Cliquez sur Update All pour les télécharger et les installer afin de disposer des derniers ajouts et améliorations. S’il n’y a aucune mise à jour supplémentaire, ou si votre système est configuré pour les faire automatiquement, l’installeur passe à l’étape suivante.
Après redémarrage (si celui-ci était nécessaire), l’installeur vous demande si vous souhaitez installer votre carte en la branchant, ou si vous souhaitez procéder à une installation par type de technologie (sans-fil, Xpress, microcontrôleur, capteurs). Sélectionnez Install by connecting devices (fig. 2), puis branchez votre carte Thing Plus Matter dans un port USB.
Le programme demande alors s’il doit installer les paquets requis. Cliquez sur Yes. Après installation, la fenêtre devrait indiquer 1 Device Found, avec un identifiant tel que :
[checkbox] J-Link (000449050174)(ID: 000449050174)
Cochez la case associée et cliquez sur Next. Deux options d’installation se présentent. L’option Auto installe pour nous tous les paquets nécessaires. L’option Advanced nous laisse choisir quels paquets nous souhaitons – mais si cette option vous semble le choix évident, il est fort probable que vous ne soyez pas en train de lire cet article. Sélectionnez donc Auto, puis Next (fig. 3). Acceptez les termes de la licence (Master Software License Agreement) pour que l’installation démarre. L’opération prend un certain temps et nécessitera un redémarrage une fois terminée. C’est généralement à cet instant que le développeur sérieux quitte son poste de travail et va se faire un café.
Après redémarrage, Simplicity Studio vous invite cette fois-ci à accepter le contrat de licence d’utilisateur final, puis affiche – enfin ! – la fenêtre Welcome to Simplicity Studio. Vous devriez voir votre module MGM240P sous Connected Devices. Cliquez sur Start pour ouvrir la page d’information Thing Plus ; elle contient une présentation de la carte, des exemples et démos de projets, de la documentation, et divers outils. Ouvrez l’onglet Example Projects and Demos, entrez le mot-clé Blink dans la barre de recherche Filter on keywords, puis cliquez sur le bouton Create associé à Platform - Blink Bare-metal (fig. 4).
La fenêtre qui s’ouvre permet de changer le nom ou l’emplacement du projet. Donnez à votre projet un nom parlant, p. ex. FirstBlinkDemo, puis cliquez sur Finish. Une fois le projet compilé, Simplicity Studio affiche sur la gauche un explorateur appelé Project Explorer. Faites un clic droit sur le dossier principal du projet – qui devrait avoir pour nom MatterBlinkExample – puis sélectionnez Run as/1 Silicon Labs ARM Program (fig. 5).
Le menu Run as compile le script et l’écrit dans la mémoire de la carte. Vous devriez alors voir clignoter sa LED bleue toutes les demi-secondes. Ceci dit, il est fort probable que votre carte ait commencé à clignoter au moment même où vous l’aviez insérée dans le port USB de votre ordinateur. Une façon de s’assurer que le clignotement vient bien du code est d’en modifier l’intervalle dans le fichier blink.c. Ouvrez-le avec l’explorateur, et repérez la ligne ci-dessous, en théorie la 31 (fig. 6) :
#define TOOGLE_DELAY_MS 500
Remplacez 500 par une valeur qui ne laissera aucun doute sur l’origine du clignotement, p. ex. 100 pour un clignotement très rapide, ou 3000 pour un tempo beaucoup plus mesuré. Le résultat effacera tout doute. Pour le voir, faites un clic droit sur le dossier MatterBlinkExample, puis choisissez comme précédemment Run as/1 Silicon Labs ARM Program. Observez la fréquence de clignotement de la LED bleue, et concluez vous-même.
Pour aller plus loin : tutoriel Nest Hub
Félicitations, vous communiquez avec votre carte Thing Plus Matter depuis Simplicity Studio en utilisant le protocole Matter. Les choses intéressantes commencent maintenant. Être en mesure de dialoguer avec votre enceinte Nest Hub va en effet vous permettre d’intégrer à votre système domotique des dispositifs conçus par vous-même à l’aide de cartes telles que la Thing Plus Matter (fig. 7). Drew, ingénieur chez SparkFun, et Mariah, technologiste créative, vous expliquent comment procéder dans un tutoriel et une vidéo publiés sur SparkFun.
Cette technologie étant récente, tutoriels et exemples sont encore peu nombreux, mais de nouveaux apparaissent chaque jour. Prenez une longueur d’avance en utilisant Matter dès aujourd’hui, ce protocole contribue à l’unification de la domotique et se répand sur toutes les plateformes.
Note de la rédaction : cet article (230224-04) paraît dans Elektor juillet/août 2023.
Des questions, des commentaires ?
Envoyez un courriel au service d’assistance de SparkFun (support@sparkfun.com), ou contactez Elektor (redaction@elektor.fr).
À propos de l'auteur
Rob Reynolds a rejoint SparkFun en 2015, et depuis cinq ans y exerce comme technologiste créatif. Il s’appuie sur son expérience dans le domaine des arts pour créer des projets, des vidéos et des tutoriels qui sont le plus souvent à la fois instructifs et divertissants. Vous pouvez le suivre sur Twitter à @thingsrobmade.