Objeto virtual relevante

Os dispositivos virtuais Matter são úteis para desenvolver e testar soluções Matter. Eles podem ser ativados usando o Google Home app (GHA) e controlados com GHA e Google Assistant, assim como os dispositivos físicos Matter.

Para desenvolvedores de apps e outras pessoas que precisam testar ou emular um dispositivo virtual Matter, mas não têm recursos para criar um dispositivo físico ou virtual Matter, o Google oferece o Matter Virtual Device (MVD). O MVD é uma ferramenta independente e leve para computadores Linux ou macOS que simula diferentes tipos de dispositivos virtuais Matter e oferece uma interface gráfica do usuário para controlar e mostrar os estados do dispositivo virtual Matter.

Ao contrário de um dispositivo Matter físico, o MVD não depende do Bluetooth® de baixa energia (BLE) ou do Thread® para participar de uma estrutura Matter. Em vez disso, ele usa a conexão de rede Wi-Fi da máquina host Linux ou macOS para o provisionamento.

Comparação com outras ferramentas

OMVD difere doVirtual Device Controller (VDC) pois é uma solução autossuficiente, que combina um dispositivo virtual com uma interface de usuário para controlá-lo. Em contraste, o VDC é usado para controlar um dispositivo virtual Matter separado.

O MVD contém vários dispositivos virtuais pré-construídos diferentes e inclui uma interface de usuário integrada para executá-los e controlá-los.

Dispositivos compatíveis

O MVD é compatível com os seguintes tipos de dispositivos Matter:

Tabela: tipos de dispositivos Matter compatíveis com MVD
Matter Tipo de dispositivo Clusters de aplicativos Tipo de ecossistema doméstico
Purificador de ar 0x0202
0x0006
0x0071
Purificador de ar
Sensor de qualidade do ar 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Sensor
Player de vídeo básico 0x0006
0x0506
0x0509
Televisão
Luz de temperatura de cor 0x0300
0x0008
0x0006
Light
Sensor de contato 0x0045
Sensor
Luz dimerizável 0x0008
0x0006
Light
Unidade de plug-in com dimmer 0x0006
0x0008
Outlet
Lava-louças 0x0006
0x0059
0x0056
0x0060
Lava-louças
Trava da porta 0x0101
Bloqueio
Luz colorida estendida 0x0300
0x0008
0x0006
Light
Ventilador 0x0202
0x0006
Fan
Sensor de fluxo 0x0404
Sensor
Switch genérico 0x003b
Switch
Sensor de umidade 0x0405
Sensor
Máquina de lavar roupas 0x0006
0x0051
0x0053
0x0056
0x0060
Lavadora
Sensor de luz 0x0400
Sensor
Sensor de presença 0x0406
Sensor
Luz de ativação/desativação 0x0008
0x0006
Light
Interruptor de luz liga/desliga 0x0006
Switch
Unidade de plug-in liga/desliga 0x0008
0x0006
Outlet
Sensor de pressão 0x0403
Sensor
Bomba 0x0006
0x0200
0x0402
0x0403
0x0404
Pump
Robô aspirador 0x0054
0x0055
0x0061
Aspirador de pó
Ar-condicionado de ambiente 0x0006
0x0201
0x0202
Ar-condicionado
Alarme de fumaça/monóxido de carbono 0x005C
Detector de monóxido de carbono
Detector de fumaça
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Cortina 0x0102
Persianas

Instalar MVD

O MVD é executado em máquinas com processador x86 de 64 bits que usam Debian (13 Trixie ou mais recente), Ubuntu (20.04 Noble Numbat ou mais recente) ou macOS.

Linux

Faça o download do pacote Debian (.deb) do MVD

Faça o download do arquivo de assinatura ASCII blindada (.asc)

Em seguida, execute dpkg para instalar o pacote Debian (.deb) MVD:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Baixar o arquivo dmg do MVD (macOS x86)

Baixe o arquivo dmg do MVD (ARM64 M1)

Em seguida, clique duas vezes no arquivo dmg para abrir a janela de instalação.

Para concluir a instalação, selecione e arraste o ícone mvd para a pasta Applications:

Instalação no macOS

Verificar o uso da porta

O módulo de controlador em MVD usa a porta TCP 33000 para fazer chamadas de RPC ao dispositivo virtual. Portanto, se essa porta já estiver em uso por outro processo no seu computador, libere-a.

Para verificar se algum processo está usando a porta 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

É possível encerrar qualquer processo usando a porta TCP 33000 com um único comando:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Executar MVD

Linux

No Linux, execute MVD na pasta de aplicativos ou no terminal:

mvd

macOS

No macOS, use o Launchpad para abrir MVD ou execute MVD no terminal:

cd /Applications
open mvd.app

Configurar o dispositivo

A tela principal aparece ao iniciar e permite configurar um dispositivo virtual:

  • Tipo de dispositivo: selecione o tipo de dispositivo (por exemplo, luz, interruptor, sensor e assim por diante).
  • Nome do dispositivo: dê um nome fácil de usar para o dispositivo.
  • Discriminador: um número de 12 bits usado para discernir entre vários anúncios de dispositivos comissionáveis. (Padrão: 3840).
  • Matter Porta: uma porta para Matter comissionamento e comunicação por redes IP. O Matter usa a porta TCP/UDP 5540 por padrão, mas é possível configurar o dispositivo virtual para usar uma porta diferente, desde que nenhum outro serviço esteja usando.
  • ID do fornecedor: apenas o ID do fornecedor de teste 0xFFF1 é aceito.
  • ID do produto: apenas IDs de produtos de teste 0x8000 a 0x801F são aceitos.

Tela de configuração do dispositivo virtual

Configurar seu firewall

Linux

Se você tiver um firewall em execução no computador, desative-o ou permita conexões TCP/UDP de entrada na porta Matter.

Para conferir as regras de firewall netfilter ativas atuais, execute:

sudo iptables -L -n

Se você estiver usando o `ufw`, ele poderá ser desativado com:

sudo ufw disable

E pode ser reativado com:

sudo ufw enable

macOS

Para configurar ou desativar o firewall no macOS:

  1. Vá ao menu  Apple e escolha Ajustes do sistema.
  2. Clique em Rede na lista da barra lateral.
  3. Clique em Firewall.
  4. Mova a chave do Firewall para a posição Off.

Executar o dispositivo

Depois que o dispositivo estiver configurado, clique em Criar dispositivo. Quando o dispositivo for criado, a tela Controlador vai aparecer. Dependendo do tipo de dispositivo selecionado, você poderá encontrar um ou mais dos seguintes controles:

  • Ativar/Desativar: comum à maioria dos dispositivos.
  • Nível: por exemplo, uma luz pode ter um controle deslizante de nível para ajustar o brilho.
  • Cor: por exemplo, uma luz colorida pode ter esse controle.
  • Ocupação: o sensor de ocupação oferece esse controle para simular o estado ocupado ou desocupado.

Todos os dispositivos virtuais têm os seguintes controles:

  • QRCode: mostra o QR code usado para o provisionamento.
  • Reiniciar: reinicia o dispositivo virtual. O dispositivo é desconectado da rede por um breve período.
  • Redefinir: redefine o dispositivo atual para a configuração original e limpa todo o estado, incluindo provisionamento, estado dos controles atuais e assim por diante.
  • Excluir: destrói o dispositivo e volta para a tela Criar dispositivo.

Tela de controle do dispositivo virtual

Características específicas do fabricante

Características específicas do fabricante (MS) são suportadas pelas APIs Home para Android e fornecem funcionalidades adicionais além das características padrão em Matter. Para testar um dispositivo com um traço de MS, o MVD permite interagir com os traços na seção chamada Clusters personalizados (confira a imagem acima).

Configurar o dispositivo

O dispositivo pode ser comissionado assim que é criado.

Há alguns pré-requisitos para comissionar o dispositivo:

  • Você precisa ter um projeto no Google Home Developer Console. Esse projeto precisa conter uma integração do Matter com a mesma combinação de VID/PID que você usou ao configurar o dispositivo virtual. Consulte o guia de criação de projetos para mais detalhes.

  • Você precisa ter um Google Nest Hub que seja compatível com o Matter

  • Você precisa ter um smartphone Android com o Android 8.1 ou mais recente e o GHA instalado.

  • O smartphone Android precisa estar conectado à mesma rede Wi-Fi que o hub.

  • O computador host deve estar conectado à rede Wi-Fi.

Para comissionar o dispositivo usando o GHA, clique em QRCode para mostrar o QR code do dispositivo e siga as instruções em Parear um dispositivo Matter, que explica como integrar um dispositivo Matter usando o GHA. Você também pode fazer o provisionamento do dispositivo usando o Google Home Sample App for Matter.

Consulte nosso Matter Primer para saber como o Matter Commissioning funciona.

Controlar o dispositivo

Depois de comissionar um dispositivo virtual, você pode controlá-lo usando o app Google Home ou o Google Assistente por voz. Você pode fazer o seguinte:

  • Controle o dispositivo usando GHA ou Assistant enquanto monitora as mudanças de estado no dispositivo virtual ou
  • Controle o dispositivo usando o Sample App for Matter enquanto monitora as mudanças de estado no dispositivo virtual ou
  • Controle o estado do dispositivo usando o próprio MVD enquanto monitora as mudanças de estado em GHA ou Assistant.

Testar com o dispositivo

Para testar com Assistant, recomendamos usar um simulador de expressão, como a Extensão do Google Home para VS Code ou o plug-in do Google Home para Android Studio.

Ver detalhes do dispositivo

A tela Detalhes do dispositivo mostra informações detalhadas sobre o dispositivo:

  • Nome:o nome amigável dado ao dispositivo.
  • Tipo de dispositivo: o tipo de dispositivo selecionado.
  • Discriminador: o discriminador do dispositivo atual.
  • ID do fornecedor: o ID do fornecedor do dispositivo atual.
  • ID do produto: o ID do produto do dispositivo atual.
  • Porta RPC: a porta RPC que o dispositivo usa para se comunicar com os controladores (GUI).
  • Porta Matter: a porta usada pelo dispositivo atual para se comunicar pela rede IP.
  • Código de acesso: O PIN usado para ativar o dispositivo através da rede.
  • Pasta de configuração: a pasta em que o dispositivo virtual armazena a configuração.
  • Informações de comissionamento: mostra os fabrics a que o dispositivo se conectou e o ID do nó do dispositivo no fabric.

Acessar os registros de dispositivos

Se você iniciou o MVD no terminal, a saída do registro vai aparecer em stdout. Também é possível acessar os registros de dispositivos na guia Registros de dispositivos.

Parar o dispositivo

Para interromper e destruir o dispositivo, clique em Excluir.

Encerrar o app

Fechar a janela de controle destrói o dispositivo e encerra o aplicativo MVD. Se você iniciou o app pelo terminal, também pode encerrá-lo digitando Ctrl-C no terminal.

Ajuda

Para obter ajuda com MVD, para relatar um bug ou para solicitar um novo recurso, entre em contato com seu representante de suporte do Google.

Clicar no botão de ajuda no canto superior direito da janela leva você a esta página.

Informar um bug

Se você acha que encontrou um defeito no MVD, você pode registrar um bug clicando no botão Problema no canto superior direito da janela.

Enviar feedback

Para enviar suas opiniões sobre o que você gosta em MVD ou como podemos melhorar sua experiência com a ferramenta, preencha nosso Formulário de Feedback.

O formulário pode ser iniciado pelo botão de feedback no canto superior direito da janela, ou clicando no botão abaixo.

Envie seu feedback

Você também pode fornecer feedback com a pesquisa que aparece na parte inferior quando você está usando MVD.