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.
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)