Uniones canónicas Alianza de estándares de conexión Liderando Linux en Smart Home el año pasado. Los estándares de la materia son nuestro enfoque particular. Su diseño seguro y su ecosistema abierto encajan bien con los propios valores de seguridad y apertura de Ubuntu.
Ubuntu Core y Matter son un dúo poderoso. La contenedorización de Ubuntu Core lo convierte en un sistema operativo altamente seguro que combina bien con protocolos altamente seguros. Sus funciones de actualización y administración de dispositivos proporcionan la pieza faltante que el estándar Matter dejó para que los fabricantes de dispositivos la implementaran.
Desde que nos unimos al consorcio, hemos estado trabajando para admitir el estándar Matter en Ubuntu y Ubuntu Core. Como parte de este trabajo, creamos un conjunto de instantáneas de referencia que permiten la creación de estructuras Matter que se ejecutan completamente en Ubuntu.
Este blog es una guía práctica para crear una estructura Matter que se ejecuta completamente en un dispositivo Ubuntu.En él, describimos cómo configurar un dispositivo final simple (en este caso, una luz) y luego usar nuestras herramientas para depurarlo y controlarlo. instantánea del controlador.
Tabla de Contenidos
hardware
En esta guía utilizamos el siguiente hardware:
- PC con Ubuntu 22.04
- Raspberry Pi 4B con Ubuntu 22.04 de 64 bits
- Un LED de 10mm 3v
Como estamos usando un LED grande de 3v, podemos conectarlo directamente al GPIO. Conectamos el LED a GPIO 4 (pin 7) y GND (pin 9). Obtenga más información sobre los pinouts de Raspberry Pi.
Instalar
En esta sección, instalaremos una aplicación Matter que convierte la Raspberry Pi en un dispositivo de iluminación Matter.usaremos materia-pi-gpio-comandante snap, que contiene una aplicación de iluminación construida sobre Matter SDK.
SSH en la Raspberry Pi e instale el complemento:
sudo snap install matter-pi-gpio-commander --beta
Establezca GPIO en 4:
sudo snap set matter-pi-gpio-commander gpio=4
lee el manual Para otras configuraciones posibles, como cambiar la contraseña predeterminada (es decir, 20202021).
Otorgue acceso de instantánea a la memoria GPIO requerida por la aplicación:
sudo snap connect matter-pi-gpio-commander:gpio-memory-control
La aplicación está casi lista para lanzarse y unirse a la red Matter. Pero antes de hacer eso, es mejor probarlo localmente para ver si podemos controlar el GPIO desde la aplicación:
sudo matter-pi-gpio-commander.test-blink
Compruebe los registros y los LED. Si no hay errores y el LED parpadea cada medio segundo, ¡podemos continuar!
Antes de iniciar la aplicación, también le damos permiso para que se registre con DNS-SD para que pueda ser descubierta más tarde:
sudo snap connect matter-pi-gpio-commander:avahi-control
Ahora, iniciemos el servicio de la aplicación:
sudo snap start matter-pi-gpio-commander
Puede monitorear los registros con:
sudo snap logs -n 100 -f matter-pi-gpio-commander
Deje que se ejecute en la ventana de terminal dedicada que depuramos y controlamos la aplicación en la siguiente sección.
depuración
Ahora que nuestra aplicación se está ejecutando, podemos pasar a depurarla usando el controlador Matter.
usaremos herramienta de chip snap es un controlador CLI.
Instale el controlador en la PC:
sudo snap install chip-tool --beta
Suponiendo que Pi y la PC estén conectadas a la misma red, deberíamos poder descubrir su dirección IP a través de DNS-SD para depurar el dispositivo. De esta forma no tenemos que introducir manualmente la dirección IP.
Primero, otorgue el acceso necesario a la herramienta de chip para descubrir servicios a través de DNS-SD:
sudo snap connect chip-tool:avahi-observe
Estamos listos para emparejar:
sudo chip-tool pairing onnetwork 104 20202021
Dónde:
110
es el ID de nodo asignado al dispositivo20202021
es la contraseña predeterminada
Si esto no funciona, es probable que esté tardando demasiado en llegar a este punto y que el dispositivo haya dejado de escuchar las solicitudes de depuración.Intenta reiniciarlo en el Pi sudo snap restart matter-pi-gpio-commander
.
control
Hay varias formas de controlar el dispositivo.este toggle
Los comandos son sin estado y los más simples.
sudo chip-tool onoff toggle 110 1
Es posible que deba enviar este comando varias veces para sincronizar los estados de salida de GPIO (consulte Pregunta #14).
Hasta ahora, ha creado un controlador de materia y un dispositivo final completamente en contenedores. Para adaptar estas instantáneas de referencia a sus propósitos, no dude en consultar el código fuente vinculado a continuación. Para obtener más información sobre el enfoque de Canonical para la tecnología del hogar inteligente, visite nuestro sitio web o comuníquese con nosotros.
Para más aclaraciones y problemas de informes: