Inicio Artículos Matter en la práctica: guía paso a paso para desarrollar dispositivos Matter...

Matter en la práctica: guía paso a paso para desarrollar dispositivos Matter destinados a automatización de hogares inteligentes mediante un ejemplo de iluminación con Thread

Matter en la práctica

Autor: Martin Looker, Applications Training Manager, Silicon Labs

No cabe duda de que Matter se ha convertido en un medio muy efectivo para conectar las plataformas de automatización del hogar de diferentes proveedores, reduciendo así la fragmentación entre suministradores de dispositivos IoT. Al permitir que los protocolos inalámbricos existentes, como Thread, Zigbee y Wi-Fi, compartan la misma capa de aplicación, Matter desempeña un papel primordial para crear una comunicación fluida con la nube, logrando de este modo que los fabricantes dispongan de dispositivos compatibles con las tecnologías de hogar y voz inteligente como Amazon Alexa, Apple Siri y Google Assistant, entre otros.

Esta conectividad ofrece algunas posibilidades muy atractivas, tanto para desarrolladores de dispositivos como para usuarios. Por ejemplo, se puede controlar un nuevo dispositivo Matter que forme parte de varios ecosistemas simultáneamente: una bombilla se puede conectar a sistemas y servicios tan consolidados como Amazon Alexa, Apple HomeKit y Google Home.

La puesta en marcha estandarizada de Bluetooth, incluida la autentificación del dispositivo, también ofrece una instalación segura y sencilla. Los usuarios finales pueden añadir nuevos productos y marcas a su red doméstica inteligente sin destinar mucho tiempo a averiguar si serán compatibles entre sí. Con Matter, la interoperabilidad viene incluida y esa fiabilidad puede ser muy positiva para el mercado de la automatización de hogares inteligentes.

De “por qué” a “cómo”

Veamos Matter con más detalle para comprender su papel en el hogar conectado. La iniciativa fue lanzada por la CSA (Connectivity Standards Alliance) como un estándar colaborativo dentro del sector en la que participaron algunos de los principales nombres del ecosistema del hogar inteligente, como Amazon, Apple, Google, Comcast, Silicon Labs y muchos otros. CSA señala que Matter ofrece un enfoque unificador del sector y compatible con IoT hacia una conectividad fiable y segura.

Matter admite Wi-Fi y Thread; es decir, estos protocolos proporcionan la conexión entre dispositivos, mientras que Matter es el lenguaje común que hablan. Thread, en concreto, se ha convertido en una tecnología fundamental para conectar “cosas” de bajo consumo y bajo ancho de banda a internet, y es considerado por muchos como el futuro de las redes mesh inalámbricas.

Por tanto, Matter está impulsando la convergencia entre ecosistemas IoT para crear un solo protocolo inalámbrico común que conecte todos los dispositivos y redes IoT. Pero esta capacidad solo explica las razones del desarrollo de Matter. La siguiente pregunta es “cómo, sobre todo para los ingenieros que traten de adquirir experiencia en el desarrollo de dispositivos Matter. ¿Cómo pueden mejorar sus conocimientos y habilidades, acelerando al mismo tiempo el proceso de aprendizaje, la creación de dispositivos y la comercialización de productos finales?

Afortunadamente, mientras evolucionaba el estándar Matter lo han hecho también los recursos a disposición de los ingenieros. Así, ahora es posible coordinar los kits de introducción y desarrollo de Matter con la información práctica y los tutoriales, lo cual ayuda a las empresas a comercializar lo más rápidamente posible sus productos Matter. Esto significa que el desarrollo de Matter no tiene por qué ser excesivamente complicado o exigente. Todo lo contrario: en realidad puede ser educativo, satisfactorio y divertido.

Matter 2300

Veamos en qué consiste el proceso para una tarea concreta; en este caso, la iluminación basada en Matter sobre Thread. Para ello utilizaremos hardware y software de Silicon Labs, si bien existen otras herramientas similares de otros fabricantes.

  1. Plataformas de hardware para Matter sobre Thread

Las tarjetas de desarrollo son el punto de partida; en este caso, un procesador multiprotocolo EFR32xG24 de Silicon Labs que permite el desarrollo de redes basadas en
IEEE 802.15.4 como Thread. También es compatible con Bluetooth, que se utilizado por Matter durante la puesta en marcha. La tarjeta principal para esta tarea será la Pro Kit, que ofrece la posibilidad de conectar y desconectar diferentes tarjetas de radio con el fin de evaluar los dispositivos. La mayor ventaja es que mejora las funciones de análisis del consumo y la red. También incorpora un conector Ethernet que facilita una amplia comprobación de la red.

También existe toda una gama de tarjetas de desarrollo que serían de ayuda para esta tarea. Estas pequeñas tarjetas incorporan sensores como giroscopios y micrófonos, por lo que resultan muy adecuadas para el desarrollo rápido de prototipos destinados a aplicaciones de dispositivos. También cuenta con un conector rápido para numerosos dispositivos de hardware de terceros con el mismo conector. Una tarjeta básica, el kit Explorer, tiene un par de botones y LED pero aún permite ampliar su capacidad por medio del microbus y los conectores rápidos.

  1. Cómo añadir una extensión Matter al entorno Simplicity Studio

Simplicity Studio es el entorno de desarrollo unificado para todas las tecnologías, SoC y módulos de Silicon Labs. Una vez configurado y activado, el primer paso consiste en instalar un SDK para los dispositivos con los que se desee trabajar, conectado para ello el dispositivo al PC mediante un cable USB y pulsando el botón de instalación en la barra de herramientas. La opción auto instalará los paquetes de desarrollo recomendados para la tarjeta conectada y a continuación se iniciará la instalación de los archivos necesarios del SDK. El soporte para el desarrollo de Matter se consigue por medio de una extensión del SDK. Para ello se puede seleccionar la pestaña de SDK y, dentro de los microcontroladores Gecko SDK de 32 bits e inalámbricos, pulsar el botón Instal para la extensión Matter de Silicon Labs. Una vez instalada ya podrá empezar a crear aplicaciones para Matter.

Para crear aplicaciones resulta rápido y sencillo seleccionar un dispositivo conectado, así como acceder a manuales y documentación de soporte. También se puede ver documentación adicional en la pestaña de documentación, y las herramientas compatibles proporcionan recursos útiles para trabajar con dispositivos y código. La pestaña de ejemplos de proyectos y demostraciones también ofrece muchos ejemplos para empezar una aplicación.

  1. Cómo crear una aplicación de cargador de arranque para Matter sobre Thread

Antes de desarrollar la aplicación es necesario crear un cargador de arranque. En los ejemplos de proyectos de las demostraciones se puede encontrar un SOC cargador de arranque que almacena internamente una sola imagen en un ejemplo de dispositivo de un megabyte. Se le puede asignar un nombre y finalizar para crear un ejemplo en su aplicación.

Una vez terminada la creación del proyecto, el usuario es llevado a la perspectiva de Simplicity IDE, donde se realiza la mayor parte del trabajo de desarrollo. Se abrirá automáticamente un archivo del tipo readme para el proyecto, así como el archivo de configuración del proyecto. Al pulsar el botón Build se inicia el proceso de desarrollo de la aplicación y una consola mostrará su avance. Si surge algún problema cuando esté terminada, los detalles se mostrarán en la pestaña Problems.

Una vez desarrollado, el archivo binario se puede grabar en el dispositivo conectado. Los archivos binarios pueden ser de varios formatos; para esta tarea se seleccionó .S37. Pulsando y seleccionando se puede escoger un dispositivo Flash para abrir el programador Flash. Al tratarse de un nuevo proyecto con un nuevo cargador de arranque, al programar el cargador de arranque se puede borrar todo el chip mediante el botón de borrado. Tras hacerlo, compruebe que el archivo binario y la tarjeta son las que desea y pulse sobre el programa para transferir el código binario del cargador de arranque a la tarjeta Pro Kit.

  1. Cómo crear la aplicación de ejemplo de iluminación con Matter sobre Thread

Una vez instalado el cargador de arranque ya se pueden crear proyectos con Matter. Por tanto, volviendo al lanzamiento, y con las tarjetas seleccionadas en los adaptadores de depuración de la pestaña de ejemplos de proyectos y demostraciones, resulta sencillo filtrar los ejemplos y demostraciones de Matter para crear un dispositivo funcional. Por tanto aquí estaría la iluminación con el SoC (system-on-chip) Matter a través de la demostración Thread. Para las demostraciones, pulsar el botón Run programará el archivo binario previamente creado en la tarjeta conectada. Sin embargo, para crear un proyecto, los ejemplos sin el indicador de demostración crearán un proyecto con código fuente que más tarde se puede editar y adaptar según las necesidades.

Para el proyecto creado, se abre el archivo de configuración bajo la perspectiva de Simplicity IDE, así como el archivo readme para el proyecto. Este archivo tiene información útil, como la manera de ejecutar el proyecto en varias tarjetas y enlaces a documentación adicional. También tiene muchas funciones que ahorran tiempo en Simplicity Studio y facilitan el desarrollo.

Hay, por ejemplo, un configurador de cluster Zigbee que permite establecer el modelo de datos que define la manera de funcionar del dispositivo. El cluster de encendido-apagado controla la iluminación enviando comandos que manipulan el atributo de encendido-apagado y, por tanto, encienden y apagan la iluminación. Si está desarrollando diferentes tipos de dispositivos, es aquí donde configurará los clusters y los atributos que necesita su dispositivo para funcionar. También hay un configurador de Bluetooth GATT y, de nuevo, esto define los servicios y las características de Bluetooth presentes en la parte Bluetooth del dispositivo.

También se puede utilizar una gran variedad de componentes y drivers para configurar los sensores en la tarjeta o botones y LED. Generalmente hacen falta un par de clics para añadir soporte a la función y configurar las patillas utilizadas. Los componentes de software son excelentes para ahorrar tiempo y proporcionar código para manejar los periféricos y configurar las patillas de hardware necesarias durante el desarrollo.

A partir de aquí, el proyecto se desarrollaría utilizando el mismo proceso que con el cargador de arranque. Tras programar el cargador de arranque y el archivo binario de Matter en el dispositivo, el LED cero parpadeará de vez en cuando para indicar que se está comunicando por Bluetooth en busca de una red a la que unirse. En el caso de la tarjeta Pro Kit se mostraría un código QR en la pantalla LCD. La lectura de este código QR se puede utilizar para añadir un dispositivo a una red.

Silicon Labs Matter

Soporte total para Matter ya disponible

Por tanto, así se desarrolla una aplicación de iluminación con Matter sobre Thread. Este proceso, de principio a fin, está disponible en línea a través de una guía paso a paso de inicio rápido. Otros vídeos explican cómo poner en marcha la iluminación. El primero indica cómo configurar una Raspberry Pi como router OpenThread Border. Esta configuración en concreto resulta muy útil durante el desarrollo al proporcionar un control total de la red y sus dispositivos. El segundo vídeo explica cómo poner en marcha un dispositivo desde el punto de vista del usuario, añadiendo un dispositivo a una red con un Nest Hub de Google Home.

Como se ha señalado antes, varios proveedores de hardware y software suministran otros recursos, pero en definitiva el mensaje es universal: Matter es un estándar apasionante que ofrece el potencial de una ventaja real para la automatización de hogares inteligentes. Además facilita a los ingenieros el desarrollo del dispositivo por medio de recursos en línea.