Los dispositivos virtuales Matter son útiles para desarrollar y probar soluciones de Matter, se pueden poner en marcha con Google Home app (GHA) y se pueden controlar con GHA y Google Assistant, al igual que los dispositivos Matter físicos.
Para los desarrolladores de apps y otras personas que necesiten probar o emular un dispositivo Matter virtual, pero no tengan los recursos para compilar su propio dispositivo Matter físico o virtual, Google ofrece Matter Virtual Device (MVD). MVD es una herramienta de escritorio Linux independiente y liviana que simula diferentes tipos de dispositivos virtuales Matter y proporciona una interfaz gráfica de usuario para controlar y mostrar los estados del dispositivo virtual Matter.
A diferencia de un dispositivo físico Matter, MVD no depende de Bluetooth® de bajo consumo (BLE) ni de Thread® para unirse a una tela Matter. En cambio, usa la conexión de red Wi-Fi existente de la máquina Linux del host para la asignación.
En comparación con otras herramientas
MVD difiere de Virtual Device Controller (VDC) en que es una solución independiente que combina un dispositivo virtual con una IU para controlarlo. Por el contrario, se usa VDC para controlar un dispositivo virtual Matter independiente, como el que compilamos en Matter Virtual Device Development Environment (MVD-DE).
Es posible que ya hayas trabajado con el codelab de MVD-DE. En este codelab, compilarás un solo tipo de dispositivo virtual: una bombilla inteligente. Por el contrario, MVD contiene varios dispositivos virtuales compilados previamente, además de una IU integrada para ejecutarlos y controlarlos.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Cómo emular un dispositivo Matter | |||
Cómo controlar un dispositivo Matter emulado | |||
Esfuerzo de desarrollo requerido | |||
Descargar | menos de 100 MB | 9 GB | 20 GB |
Dispositivos compatibles
Actualmente, MVD admite los siguientes tipos de dispositivos Matter:
Tipo de dispositivo Matter | Clústeres de aplicaciones | Tipo de ecosistema de Home |
---|---|---|
Luz de temperatura de color |
0x0300 0x0008 0x0006 |
Ligera |
Luz regulable |
0x0008 0.0006 |
Ligera |
Color extendido |
0x0300 0x0008 0x0006 |
Ligera |
Sensor de ocupación |
0x0406 |
Sensor |
Luz de encendido/apagado |
0x0008 0.0006 |
Ligera |
Unidad de encendido/apagado |
0x0008 0.0006 |
Tomacorriente |
Instalar MVD
MVD se ejecuta en máquinas con procesadores x86 de 64 bits y versiones de Debian (11 o versiones posteriores) o Ubuntu (20.04 o versiones posteriores).
Para instalarlo, sigue estos pasos:
Descargar el paquete MVD Debian (.deb)
Descarga el archivo de firma ASCII (.asc) blindado
Luego, ejecuta dpkg
para instalar el paquete MVD de Debian (.deb):
sudo dpkg -i mvd_1.1.0_amd64.deb
Verifica el uso de puertos
El módulo del controlador en MVD usa el puerto TCP 33000 para realizar llamadas RPC al dispositivo virtual, así que si otro puerto ya usa este puerto en tu computadora, asegúrate de liberarlo.
Para ver si algún proceso usa el puerto 33000, haz lo siguiente:
sudo fuser -v 33000/tcp
Puedes finalizar cualquier proceso mediante el puerto TCP 33000 con un solo comando:
sudo fuser -k 33000/tcp
Ejecutar MVD
Ejecuta MVD desde la carpeta de tus aplicaciones o desde la terminal:
mvd
Configura tu dispositivo
La pantalla principal aparece después del inicio y te permite configurar un dispositivo virtual:
- Device Type: Selecciona el tipo de dispositivo (por ejemplo, Light, Switch, Sensor, etc.).
- Nombre del dispositivo: Asigne un nombre fácil de usar al dispositivo.
- Discriminador: Es un número de 12 bits que se usa para distinguir entre varios anuncios de dispositivos que admiten comisiones. (Predeterminado:
3840
). - Puerto Matter: Un puerto para las comisiones y la comunicación Matter a través de redes IP. Matter usa el puerto TCP/UDP 5540 de forma predeterminada, pero puedes configurar el dispositivo virtual para que use otro puerto, siempre y cuando no lo use ningún otro servicio.
- ID del proveedor: Actualmente, solo se admite el ID del proveedor de prueba
0xFFF1
. - ID del producto: Actualmente, solo se admiten ID del producto de
0x8000
a0x801F
.
Configura tu firewall
Si tienes un firewall en ejecución en el equipo, apágalo o permite las conexiones TCP/UDP entrantes en el puerto Matter.
Para ver las reglas de firewall activas actuales de netfilter, ejecuta
sudo iptables -L -n
.
Nota: Si usas ufw
, se puede inhabilitar con:
sudo ufw disable
y se puede volver a habilitar con:
sudo ufw enable
Ejecuta el dispositivo
Después de configurar el dispositivo, haz clic en Crear dispositivo. Cuando se crea el dispositivo, aparece la pantalla Controller. Según el tipo de dispositivo que selecciones, es posible que veas uno o más de los siguientes controles:
- Activado/Desactivado: común para la mayoría de los dispositivos.
- Nivel: Por ejemplo, una luz puede tener un control deslizante de nivel para ajustar el brillo.
- Color: Por ejemplo, una luz de color podría tener este control.
- Ocupación: El sensor de ocupación ofrece este control para simular el estado de ocupación o desocupado.
Todos los dispositivos virtuales tienen los siguientes controles:
- QRCode: Muestra el código QR que se usó para la puesta en marcha.
- Restart: Reinicia el dispositivo virtual. El dispositivo se desconecta brevemente de la red.
- Restablecer: Restablece la configuración de fábrica del dispositivo actual y borra todo el estado, lo que incluye el encargo, los controles actuales, etcétera.
- Borrar: Destruye el dispositivo y vuelve a la pantalla Crear dispositivo.
Pon en marcha el dispositivo
El dispositivo se podrá comisión apenas se cree.
Existen algunos requisitos previos para la puesta en marcha del dispositivo:
Debes tener un proyecto en Google Home Developer Console. Este proyecto debe contener una integración Matter que tenga la misma combinación de VID/PID que usaste para configurar el dispositivo virtual. Consulta la guía de creación de proyectos para obtener más detalles.
Debes tener un Google Nest Hub compatible con Matter
Debes tener un teléfono Android con Android 8.1 o una versión posterior y GHA instalado.
El teléfono Android debe estar conectado a la misma red Wi-Fi que el concentrador.
La máquina anfitrión debe estar conectada a la red Wi-Fi.
Para encargar el dispositivo mediante GHA, haz clic en QRCode a fin de mostrar el código QR del dispositivo y, luego, sigue las instrucciones que se indican en Cómo vincular un dispositivo Matter, en las que se explica cómo incorporar un dispositivo Matter con GHA. También puedes asignar el dispositivo mediante Google Home Sample App for Matter.
Consulta nuestro Primer Matter para obtener información sobre cómo funciona la asignación de Matter.
Controla el dispositivo
Después de encargar un dispositivo virtual, puedes controlar el dispositivo con la app de Google Home o Asistente de Google por voz. Tienes varias opciones:
- Controla el dispositivo mediante GHA o Assistant mientras se supervisan los cambios de estado en el dispositivo virtual.
- Controla el dispositivo mediante Sample App for Matter mientras supervisas los cambios de estado en el dispositivo virtual.
- Controla el estado del dispositivo a través de MVD y supervisa los cambios de estado en GHA o Assistant.
Realiza pruebas con el dispositivo
Para probar con Assistant, te recomendamos que uses un simulador de declaración, como Google Home Extension para VS Code o el Complemento de Google Home para Android Studio.
Ver detalles del dispositivo
La pantalla Device details muestra información detallada del dispositivo:
- Nombre: Es el nombre descriptivo del dispositivo.
- Tipo de dispositivo: Es el tipo de dispositivo seleccionado.
- Discriminador: Es el discriminante actual de los dispositivos.
- ID de proveedor: Es el ID de proveedor del dispositivo actual.
- ID del producto: El ID del producto actual del dispositivo.
- Puerto de RPC: Es el puerto RPC que el dispositivo comunica con los controladores (GUI).
- Puerto Matter: Es el puerto que usa el dispositivo actual para comunicarse a través de la red IP.
- Pass Pass: Es el PIN que se usa para poner en marcha el dispositivo a través de la red.
- Configuration Folder: Es la carpeta en la que se almacena la configuración del dispositivo virtual.
- Información de la comisión: Muestra las telas a las que se unió el dispositivo y el ID de nodo del dispositivo en la estructura
Ver registros del dispositivo
Si iniciaste MVD desde la terminal, el resultado del registro aparecerá en stdout
.
También puedes ver los registros del dispositivo en la pestaña Registros de dispositivos.
Detener el dispositivo
Para detener y destruir el dispositivo, haz clic en Borrar.
Cierra la app
Si cierras la ventana de control, se destruirá el dispositivo y se cerrará la aplicación de MVD. Si iniciaste desde la terminal, también puedes finalizar la aplicación escribiendo Ctrl-C en la terminal.
Obtener ayuda
Para obtener ayuda con MVD, informar un error o solicitar una función nueva, comunícate con tu contacto de Atención al cliente de Google.
Para ir a esta página, haz clic en el botón de ayuda
en la esquina superior derecha de la ventana.Informa un error
Si crees que encontraste un defecto en MVD, puedes informarlo mediante un clic en el botón (Problema) en la esquina superior derecha de la ventana.
Enviar comentarios
Completa nuestro formulario de comentarios para enviar tus comentarios sobre lo que te gusta de MVD o cómo podemos mejorar tu experiencia con la herramienta.
El formulario se puede iniciar desde el botón de comentarios
en la esquina superior derecha de la ventana o con un clic en el botón a continuación.