Silicon Labs: Eine praktische Anleitung zur Entwicklung von Matter-Geräten für die Smart-Home-Automatisierung
Matter hat sich als effektives Mittel zur Verbindung von Home-Automation-Plattformen verschiedener Anbieter herausgestellt und so die Fragmentierung zwischen den Anbietern von IoT-Geräten reduziert.
www.silabs.com

Indem es bestehenden Funkprotokollen wie Thread, Zigbee und Wi-Fi ermöglicht, dieselbe Anwendungsschicht zu nutzen, spielt Matter eine entscheidende Rolle bei der Schaffung einer nahtlosen Kommunikation mit der Cloud. Es ermöglicht auch Geräte, die mit Smart-Home- und Sprachtechnologien wie Amazon Alexa, Apple Siri, Google Assistant und anderen kompatibel sind.
Diese Art der Anbindung bietet einige spannende Möglichkeiten – für Geräteentwickler als auch für Endnutzer. So kann ein neues Matter-Gerät gesteuert werden und gleichzeitig Teil mehrerer Ökosysteme sein. Eine Lampe lässt sich mit etablierten Systemen und Diensten wie Amazon Alexa, Apple HomeKit und Google Home verknüpfen.
Die standardisierte Bluetooth-Inbetriebnahme, einschließlich der Geräteauthentifizierung, ermöglicht eine sichere und einfache Installation. Endnutzer können ihrem Smart-Home-Netzwerk neue Produkte und Marken hinzufügen, ohne zeitaufwendig prüfen zu müssen, ob diese miteinander kompatibel sind. Bei Matter ist die Interoperabilität eingebaut, und diese Zuverlässigkeit kurbelt den Markt für Smart-Home-Automatisierung an.
Vom „Warum“ zum „Wie“
Sehen wir uns Matter genauer an, um dessen Rolle im Smart-Home zu verstehen. Die Initiative wurde von der Connectivity Standards Alliance (CSA) als kollaborativer, branchenübergreifender Standard ins Leben gerufen, an dem einige führende Namen im Smart-Home-Ökosystem beteiligt sind, darunter Amazon, Apple, Google, Comcast, Silicon Labs und viele andere. Laut CSA bietet Matter einen brancheneinheitlichen, IoT-kompatiblen Ansatz für zuverlässige und sichere Datenanbindung.
Matter unterstützt Wi-Fi als auch Thread. Einfach ausgedrückt stellen diese Protokolle die Verbindung zwischen Geräten her, während Matter die gemeinsame Sprache ist, die sie sprechen. Insbesondere Thread hat sich als entscheidende Technik für die Anbindung stromsparender „Dinge“ mit geringer Bandbreite an das Internet herausgestellt und wird von vielen als die Zukunft des Funk-Mesh-Netzwerks angesehen.
Matter treibt also die Konvergenz zwischen IoT-Ökosystemen voran, um ein gemeinsames Funkprotokoll zu schaffen, das alle IoT-Geräte und -Netzwerke miteinander verbindet. Dies erklärt jedoch nur die Gründe für die Entwicklung von Matter. Die nächste Frage ist das „Wie?“ – insbesondere für Entwickler, die Erfahrung beim Design von Matter-Geräten sammeln möchten. Wie können sie ihr Wissen und ihre Fähigkeiten verbessern, um den Einstieg zu beschleunigen, Geräte zu entwickeln und Endprodukte bereitzustellen?
Mit der Weiterentwicklung des Matter-Standards haben sich auch die Ressourcen entwickelt, die Entwicklern zur Verfügung stehen. Jetzt ist es möglich, Matter-Starter- und Entwicklungskits mit Anleitungen und Tutorials abzustimmen, um Unternehmen dabei zu unterstützen, Matter-Produkte so schnell wie möglich auf den Markt zu bringen. Die Entwicklung mit Matter muss damit nicht abschreckend, komplex oder anspruchsvoll sein. Im Gegenteil, sie kann sogar lehrreich, lohnend und unterhaltsam sein.
Wie läuft nun dieser Prozess für eine bestimmte Aufgabe ab – in diesem Fall für den Einstieg in eine Matter-over-Thread-Leuchte? Hier kommt die Hardware und Software von Silicon Labs zum Einsatz, obwohl ähnliche Support-Tools auch von anderen Herstellern erhältlich sind.
- Die Hardware-Plattformen für Matter over Thread verstehen
Ausgangspunkt sind die Entwicklungsboards. Für diese Aufgabe wird der Multiprotokollprozessor EFR32xG24 von Silicon Labs verwendet, der die Entwicklung IEEE-802.15.4-basierter Netzwerke wie Thread ermöglicht. Er unterstützt auch Bluetooth, das von Matter bei der Inbetriebnahme verwendet wird. Die Hauptplatine für diese Aufgabe wäre das Pro-Kit-Board, mit dem das Ein-/Ausstecken verschiedener Funkplatinen möglich ist, sodass Bauteile evaluiert werden können. Der Vorteil besteht darin, dass sie erweiterte Funktionen für die Leistungs- und Netzwerkanalyse bietet. Sie verfügt auch über einen Ethernet-Anschluss, der umfangreiche Netzwerktests erleichtert.
Es gibt auch eine Reihe von Dev-Kit-Boards, die für diese Aufgabe hilfreich wären. Diese kleinen Platinen sind mit Sensoren wie Gyroskopen und Mikrofonen ausgestattet und eignen sich daher gut für das schnelle Prototyping. Sie verfügen über einen Schnellanschluss, der mit vielen verfügbaren Hardware-Geräten von Drittanbietern verbunden werden kann, die über denselben Anschluss verfügen. Ein Einsteiger-Board (Explorer-Kit) verfügt über einige Tasten und LEDs, aber es ist möglich, seine Funktionen über den Microbus und Schnellanschlüsse zu erweitern.
- Wie füge ich die Matter-Erweiterung zur Simplicity Studio IDE hinzu?
Simplicity Studio ist die einheitliche Entwicklungsumgebung für alle Technologien, SoCs und Module von Silicon Labs. Sobald es eingerichtet ist und ausgeführt wird, ist der erste Schritt, ein SDK für die Komponenten zu installieren, mit denen Sie arbeiten möchten. Das Bauteil wird über ein USB-Kabel an den PC angeschlossen, und die Schaltfläche „Installieren“ in der Symbolleiste wird geklickt. Mit der Option „Auto“ werden die empfohlenen Entwicklungspakete für das angeschlossene Board installiert. Anschließend beginnt die Installation der erforderlichen SDK-Dateien. Unterstützung für die Matter-Entwicklung wird durch eine SDK-Erweiterung bereitgestellt. Hier können Sie die Registerkarte „SDKs“ auswählen und unter „Gecko SDK 32-Bit und Wireless MCUs“ auf die Schaltfläche „Installieren“ für die Silicon-Labs-Matter-Erweiterung klicken. Nach der Installation können Sie mit der Erstellung von Matter-Anwendungen beginnen.
Um Anwendungen zu erstellen, lässt sich schnell und einfach ein angeschlossenes Board auswählen und auf unterstützende Handbücher und Dokumentationen zugreifen. Sie können auch zusätzliche Dokumentation auf der Registerkarte „Dokumentation“ anzeigen. Die kompatiblen Tools bieten nützliche Dienstprogramme für die Arbeit mit Bausteinen, Boards und Code. Auf der Registerkarte „Beispielprojekte und Demos“ finden sich viele Beispiele, die den Einstieg in die Anwendungserstellung erleichtern.
- So erstellen Sie eine Matter-over-Thread-Bootloader-Anwendung
Vor dem Erstellen der Anwendung muss ein Bootloader bereitgestellt werden. In den Beispielprojekten in den Demos findet sich ein Beispiel für ein Bootloader-SoC-Image mit internem Speicher auf einem 1MB-Baustein, das benannt und fertiggestellt werden kann, um das Beispiel für Ihre Anwendung zu erstellen.
Ist die Projekterstellung abgeschlossen, werden Sie zur Simplicity-IDE-Perspektive weitergeleitet, in der die Hauptentwicklungsarbeit durchgeführt wird. Eine Readme-Datei für das Projekt wird automatisch geöffnet, ebenso wie die Projektkonfigurationsdatei. Durch Klicken auf die Schaltfläche „Erstellen“ wird der Prozess zum Erstellen der Anwendung gestartet. Eine Konsole zeigt den Fortschritt an. Wenn nach Abschluss des Vorgangs Probleme auftreten, werden Details auf der Registerkarte „Probleme“ angezeigt.
Sobald der Build abgeschlossen ist, können Sie die Binärdatei in das angeschlossene Board flashen. Binärdateien sind in verschiedenen Formaten enthalten. Für diese Aufgabe wurde eine .S37-Binärdatei ausgewählt. Durch Klicken lässt sich ein Flash-Baustein auswählen, um den Flash-Programmer zu öffnen. Da es sich um ein neues Projekt mit einem neuen Bootloader handelt, können Sie nach dem Einprogrammieren des Bootloaders den gesamten Chip mithilfe der Löschtaste löschen. Überprüfen Sie anschließend, ob die Binärdatei und das Board Ihren Wünschen entsprechen, und klicken Sie auf das Programm, um die Bootloader-Binärdatei auf das Pro-Kit-Board zu übertragen.
- Erstellen der Beispielanwendung „Matter-over-Thread-Leuchte“
Nachdem der Bootloader installiert wurde, lassen sich nun Matter-Projekte erstellen. Wenn Sie also zur Startperspektive zurückkehren und die Boards in den Debug-Adaptern auf der Registerkarte „Beispielprojekte und -demos“ auswählen, können Sie einfach nach Matter-Beispielen und -Demos filtern, um ein Live-Gerät zu erstellen. Hier findet sich die Matter-SoC-Beleuchtung über Thread-Demo. Bei Demos wird durch Klicken auf die Schaltfläche „Ausführen“ die vorgefertigte Binärdatei in das angeschlossene Board programmiert. Um jedoch ein Projekt zu erstellen, erstellen die Beispiele ohne den Demo-Indikator ein Projekt mit Quellcode, den Sie später bearbeiten und an Ihre eigenen Bedürfnisse anpassen können.
Für das erstellte Projekt wird die Konfigurationsdatei in der Simplicity-IDE-Perspektive geöffnet, ebenso wie die Readme-Datei für das Projekt. Diese enthält hilfreiche Informationen, z. B. wie das Projekt auf verschiedenen Boards ausgeführt wird. Hinzu kommen Links zu zusätzlicher Dokumentation. Simplicity Studio bietet außerdem zahlreiche zeitsparende Funktionen, die Sie bei der Entwicklung unterstützen.
So gibt es einen Zigbee-Cluster-Konfigurator, mit dem Sie das verwendete Datenmodell einrichten können, das die Funktionsweise Ihres Geräts definiert. Der Ein-Aus-Cluster steuert das Licht durch die Ausgabe von Befehlen, die das Ein-Aus-Attribut manipulieren und somit das Licht ein- oder ausschalten. Wenn Sie verschiedene Arten von Geräten entwickeln, können Sie hier die Cluster und Attribute konfigurieren, die Ihr Gerät für den Betrieb benötigt. Es gibt auch den Bluetooth-GATT-Konfigurator, der wiederum die Bluetooth-Dienste und -Eigenschaften definiert, die auf der Bluetooth-Seite des Geräts vorhanden sind.
Auch eine Reihe von Komponenten und Treibern steht zur Verfügung, die zum Einrichten von Sensoren auf Ihrem Board oder von Tasten und LEDs verwendet werden können. Normalerweise sind nur ein paar Klicks erforderlich, um die Unterstützung für die Funktion hinzuzufügen und die verwendeten Pins zu konfigurieren. Die Softwarekomponenten sind eine hervorragende Zeitersparnis, da sie Code zum Betrieb von Peripherie und zum Konfigurieren der während der Entwicklung erforderlichen Hardware-Pins bereitstellen.
Nun würden Sie das Projekt nach dem gleichen Verfahren wie den Bootloader erstellen. Sobald der Bootloader und die Matter-Binärdatei in das Gerät programmiert sind, blinkt die LED 0 und zeigt an, dass es über Bluetooth kommuniziert und nach einem Netzwerk sucht, dem es beitreten kann. Im Fall des Pro-Kit-Boards würde ein QR-Code auf dem LCD angezeigt. Dieser kann verwendet werden, um ein Gerät durch Scannen des QR-Codes in ein Netzwerk einzubinden.
Vollständige Unterstützung für Matter ist verfügbar
So geht man also bei der Entwicklung von Matter over Thread vor. Der gesamte Prozess steht online in einer schrittweisen Anleitung für den Schnellstart zur Verfügung. In weiteren Videos erfahren Sie, wie eine Leuchte in Betrieb genommen wird. Das erste Video beschreibt, wie man einen Raspberry Pi als OpenThread-Border-Router einrichtet. Dieses spezielle Setup ist während der Entwicklung sehr nützlich, da es die vollständige Kontrolle über das Netzwerk und seine Geräte bietet. Das zweite Video zeigt, wie sich ein Gerät aus der Perspektive eines Endnutzers in Betrieb nehmen und sich in ein Netzwerk einbinden lässt, das mit einem Google-Home-Nest-Hub gebildet wurde.
Wie erwähnt, stehen weitere Ressourcen von verschiedenen Hardware- und Softwareanbietern zur Verfügung. Aber letztlich ist die Botschaft universell: Matter ist ein spannender Standard, der echte Vorteile für die Smart-Home-Automatisierung bietet. Über Online-Ressourcen gestaltet sich die Geräteentwicklung äußerst einfach.
www.silabs.com
Fordern Sie weitere Informationen an…

