Importa el dispositivo virtual

Matter SDK del dispositivo

Los dispositivos virtuales Matter son útiles para desarrollar y probar soluciones de Matter, se pueden poner en marcha mediante 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 tengan los recursos para compilar su propio dispositivo Matter físico o virtual, Google ofrece Matter Virtual Device (MVD). MVD es una herramienta independiente y liviana para escritorio de Linux 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 físico Matter, MVD no depende de Bluetooth® de bajo consumo (BLE) ni Thread® para unirse a una tela Matter. En su lugar, usa la conexión de red Wi-Fi existente de la máquina anfitrión de Linux para la comisión.

En comparación con otras herramientas

MVD se diferencia 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, VDC se usa para controlar un dispositivo Matter virtual separado, 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, crearás un solo tipo de dispositivo virtual: una bombilla inteligente. Por el contrario, MVD contiene varios dispositivos virtuales diferentes compilados previamente 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

Actualmente, MVD admite los siguientes tipos de dispositivos Matter:

Tabla: Matter tipos de dispositivos compatibles con MVD
Matter tipo de dispositivo Clústeres de aplicaciones Tipo de ecosistema de la casa
Luz de temperatura de color 0x0300
0x0008
0x0006
Ligera
Luz regulable 0x0008
0x0006
Ligera
Luz de color ampliada 0x0300
0x0008
0x0006
Ligera
Sensor de ocupación 0x0406
Sensor
Luz de encendido y apagado 0x0008
0x0006
Ligera
Unidad enchufable activada/desactivada 0x0008
0x0006
Salida

Instalar MVD

MVD se ejecuta en máquinas de procesadores x86 de 64 bits que ejecutan Debian (11 o posterior) o Ubuntu (20.04 o posterior).

Para instalarla, sigue estos pasos:

Descarga el paquete MVD de Debian (.deb)

Descarga el archivo de firma ASCII de la armor (.asc)

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

sudo dpkg -i mvd_1.1.0_amd64.deb

Verifica el uso del puerto

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 usa el puerto 33000, haz lo siguiente:

sudo fuser -v 33000/tcp

Puedes finalizar cualquier proceso mediante el puerto TCP 33000 con un único comando:

sudo fuser -k 33000/tcp

Ejecutar MVD

Ejecuta MVD desde la carpeta de 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, 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 discernir entre varios anuncios de dispositivos que se pueden solicitar. (Valor predeterminado: 3840).
  • Puerto Matter: Es un puerto para la puesta en servicio 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 esté usando.
  • ID del proveedor: Actualmente, solo se admite el ID del proveedor de prueba 0xFFF1.
  • ID del producto: Actualmente, solo se admiten los IDs de productos de prueba de 0x8000 a 0x801F.

Pantalla de configuración del dispositivo virtual

Configura tu firewall

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:

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
.

Cómo ejecutar tu dispositivo

Después de configurar el dispositivo, haz clic en Crear dispositivo. Cuando se cree el dispositivo, aparecerá 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 para 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/desocupado.

Todos los dispositivos virtuales tienen los siguientes controles:

  • QRCode: Muestra el código QR que se usó para la comisión.
  • Reiniciar: Reinicia el dispositivo virtual. El dispositivo se desconecta de la red brevemente.
  • Reset: Restablece la configuración de fábrica del dispositivo actual y borra todo el estado, incluida la puesta en marcha y el estado de los controles actuales, entre otros.
  • Borrar: Destruye el dispositivo y regresa a la pantalla Crear dispositivo.

Pantalla de control de dispositivos virtuales

Encarga tu dispositivo

Se podrá solicitar el dispositivo en cuanto se cree.

Hay algunos requisitos previos para poner en marcha el dispositivo:

  • Debes tener un proyecto en Google Home Developer Console. Este proyecto debe contener una integración Matter con 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 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 asignar 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 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 usando Google Home Sample App for Matter.

Consulta nuestro Primer Matter para obtener más información sobre el funcionamiento de las comisiones de Matter.

Cómo controlar el dispositivo

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

  • Controlar el dispositivo mediante 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.

Realiza pruebas con el dispositivo

Para probar con Assistant, te recomendamos que uses un simulador de expresiones, como la extensión de Google Home para VS Code o el complemento de Google Home para Android Studio.

Ver detalles del dispositivo

La pantalla Detalles del dispositivo muestra información detallada del dispositivo:

  • Nombre: Es el nombre descriptivo que se le asignó al dispositivo.
  • Device Type: El tipo de dispositivo seleccionado.
  • Discriminador: Es el discriminador actual de dispositivos.
  • Vendor ID: Es el ID del proveedor del dispositivo actual.
  • ID del producto: Es el ID del 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.
  • Contraseña: Es el PIN que se usa para asignar el dispositivo a través de la red.
  • Configuration Folder: Es la carpeta en la que el dispositivo virtual almacena la configuración.
  • Información de comisión: Muestra las tejidos que unió el dispositivo y el ID de nodo del dispositivo en la tela.

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

Al cerrar la ventana de control, se destruye el dispositivo y se finaliza la aplicación MVD. Si iniciaste desde la terminal, también puedes finalizar la aplicación escribiendo Ctrl-C en la terminal.

Obtén ayuda

Si quieres 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.

Haz clic en el botón de ayuda en la esquina superior derecha de la ventana para acceder a esta página.

Informa un error

Si crees que encontraste un defecto en el MVD, puedes informarlo haciendo clic en el botón de problema ubicado en la esquina superior derecha de la ventana.

Enviar comentarios

Para enviarnos comentarios 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 en la esquina superior derecha de la ventana o haciendo clic en el siguiente botón.

Envíanos tus comentarios