Los dispositivos virtuales Matter son útiles para desarrollar y probar soluciones Matter, y se pueden encargar con Google Home app (GHA) y controlarse 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 tienen los recursos para compilar su propio dispositivo Matter físico o virtual, Google ofrece Matter Virtual Device (MVD). MVD es una herramienta de escritorio independiente y liviana para Linux o macOS que simula diferentes tipos de dispositivos Matter virtuales y proporciona una interfaz de usuario gráfica para controlar y mostrar los estados del dispositivo Matter virtual.
A diferencia de un dispositivo Matter físico, MVD no se basa en Bluetooth® de bajo consumo (BLE) ni en Thread® para unirse a un tejido Matter. En cambio, usa la conexión de red Wi-Fi existente de la máquina Linux o macOS del host para la puesta en marcha.
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. En cambio, VDC se usa para controlar un dispositivo Matter virtual 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, crearás un solo tipo de dispositivo virtual: una bombilla inteligente. En cambio, MVD contiene varios dispositivos virtuales precompilados diferentes y 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
MVD admite los siguientes tipos de dispositivos Matter:
Matter Tipo de dispositivo | Clústeres de aplicaciones | Tipo de ecosistema de la casa |
---|---|---|
Reproductor de video básico |
0x0006 0x0506 0x0509 |
Tv |
Luz de temperatura de color |
0x0300 0x0008 0x0006 |
Ligera |
Sensor de contacto |
0x0045 |
Sensor |
Luz regulable |
0x0008 0x0006 |
Ligera |
Cerradura de la puerta |
0x0101 |
Bloquear |
Luz de color extendida |
0x0300 0x0008 0x0006 |
Ligera |
Ventilador |
0x0202 0x0006 |
Ventilador |
Sensor de flujo |
0x0404 |
Sensor |
Interruptor genérico |
0x003b |
Switch |
Sensor de humedad |
0x0405 |
Sensor |
Sensor de luz |
0x0400 |
Sensor |
Sensor de ocupación |
0x0406 |
Sensor |
Luz de encendido/apagado |
0x0008 0x0006 |
Ligera |
Interruptor de luz de encendido/apagado |
0x0006 |
Switch |
Unidad de enchufe de encendido/apagado |
0x0008 0x0006 |
Outlet |
Sensor de presión |
0x0403 |
Sensor |
Surtidor |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Bomba de agua |
Aspiradora robot |
0x0054 0x0055 0x0061 |
Aspiradora |
Aire acondicionado de la habitación |
0x0006 0x0201 0x0202 |
Ac |
Alarma de humo y monóxido de carbono |
0x005C |
Humo |
Sensor de temperatura |
0x0402 |
Sensor |
Termostato |
0x0201 |
Termostato |
Cortinas y persianas |
0x0102 |
Persianas |
Instala MVD
MVD se ejecuta en máquinas con procesadores x86 de 64 bits que ejecutan Debian (11 o versiones posteriores), Ubuntu (20.04 o versiones posteriores) o macOS.
Linux
Descarga el paquete de MVD Debian (.deb)
Descarga el archivo de firma ASCII protegida (.asc)
Luego, ejecuta dpkg
para instalar el paquete MVD de Debian (.deb):
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
Descarga el archivo dmg de MVD (macOS x86)
Descarga el archivo dmg de MVD (ARM64 M1)
Luego, haz doble clic en el archivo dmg
para abrir la ventana de instalación.
Para completar la instalación, selecciona y arrastra el ícono mvd
a la carpeta Applications
:
Cómo verificar el uso de puertos
El módulo del controlador en MVD usa el puerto TCP 33000 para realizar llamadas RPC al dispositivo virtual, por lo que, si otro proceso de tu computadora ya está usando este puerto, asegúrate de liberarlo.
Para ver si algún proceso usa el puerto 33000, haz lo siguiente:
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
Puedes finalizar cualquier proceso que use el puerto TCP 33000 con un solo comando:
Linux
sudo fuser -k 33000/tcp
macOS
lsof -ti:33000 | xargs kill
Ejecuta MVD
Linux
En Linux, ejecuta MVD desde la carpeta de aplicaciones o desde la terminal:
mvd
macOS
En macOS, usa Launchpad para abrir MVD o ejecuta MVD desde la terminal:
cd /Applications
open mvd.app
Configura tu dispositivo
La pantalla principal aparece cuando se inicia y te permite configurar un dispositivo virtual:
- Tipo de dispositivo: Selecciona el tipo de dispositivo (por ejemplo, luz, interruptor, sensor, etcétera).
- Nombre del dispositivo: Asigna 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 comisionables. (predeterminado:
3840
). - Puerto Matter: Es un puerto para la puesta en marcha y la comunicación de 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 un puerto diferente, siempre que ningún otro servicio lo use.
- ID de proveedor: Solo se admite el ID de proveedor de prueba
0xFFF1
. - ID de producto: Solo se admiten los IDs de productos de prueba del
0x8000
al0x801F
.
Configura tu firewall
Linux
Si tienes un firewall en ejecución en tu computadora, ciérralo o permite las conexiones TCP/UDP entrantes en el puerto Matter.
Para ver las reglas de firewall netfilter activas actuales, ejecuta lo siguiente:
sudo iptables -L -n
Si usas "ufw", puedes inhabilitarlo con el siguiente comando:
sudo ufw disable
Además, se puede volver a habilitar con lo siguiente:
sudo ufw enable
macOS
Para configurar o inhabilitar el firewall en macOS, sigue estos pasos:
- Ve al menú Apple y elige Configuración del sistema.
- Haz clic en Red en la lista de la barra lateral.
- Haz clic en Firewall.
- Desactiva el interruptor de Firewall.
Cómo ejecutar el dispositivo
Una vez que el dispositivo esté configurado, haz clic en Crear dispositivo. Cuando se crea el dispositivo, aparece la pantalla Controlador. Según el tipo de dispositivo que seleccionaste, es posible que veas uno o más de los siguientes controles:
- Activado/desactivado: Es común en la mayoría de los dispositivos.
- Nivel: Por ejemplo, una luz podría 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 ocupado o desocupado.
Todos los dispositivos virtuales tienen los siguientes controles:
- QRCode: Muestra el código QR que se usó para la puesta en marcha.
- Reboot: 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, incluida la comisión, el estado de los controles actuales, etcétera.
- Borrar: Destruye el dispositivo y regresa a la pantalla Crear dispositivo.
Cómo acondicionar tu dispositivo
El dispositivo se puede comisionar en cuanto se crea.
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 de Matter que tenga la misma combinación de VID/PID que la que usaste para configurar tu dispositivo virtual. Consulta la guía de creación de proyectos para obtener más detalles.
Debes tener un Google Nest Hub que admita Matter.
Debes tener un teléfono Android con la versión 8.1 o una posterior, con GHA instalado.
El teléfono Android debe estar conectado a la misma red Wi-Fi que el concentrador.
La máquina host debe estar conectada a la red Wi-Fi.
Para encargar el dispositivo con GHA, haz clic en QRCode para 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 integrar un dispositivo Matter con GHA. También puedes encargar el dispositivo con Google Home Sample App for Matter.
Consulta nuestro Instructivo de Matter para obtener información sobre cómo funciona la comisión de Matter.
Controla el dispositivo
Después de encargar un dispositivo virtual, puedes controlarlo con la app de Google Home o Asistente de Google por voz. Tienes varias opciones:
- Controla el dispositivo a través de GHA o Assistant mientras supervisas los cambios de estado en el dispositivo virtual.
- Controla el dispositivo con Sample App for Matter mientras supervisas los cambios de estado en el dispositivo virtual.
- Controla el estado del dispositivo a través de MVD mientras supervisas los cambios de estado en GHA o Assistant.
Prueba con el dispositivo
Para realizar pruebas con Assistant, te recomendamos que uses un simulador de oraciones, como la extensión de Google Home para VS Code o el complemento de Google Home para Android Studio.
Consulta los detalles del dispositivo
En la pantalla Device detail, se muestra información detallada del dispositivo:
- Nombre: Es el nombre descriptivo que se le asignó al dispositivo.
- Tipo de dispositivo: Es el tipo de dispositivo seleccionado.
- Discriminante: Es el discriminante del dispositivo actual.
- ID del proveedor: Es el ID del proveedor del dispositivo actual.
- ID de producto: Es el ID de producto actual del dispositivo.
- Puerto RPC: Es el puerto RPC con el que el dispositivo se comunica con los controladores (GUI).
- Puerto Matter: Es el puerto que usa el dispositivo actual para comunicarse a través de la red IP.
- Código de acceso: Es el PIN que se usa para poner en servicio el dispositivo a través de la red.
- Carpeta de configuración: Es la carpeta en la que el dispositivo virtual almacena la configuración.
- Información de la comisión: Muestra los tejidos a los que se unió el dispositivo y el ID del nodo del dispositivo en el tejido.
Cómo ver los 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 del dispositivo.
Detén el dispositivo
Para detener y destruir el dispositivo, haz clic en Borrar.
Cómo finalizar la app
Si cierras la ventana de control, se destruirá el dispositivo y se finalizará la aplicación MVD. Si la iniciaste desde la terminal, también puedes escribir Ctrl + C en la terminal para finalizar la aplicación.
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.
Si haces clic en el botón de ayuda
que se encuentra en la esquina superior derecha de la ventana, se te dirigirá a esta página.Informa un error
Si crees que encontraste un defecto en MVD, puedes informar un error haciendo clic en el botón Issue en la esquina superior derecha de la ventana.
Enviar comentarios
Para enviar tus comentarios sobre lo que te gusta de MVD o cómo podemos mejorar tu experiencia con la herramienta, completa nuestro formulario de comentarios.
Puedes iniciar el formulario desde el botón de comentarios
en la esquina superior derecha de la ventana o haciendo clic en el siguiente botón.