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 o GHA e o 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 fornece 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 Linux ou macOS host para o provisionamento.

Comparação com outras ferramentas

O MVD é diferente do Virtual Device Controller (VDC) porque é uma solução independente que combina um dispositivo virtual com uma interface para controlá-lo. Já o VDC é usado para controlar um dispositivo virtual Matter separado.

O MVD contém vários dispositivos virtuais pré-criados diferentes e inclui uma interface 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
Claro
Sensor de contato 0x0045
Sensor
Luz dimerizável 0x0008
0x0006
Claro
Unidade de plug-in com dimmer 0x0006
0x0008
Outlet
Lava-louças 0x0006
0x0059
0x0056
0x0060
Lava-louças
Trava da porta 0x0101
Bloquear
Luz colorida estendida 0x0300
0x0008
0x0006
Claro
Ventilador 0x0202
0x0006
Ventoinha
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 de roupas
Sensor de luz 0x0400
Sensor
Sensor de presença 0x0406
Sensor
Luz de ativação/desativação 0x0008
0x0006
Claro
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 CO₂
Detector de fumaça
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Cortina 0x0102
Persianas

Instalar o 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 armored-ASCII (.asc)

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

sudo dpkg -i mvd_1.6.0_amd64.deb

macOS

Baixe 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 do macOS

Verificar o uso da porta

O módulo de controlador em MVD usa a porta TCP 33000 para fazer chamadas 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 após a inicialização 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 distinguir entre vários anúncios de dispositivos comissionáveis. (Padrão: 3840).
  • Porta Matter: 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 os 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, 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. Acesse o 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 Desativado.

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:

  • Liga/Desliga: 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

Configurar o dispositivo

O dispositivo pode ser comissionado assim que é criado.

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

  • Você precisa ter um projeto em 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.

  • É preciso ter um Google Nest Hub 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 do hub.

  • A máquina host precisa estar conectada à rede Wi-Fi.

Para provisionar 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 funciona o Matter Commissioning.

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 comissionar o dispositivo pela 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 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 pelo terminal, também pode encerrar o aplicativo digitando Ctrl-C no terminal.

Ajuda

Para receber ajuda com o MVD, informar um bug ou pedir um novo recurso, entre em contato com seu representante do suporte do Google.

Clique no botão de ajuda no canto superior direito da janela para acessar esta página.

Informar um bug

Se você acredita ter encontrado um defeito no MVD, clique no botão "Problema " no canto superior direito da janela para registrar um bug.

Enviar feedback

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

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

Envie seu feedback