Una guida pratica e dettagliata allo sviluppo di dispositivi Matter per l’automazione delle smart home
Non c’è dubbio che Matter si stia rivelando un mezzo molto efficace per collegare le piattaforme di automazione domestica di diversi fornitori, riducendo l’attuale frammentazione tra i vari costruttori di dispositivi IoT. Consentendo ai protocolli wireless esistenti, come Thread, Zigbee e Wi-Fi, di condividere lo stesso livello applicativo, Matter svolge un ruolo fondamentale nella creazione di una comunicazione senza problemi con il cloud, permettendo ai produttori di realizzare dispositivi compatibili con le tecnologie per la smart home e gli assistenti vocali come Amazon Alexa, Apple Siri, Google Assistant e altri ancora.
Una connettività di questo tipo apre interessanti possibilità, sia per gli sviluppatori di dispositivi sia per gli utenti finali. Ad esempio, un nuovo dispositivo Matter può essere controllato e far parte contemporaneamente di più ecosistemi. Una lampadina può collegarsi a sistemi e servizi oramai consolidati come Amazon Alexa, Apple HomeKit e Google Home.
Il commissioning (ovvero la fase in cui un dispositivo viene accoppiato con la rete e configurato per funzionare correttamente all’interno di essa) standardizzato di Bluetooh, inoltre, assicura un’installazione semplice e sicura. Gli utenti possono aggiungere nuovi prodotti di fornitori differenti alla loro rete domestica intelligente senza dover perdere tempo per determinare se potranno funzionare insieme. Con Matter, l’interoperabilità è intrinseca e l’affidabilità che viene garantita può senza dubbio contribuire all’espansione del mercato dell’automazione domestica intelligente.
Matter: i motivi di una scelta e come implementarlo in pratica
Di seguito un’analisi più dettagliata di Matter, necessaria per comprendere il suo ruolo all’interno di una casa connessa. Promosso da CSA (Connectivity Standards Alliance), un consorzio cui aderiscono alcuni dei maggiori protagonisti dell’ecosistema per la smart home, tra cui Amazon, Apple, Google, Comcast, Silicon Labs e numerosi altri, Matter si propone come un approccio unificante e compatibile con dispositivi IoT in grado di assicurare una connettività sicura e affidabile.
Matter supporta sia Wi-Fi sia Thread. In sintesi, questi protocolli forniscono il collegamento tra i dispositivi, mentre Matter rappresenta il linguaggio comune con il quale comunicano tra di loro. Thread, in particolare, si sta affermando come la tecnologia cruciale per collegare a Internet “oggetti” a basso consumo e con ridotta ampiezza di banda ed è opinione abbastanza diffusa che possa rappresentare il futuro delle reti wireless di tipo “mesh” (a maglia).
Matter rappresenta quindi l’elemento trainante della convergenza tra i diversi ecosistemi IoT che si pone l’obiettivo di creare un protocollo wireless comune per collegare tutte le reti e i dispositivi IoT. Finora sono stati spiegati i motivi alla base dello sviluppo di Matter. A questo punto è utile esaminare le modalità di implementazione, un tema particolarmente importante per tutti i progettisti che desiderano maturare esperienze utili per lo sviluppo di dispositivi Matter. La domanda da porsi è come possono perfezionare le loro conoscenze e competenze in modo da accelerare il processo di avvio, realizzazione dei dispositivi e deployment (installazione e messa in esercizio) dei prodotti finali.
Fortunatamente, l’evoluzione dello standard Matter è coincisa con quella delle risorse a disposizione dei progettisti per sviluppare questo processo. Ora è possibile associare kit di avviamento e sviluppo con informazioni, consigli pratici e tutorial che permettono alle aziende di introdurre sul mercato prodotti Matter il più rapidamente possibile. Ciò significa che lo sviluppo di dispositivi Matter non è un processo arduo, difficile o impegnativo ma, al contrario, può risultare istruttivo, gratificante e persino piacevole.
Di seguito viene illustrato un esempio pratico di questo processo, relativo a un’applicazione di illuminazione basata su Matter over Thread. In questo caso, verranno utilizzati dispositivi e software sviluppati da Silicon Labs, anche se tool di supporto analoghi sono disponibili da altri fornitori.
- Uno sguardo alle piattaforme hardware per Matter over Thread
Il punto di partenza è rappresentato dalle schede di sviluppo: nel caso in esame è stato utilizzato il processore multiprotocollo EFR32xG24 che consente lo sviluppo di reti basate su IEEE 802.15.4 come appunto Thread. Esso supporta anche Bluetooth, che viene utilizzato da Matter durante la fase di commissioning. La scheda principale utilizzata per questo progetto è Pro Kit, che consente di utilizzare più schede radio per un’adeguata valutazione. Il vantaggio principale di questa scheda è la disponibilità di funzioni di analisi della potenza e della rete. Essa prevede inoltre un connettore Ethernet che facilita l’esecuzione di test su reti di grandi dimensioni.
E’ altresì disponibile una vasta gamma di kit di sviluppo che possono risultare molto utili per lo sviluppo del progetto. Queste schede di piccole dimensioni sono dotate di sensori come giroscopi e microfoni e risultano quindi particolarmente adatte per una prototipazione rapida delle applicazioni dei dispositivi. Esse prevedono inoltre un connettore a innesto rapido (quick connector) per il collegamento a numerosi dispositivi hardware di terze parti che dispongono dello stesso connettore. Una scheda entry-level, il kit Explorer, è dotata di un paio di pulsanti e LED, ma è comunque possibile espanderne le funzionalità utilizzando il microbus e i connettori a innesto rapido.
- Come aggiungere l’estensione Matter all’IDE Simplicity Studio
Simplicity Studio è l’ambiente di sviluppo unificato per tutte le tecnologie, i SoC e i moduli di Silicon Labs. Una volta configurato e attivato, il primo passo è installare un SDK per i dispositivi con i quali si intende lavorare collegando il dispositivo al PC attraverso un cavo USB e cliccando sul tasto installazione (“Install”) nella barra degli strumenti. L’opzione automatica installerà i package di sviluppo consigliati relativi alla scheda collegata e a questo punto avrà inizio l’installazione dei file dell’SDK necessari. Il supporto per lo sviluppo con Matter viene fornito attraverso un’estensione dell’SDK. Qui è possibile selezionare la scheda (tab) degli SDK e alla voce “Gecko SDK 32 bit and MCU wireless”, cliccare sul tasto di installazione per l’estensione a Matter di Silicon Labs. Una volta installata, è tutto pronto per avviare lo sviluppo di applicazioni Matter. Per creare applicazioni, è possibile selezionare in modo semplice e rapido un dispositivo collegato e accedere a manuali e documentazione di supporto. E’ anche possibile visionare documentazione aggiuntiva nella relativa scheda, mentre accedendo alla scheda “Compatible Tools” è possibile reperire programmi di servizio (utility) utili per poter lavorare con i dispositivi e il codice. Inoltre, nella scheda relativa ai progetti di esempio e dimostrazioni, sono proposti numerosi esempi che permettono di avviare lo sviluppo di un’applicazione.
- Come creare un programma di bootloader Matter over Thread
Prima di realizzare l’applicazione, è necessario creare un bootloader. Nei progetti di esempio delle demo è possibile selezionare l’esempio “Bootloader – SoC internal storage” relativo a un bootloader che utilizza l’archiviazione interna (una singola immagine su un dispositivo da 1 Mbye), che può essere rinominato e completato al fine di creare l’esempio per l’applicazione desiderata. Una volta terminata la creazione del progetto, si accede a una schermata panoramica (perspective, ovvero una raccolta salvata di insiemi di impostazioni che controllano il layout dell’ambiente di sviluppo) dell’IDE Simplicity dove avviene la parte principale del lavoro di sviluppo. Un file “readme” per il progetto verrà aperto automaticamente, così come il file di configurazione del progetto. La pressione del pulsante “Build” avvierà il processo di costruzione dell’applicazione, mentre una console visualizzerà i progressi. Se al termine del processo si verificheranno problemi, i dettagli saranno visualizzati nella relativa scheda (“Problem tab”). Una volta terminate la fase di “build”, è possibile caricare il file binario nella Flash del dispositivo connesso. Per i file binari sono previsti diversi formati. In questo caso è stato scelto un file binario .S37. Con una selezione tramite click viene effettuata la scelta di un dispositivo Flash per aprire il relativo programmatore. Poiché si tratta di un nuovo progetto con un nuovo bootloader, una volta programmato quest’ultimo, è possibile cancellare l’intero chip utilizzando il pulsante di cancellazione (erase). Una volta terminato, è necessario verificare che il file binario e la scheda siano quelli desiderati e cliccare su “Program” per trasferire il file binario del bootloader nella scheda Pro Kit.
- Come creare l’applicazione di illuminazione con Matter over Thread
Una volta installato il bootloader, è possibile creare progetti Matter. Ritornando quindi alla panoramica (perspective) di avvio, con le schede selezionate nella schermata ”Debug Adapter” presente nella scheda progetti di esempio e demo, risulta semplice effettuare un filtraggio per arrivare alle demo relative a Matter per creare un dispositivo funzionante. In questo caso di prenderà in considerazione la demo denominata ”Matter – SoC Lighing over Thread”. Per le demo, cliccando sul pulsante di avvio (Run) verrà effettuata la programmazione del file binario pre-integrato nella scheda collegata. Per creare un progetto, invece, gli esempi privi dell’indicatore della demo genereranno un progetto con codice sorgente che in seguito sarà possibile modificare e adattare alle specifiche esigenze. Per il progetto generato, il file di configurazione viene aperto nella schermata panoramica dell’IDE Simplicity, così come il file “readme” del progetto. Questo contiene informazioni utili, come il funzionamento del progetto su varie schede e i link a documentazione aggiuntiva. Simplicity Studio mette inoltre a disposizione numerose funzionalità che consentono di risparmiare tempo e rappresentano un valido ausilio in fase di sviluppo.
Ad esempio, è disponibile un configuratore di cluser Zigbee che consente di impostare il modello di dati che viene utilizzato per definire la modalità di funzionamento del dispositivo. Il cluster on-off controlla la luce inviando comandi che gestiscono l’attributo (ovvero il dato scambiato) on-off e, di conseguenza, accendono o spengono la luce. Se si stanno sviluppando differenti tipi di dispositivi, qui è possibile configurare i cluster e gli attributi di cui il dispositivo ha bisogno per poter funzionare. Esiste anche il configuratore del profilo GATT (Generic Attribute) di Bluetooth, che definisce i servizi e le caratteristiche Bluetooth presenti nella sezione Bluetooth del dispositivo. Esiste anche un’ampia gamma di componenti e driver che possono essere utilizzati per configurare i sensori sulla scheda oppure i pulsanti e i LED. Solitamente sono sufficienti un paio di clic per aggiungere il supporto per la funzione e configurare i pin utilizzati. I componenti software che forniscono il codice per gestire le periferiche e configurare i pin hardware necessari durante lo sviluppo consentono di risparmiare tempo prezioso. Arrivati a questo punto, è possibile realizzare il progetto adottando il medesimo processo impiego per il bootloader. Nel momento in cui il bootloader e il file binario per Matter sono stati programmati nel dispositivo, il LED zero lampeggerà occasionalmente, indicando che il dispositivo sta comunicando tramite Bluetooth, alla ricerca di una rete a cui unirsi. Nel caso della scheda Pro Kit, sul display LCD viene visualizzato un codice QR. Questo può essere usato per il commissioning del dispositivo in una rete, che viene eseguita mediante una scansione del codice QR.
Un supporto completo per Matter
In questo articolo è stata spiegata la modalità da seguire per sviluppare un’applicazione di illuminazione basata su Matter over Thread. Una guida rapida per l’intero processo è disponibile online, oltre a video che mostrano come effettuare il commissioning di un dispositivo di illuminazione. Il primo mostra come configurare una scheda Raspberry Pi come OTBR (OpenThread Border Router). Una configurazione di questo tipo è molto utile in fase di sviluppo in quanto consente un controllo completo della rete e dei suoi dispositivi. Il secondo video mostra come eseguire il commissioning di un dispositivo dal punto di vista dell’utente finale, inserendolo in una rete formata da un hub Google Home Nest.
Come già accennato, altre risorse sono disponibili da svariati fornitori di hardware e software. Ma, in ultima analisi, Matter è uno standard realmente innovativo in grado di assicurare notevoli vantaggi nel settore dell’automazione domestica intelligente. Senza dimenticare che, grazie alle risorse disponibili online, per i progettisti l’avvio della fase di sviluppo non è mai stato così semplice.
Martin Looker – Applications Training Manager (Silicon Labs)
Contenuti correlati
-
I nuovi moduli Wi-Fi 6 e Bluetooth LE 5.4 di Silicon Labs
Silicon Labs ha comunicato la disponibilità dei moduli SiWx917Y Wi-Fi 6 e Bluetooth Low Energy (LE) 5.4 a bassissimo consumo. Questi dispositivi sono caratterizzati da un’elevata efficienza energetica, una connettività wireless affidabile, prevedono funzionalità di sicurezza avanzate...
-
La piattaforma Serie 3 di Silicon Labs
Il CEO di Silicon Labs, Matt Johnson, e il CTO Daniel Cooley hanno delineato, in occasione del keynote di apertura della manifestazione embedded world North America, il ruolo dell’AI nell’evoluzione del mondo IoT e hanno fornito le...
-
I Soc wireless di Silicon Labs con funzionalità di energy harvesting
Silicon Labs ha realizzato la nuova famiglia di SoC wireless xG22E, espressamente concepita per operare con consumi ridottissimi, come richiesto dalle applicazioni di energy harvesting che non prevedono l’uso di batterie. La nuova linea è composta dai...
-
Matter: un protocollo sempre più accessibile grazie alla collaborazione tra Arduino e Silicon Labs
Arduino e Silicon Labs (NASDAQ: SLAB) hanno recentemente annunciato un nuovo accordo di collaborazione il cui obiettivo è rivoluzionare l’accesso a Matter, il protocollo di connettività open source promosso da CSA (Connectivity Standard Alliance). Si tratta di...
-
SoC wireless per dispositivi medicali connessi
La famiglia di dispositivi wireless sicuri e a basso consumo di Silicon Labs, come quelli della serie BG27, grazie alle loro caratteristiche rappresentano la soluzione ideale per applicazioni IoMT (Internet of Medical Things) Leggi l’articolo completo su...
-
Partnership tra Silicon Labs e Arduino
Silicon Labs ha annunciato di aver siglato un nuovo accordo di collaborazione con Arduino, con l’obiettivo di semplificare lo sviluppo di applicazioni Matter over Thread per la community di Arduino. Realizzate in collaborazione con Silicon Labs, le...
-
Silicon Labs ha presentato il SoC dual band FG28 con AI
Il nuovo SoC dual-band FG28 di Silicon Labs è stato progettato per reti e protocolli a lungo raggio come Amazon Sidewalk, Wi-SUN e altri protocolli proprietari. Si tratta di un componente che integra le interfacce radio sub-Gigahertz...
-
Silicon Labs supporta il driver della Click Board MIKROE mikroSDK 2.0
MikroElektronika (MIKROE) ha annunciato che Silicon Labs è il primo produttore a supportare i driver mikroSDK 2.0 Click grazie all’aggiunta di un’estensione hardware per il driver (plugin) a MIKROE Gecko SDK, ora disponibile nell’ambiente di sviluppo integrato...
-
Soluzioni IoT per il monitoraggio dell’energia
L’IoT favorisce l’automazione dei processi e l’efficienza operativa in molti settori industriali quali sanità, vendita al dettaglio, produzione, energia e logistica. Le applicazioni IoT nel settore dell’energia sono oggetto di particolare attenzione da parte di consumatori e aziende,...
-
I primi passi con TinyML: i kit di valutazione (3a parte)
In questo ultimo articolo della serie dedicata a TinyML verranno illustrate le caratteristiche di alcuni tra i numerosi kit di valutazione disponibili che consentiranno di iniziare a sviluppare la prima applicazione di apprendimento automatico basata su un...