Eine Frage der Zusammenarbeit: Entwickeln mit dem Board Thing Plus Matter und dem Simplicity Studio
Um in die Heimautomatisierung einzusteigen, musste man sich bisher für ein Ökosystem entscheiden. Nun, diese Zeiten sind vorbei, denn Matter will es jedem IoT-Gerät leicht machen, über dieses neue, quelloffene Protokoll zu kommunizieren. In diesem Artikel entwickeln wir eine kleine Matter-kompatible Demo-Anwendung mit dem neuen SparkFun-Entwicklungsboard Thing Plus Matter und der IDE Simplicity Studio von Silicon Labs.
Das Internet der Dinge oder IoT, wie es kurz und knapp genannt wird, ist uns allen mittlerweile gut bekannt. Aber selbst heutzutage gibt es wegen verschiedener Kommunikationsprotokolle reichlich Verwirrung. Dies zwingt sowohl Entwickler als auch Verbraucher zu der Entscheidung, wie ihre Geräte kommunizieren sollen, um sie an ein Netzwerk zu binden. Mit der Einführung des einheitlichen, quelloffenen Verbindungsstandards Matter, der es Entwicklern und Geräteherstellern ermöglichen soll, zuverlässige und sichere Ökosysteme aufzubauen und die Kompatibilität zwischen vernetzten Heimgeräten zu verbessern, werden diese Zeiten hoffentlich bald vorüber sein.
Eine kurze Geschichte von Matter
Matter begann im Jahr 2019 als das Project CHIP, was für Connected Home over IP steht. Große und zuvor konkurrierende Akteure wie Amazon, Apple und Google sowie die Zigbee-Allianz und eine Reihe anderer Unternehmen wie Nordic Semiconductor taten sich zusammen, um ein gemeinsames Kommunikationsprotokoll zu entwickeln, das zur Vereinheitlichung des gesamten Internets of Things verwendet werden sollte. Matter ist ein quelloffenes und lizenzfreies Protokoll, mit dem Geräte über WLAN, Ethernet, Bluetooth-Low-Energy- und Thread-Netzwerke kommunizieren können. Das bedeutet, dass Geräte, die Matter-zertifiziert sind, unabhängig von der verwendeten Funktechnologie nahtlos miteinander kommunizieren können.
Mit Matter müssen sich Entwickler, Hersteller und Verbraucher nicht mehr zwischen Apples HomeKit, Amazons Alexa oder den Weave-Komponenten von Google entscheiden. Für Hersteller von IoT-Geräten bedeutet dies eine vereinfachte Entwicklung, für die Verbraucher mehr Kompatibilität.
Einer der Hauptvorteile von Matter ist es, dass entsprechend zertifizierte Smart-Home-Geräte einfacher und schneller eingerichtet und verwaltet werden können, ohne dass spezielle Kenntnisse oder technische Fähigkeiten erforderlich wären. Und da Sicherheit von größter Bedeutung ist, unterstützt das Protokoll auch eine End-to-End-Verschlüsselung, die gewährleistet, dass die zwischen den Geräten übertragenen Daten sicher sind.
Ein weiterer, für die meisten von uns wichtiger Vorteil ist, dass Matter vollständig quelloffen ist. Alle Informationen über Matter sind in einem GitHub-Repository verfügbar, einschließlich Quellcode, Dokumentation, Skripte, Beispiele und alles, was das Entwicklerherz benötigt, um Matter-kompatible Geräte zu entwerfen.
So schön das auch ist, die meisten Menschen sind auf die Rolle des Verbrauchers beschränkt und haben keine Möglichkeit, Prototypen zu entwickeln, ohne ganz von vorne anzufangen. Glücklicherweise ändert sich dies mit dem kürzlich erschienenen SparkFun Thing Plus Matter Development Board von SparkFun Electronics , das im Elektor Store erhältlich ist (siehe Passendes Produkt). Es ist das erste leicht zugängliche Board seiner Art, das Matter und das Qwiic-Ökosystem von SparkFun für die flexible Entwicklung und das Prototyping von Matter-basierten IoT-Geräten kombiniert. Dieses MGM240P-Wireless-Modul von Silicon Labs bietet sichere Konnektivität sowohl für 802.15.4 mit Mesh-Kommunikation (Thread) als auch für Protokolle gemäß Bluetooth Low Energy 5.3. Das Modul kann leicht in das Matter-IoT-Protokoll von Silicon Labs für die Hausautomatisierung integriert werden. Die Thing-Plus-Entwicklungsboards von SparkFun sind Feather-kompatibel und besitzen einen Qwiic-Anschluss, wodurch lötfreie I2C-Verbindungen im Qwiic-Connect-System möglich sind.
Einrichtung des Simplicity Studios
Um unsere ersten Schritte als IoT-Entwickler mit Matter machen und das Thing Plus Matter Board mit einem Google Nest Hub verbinden zu können, müssen wir zunächst das Simplicity Studio von Silicon Labs installieren. Wir gehen die dazu erforderlichen Schritte hier kurz durch, aber auf der Website von SparkFun finden Sie ein viel ausführlicheres Tutorial.
Die erste Maßnahme ist es, die aktuelle Version von Simplicity Studios (V 5, als dieser Artikels geschrieben wurde) für Ihr Betriebssystem von der Website von Silicon Labs herunterzuladen. Wenn Sie auf den Installer-Button für Ihr Betriebssystem klicken, werden Sie zu einer Anmeldeseite weitergeleitet. Wenn Sie noch kein Konto haben, sollten Sie jetzt eines erstellen, da Sie danach gefragt werden, wenn Sie das Simplicity Studio öffnen. Sobald Sie das Programm heruntergeladen haben, führen Sie wie in Bild 1 zu sehen den Installer aus.
Nachdem Sie das Simplicity Studio installiert und zum ersten Mal gestartet haben, werden Sie zum Installationsmanager weitergeleitet, der nach verfügbaren Updates sucht und diese gegebenenfalls auflistet. Hier können Sie einfach auf Update All klicken, damit Sie die neuesten Versionen von allem haben, was das Simplicity Studio zum Laufen braucht. Wenn keine weiteren Updates vorhanden sind oder Ihr System so konfiguriert ist, dass sie automatisch aktualisiert werden, springt der Installations-Manager sofort zum nächsten Schritt.
Nach dem (eventuellen) Neustart das Simplicity Studios gelangen Sie wieder zurück zum Installations-Manager, aber dieses Mal werden Sie gefragt, ob Sie Ihr Gerät durch Anschließen des Gerätes oder nach Technologietyp (Wireless, Xpress, MCU, Sensoren) installieren möchten. Hier wählen Sie Install by connecting devices (Bild 2) und schließen das Board SparkFun Thing Plus Matter über USB an.
Alsdann werden Sie gefragt, ob Sie die erforderlichen Pakete installieren möchten, was Sie natürlich tun wollen, also klicken Sie auf Yes. Sobald die Installation abgeschlossen ist, sollte der Installationsmanager 1 Device Found anzeigen, mit einer Bezeichnung wie
[checkbox] J-Link (000449050174)(ID: 000449050174)Aktivieren Sie die Checkbox und klicken Sie auf Next, um zu den Paketinstallationsoptionen zu gelangen. Wenn Sie die Option Auto wählen, werden alle erforderlichen Pakete installiert, mit allem Zubehör, das Sie wollen. Es gibt auch eine Option Advanced, mit der Sie genau festlegen können, welche Pakete Sie installieren möchten und welche nicht, aber wenn Sie schon wissen, was Sie auswählen wollen, werden Sie diesen Artikel wahrscheinlich gar nicht lesen. Wählen Sie also die Option Auto und dann Next, wie in Bild 3 dargestellt. Sie erhalten eine Master-Software-Lizenzvereinbarung, die Sie akzeptieren müssen, und dann beginnt endlich die Installation. Dies dürfte einige Zeit in Anspruch nehmen und erfordert am Ende einen Neustart, so dass es jetzt ein guter Zeitpunkt ist, ein Getränk oder einen Snack zu sich zu nehmen.
Wenn Sie zurückkommen und das Simplicity Studio neu starten, werden Sie von einer weiteren EULA begrüßt, und dann, nach den ganzen Vorarbeiten, mit einem Welcome to Simplicity Studio! Unter Connected Devices sollten Sie SparkFun Thing Plus MGM240P sehen. Klicken Sie auf Start, um die Thing-Plus-Informationsseite aufzurufen, auf der Sie einen Überblick über das Board sowie Beispielprojekte und Demos, Dokumentationen und kompatible Tools finden. Wenn Sie zur Registerkarte Example Projects and Demos navigieren, geben Sie in das Filterfeld das Stichwort „Blink“ ein. Daraufhin sollte eine Reihe von Ressourcen angezeigt werden, von denen Sie die Ressource Platform - Blink Bare-metal wählen und auf die Schaltfläche Create klicken (Bild 4).
Daraufhin wird ein Fenster geöffnet, in dem Sie den Namen und/oder den Speicherort der Datei ändern können. Ich schlage vor, die Datei in etwas Sinnvolles umzubenennen, zum Beispiel FirstBlinkDemo, um dann auf Finish zu klicken. Sobald das Projekt erstellt ist, sehen Sie auf der linken Seite des Simplicity Studios ein Project-Explorer-Fenster. Suchen Sie nach dem Hauptprojektordner, der den Namen MatterBlinkExample tragen sollte, klicken Sie rechts darauf und navigieren Sie dann zu Run as/1 Silicon Labs ARM Program (siehe Bild 5).
Wenn Sie darauf klicken, wird der Sketch kompiliert und auf Ihr Board Thing Plus Matter übertragen. Die blaue LED des Boards sollte nun im Halbsekundentakt blinken. Wenn Sie Ihr Thing-Plus-Board zum ersten Mal über USB angeschlossen haben, hat es wahrscheinlich schon im Halbsekundentakt geblinkt, bevor Sie überhaupt etwas getan haben. Um zu überprüfen, ob Ihr Code tatsächlich auf das Board geflasht wurde, können Sie das Blinkintervall ändern, indem Sie die Datei blink.c im Project Explorer aufrufen und das Intervall ändern. Etwa in Zeile 31 (Bild 6) sollten Sie Folgendes finden
#define TOOGLE_DELAY_MS 500
Ändern Sie den Wert einfach auf einen (deutlich) anderen, etwa 100, damit die LED extrem schnell blinkt, oder auf 3000, was ein sehr langsames Blinken zur Folge hat. Auf jeden Fall wissen Sie dann später, dass das Board tatsächlich mit Ihrem Code geflasht wurde. Sobald Sie diesen Wert geändert haben, können Sie erneut mit der rechten Maustaste auf den Ordner MatterBlinkExample klicken, zu Run as/1 Silicon Labs ARM Program navigieren, darauf klicken und beobachten, wie die blaue LED des Boards ihre Blinkfrequenz ändert.
Verbinden des Boards mit Google Nest Hub
Herzlichen Glückwunsch, Sie kommunizieren jetzt mit Ihrem Board Thing Plus Matter über Matter mit dem Simplicity Studio von Silicon Labs. Von hier an werden die Dinge aber erst wirklich interessant. Die Kommunikation mit Google Hub ermöglicht es Ihnen, Ihre eigenen benutzerdefinierten Builds in Ihr Smart Home zu integrieren, mit Boards wie diesem Thing Plus Matter von SparkFun (Bild 7). Wenn Sie Lust haben, weiterzumachen, haben SparkFun-Ingenieur Drew und der Creative Technologist Mariah ein Video und eine Anleitung zusammengestellt, die genau erklären, wie man das macht .
Da diese Technologie noch sehr neu ist, gibt es nur wenige Beispiele und Tutorials, aber ihre Zahl wächst täglich. Wenn Sie jetzt mit Matter beginnen, sind Sie der Meute weit voraus, wenn sich dieses Protokoll über alle Plattformen hinweg durchsetzen und zur Vereinheitlichung der Smart-Home-Industrie beitragen wird.
Anmerkung der Redaktion: Dieser Artikel (230224-02) erscheint in Elektor Juli/August 2023.
Haben Sie Fragen oder Kommentare?
Haben Sie technische Fragen oder Kommentare zu diesem Artikel? Schicken Sie eine E-Mail an das SparkFun-Supportteam unter support@sparkfun.com oder kontaktieren Sie Elektor unter redaktion@elektor.de.
Über den Autor
Rob Reynolds ist seit 2015 bei SparkFun und seit fünf Jahren in der Rolle des Creative Technologist tätig. Sein umfangreicher künstlerischer Hintergrund hilft ihm, Projekte, Tutorials und Videos zu erstellen, die in der Regel so unterhaltsam und amüsant wie informativ sind. Sie finden sie auf Twitter unter @thingsrobmade.