Importa el dispositivo virtual

Matter SDK del dispositivo

Los dispositivos virtuales Matter son útiles para desarrollar y probar soluciones de Matter, y se pueden poner en marcha con Google Home app (GHA) y controlarse con GHA y Google Assistant, al igual que con dispositivos Matter físicos.

Para los desarrolladores de apps y otros usuarios que necesitan 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 ligera de Linux o macOS que simula diferentes tipos de dispositivos Matter virtuales y proporciona una interfaz gráfica de usuario para controlar y mostrar los estados del dispositivo Matter virtual.

A diferencia de un dispositivo Matter físico, MVD no depende de Bluetooth® de bajo consumo (BLE) ni de Thread® para unirse a un tejido Matter. En su lugar, usa la conexión de red Wi-Fi existente de la máquina anfitrión Linux o macOS para la puesta en servicio.

En comparación con otras herramientas

La diferencia entre MVD y Virtual Device Controller (VDC) es que es una solución independiente que combina un dispositivo virtual con una IU para controlarlo. Por el contrario, 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 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 diferentes y, además, incluye una IU integrada para ejecutarlos y controlarlos.

Tabla: Comparación de herramientas de dispositivos Matter virtuales
MVD VDC MVD-DE (Codelab)
Emula 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:

Tabla: Tipos de dispositivos Matter compatibles con MVD
Matter Tipo de dispositivo Clústeres de aplicaciones Tipo de ecosistema para la casa
Reproductor de video básico 0x0006
0x0506
0x0509
TV
Temperatura de color: Luz 0x0300
0x0008
0x0006
Ligera
Sensor de contacto 0x0045
Sensor
Luz regulable 0x0008
0x0006
Ligera
Cerradura 0x0101
Bloquear
Color extendido: claro 0x0300
0x0008
0x0006
Ligera
Ventilador 0x0202
0x0006
Ventilador
Sensor de flujo 0 × 0404
Sensor
Interruptor genérico 0x003b
Switch
Sensor de humedad 0 × 0405
Sensor
Sensor de luz 0 × 0,400
Sensor
Sensor de ocupación 0 × 0406
Sensor
Luz de encendido/apagado 0x0008
0x0006
Ligera
Interruptor de luz de encendido/apagado 0x0006
Switch
Unidad de complemento de encendido/apagado 0x0008
0x0006
Punto de salida
Sensor de presión 0 × 0403
Sensor
Surtidor 0x0006
0x0200
0x0402
0x0403
0x0404
N/A
Aspiradora robot 0x0054
0x0055
0x0061
Aspiradora
Aire acondicionado para habitaciones 0x0006
0x0201
0x0202
Ac
Alarma de humo y monóxido de carbono 0x005C
Humo
Alarma de humo y monóxido de carbono 0x005C
Humo
Sensor de temperatura 0 × 0402
Sensor
Termostato 0 × 0201
Termostato
Cubierta de ventanas 0x0102
Persianas

Instalar MVD

MVD se ejecuta en máquinas procesadoras x86 de 64 bits que ejecutan Debian (11 o versiones posteriores), Ubuntu (20.04 o versiones posteriores) o macOS.

Linux

Descarga el paquete MVD Debian (.deb)

Descargar el archivo de firma Armored-ASCII (.asc)

Luego, ejecuta dpkg para instalar el paquete MVD de Debian (.deb):

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Descargar el archivo dmg de MVD (macOS x86)

Descargar 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:

Instalación en macOS

Verifica el uso de los 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 usa este puerto, asegúrate de liberarlo.

Para ver si algún proceso está usando 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

Ejecutar 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 al iniciar la app, que te permite configurar un dispositivo virtual:

  • Device Type: 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 con comisión. (Valor 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 no lo utilice otro servicio.
  • ID del proveedor: Solo se admite el ID del proveedor de prueba 0xFFF1.
  • ID del producto: Solo se admiten los IDs del producto de prueba 0x8000 a 0x801F.

Pantalla de configuración del dispositivo virtual

Configura tu firewall

Linux

Si tienes un firewall en ejecución en tu computadora, apágalo o permite las conexiones TCP/UDP entrantes en el puerto Matter.

Para ver las reglas de firewall activas actuales de netfilter, ejecuta lo siguiente:

sudo iptables -L -n

Si usas `ufw`, se puede inhabilitar con:

sudo ufw disable

Y se puede volver a habilitar con las siguientes opciones:

sudo ufw enable

macOS

Para configurar o inhabilitar el firewall en macOS, haz lo siguiente:

  1. Ve al menú de Apple y elige Configuración del sistema.
  2. Haz clic en Red en la lista de la barra lateral.
  3. Haz clic en Firewall.
  4. Cambia el interruptor de Firewall a la posición Desactivado.

Ejecuta tu 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 hayas seleccionado, 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 puede tener un control deslizante de nivel para ajustar el brillo.
  • Color: Por ejemplo, la 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 comisión.
  • Restart: Reinicia el dispositivo virtual. El dispositivo se desconectará de la red durante un momento.
  • Restablecer: Restablece la configuración de fábrica del dispositivo actual y borra todo el estado, lo que incluye la puesta en marcha, el estado de los controles actuales, etcétera.
  • Borrar: Destruye el dispositivo y regresa a la pantalla Crear dispositivo.

Pantalla de control de dispositivos virtuales

Pide tu dispositivo

El dispositivo se puede comprometer no bien se crea.

Estos son 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 la 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 con 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 con el GHA, haz clic en QRCode para mostrar el código QR del dispositivo y, luego, sigue las instrucciones que se indican en Vincula un dispositivo Matter, en las que se explica cómo incorporar un dispositivo Matter con GHA. También puedes asignar el dispositivo mediante el Google Home Sample App for Matter.

Consulta nuestro MatterPrimer para saber cómo funciona la comisión de Matter.

Cómo controlar el dispositivo

Después de encargar un dispositivo virtual, puedes controlarlo con la app de Google Home o Asistente de Google con la voz. Tienes varias opciones:

  • Controla el dispositivo con GHA o Assistant mientras supervisas los cambios de estado en el dispositivo virtual.
  • Controlar 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.

Cómo realizar pruebas con el dispositivo

Para realizar la prueba con Assistant, te recomendamos que uses un simulador de expresiones como extensión de Google Home para VS Code o 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 asignado al dispositivo.
  • Device Type: Es el tipo de dispositivo seleccionado.
  • Discriminador: Es el discriminador de dispositivo actual.
  • Vendor ID: Es el ID del proveedor del dispositivo actual.
  • ID del producto: Es el ID del producto del dispositivo actual.
  • Puerto RPC: es el puerto RPC 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 contraseña: Es el PIN que se usa para realizar la puesta en marcha del dispositivo a través de la red.
  • Configuration Folder: la carpeta en la que el dispositivo virtual almacena la configuración.
  • Commission Information: Muestra las telas que 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 del dispositivo.

Detén el dispositivo

Para detener y destruir el dispositivo, haz clic en Borrar.

Cómo cerrar 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.

Obtén 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 acceder a esta página, haz clic en el botón de ayuda ubicado en la esquina superior derecha de la ventana.

Informa un error

Si crees que encontraste un defecto en MVD, puedes informar un error haciendo clic en el botón de error que se encuentra en la esquina superior derecha de la ventana.

Enviar comentarios

Para enviar tu opinión sobre lo que te gusta de MVD o sobre cómo podemos mejorar tu experiencia con la herramienta, completa nuestro formulario de comentarios.

El formulario se puede iniciar desde el botón de comentarios ubicado en la esquina superior derecha de la ventana o haciendo clic en el siguiente botón.

Envíanos tus comentarios