Objeto virtual relevante

SDK do dispositivo

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

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

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

Em comparação com outras ferramentas

A MVD é diferente da Virtual Device Controller (VDC) porque é uma solução independente, combinando um dispositivo virtual com uma interface para controlá-lo. Por outro lado, o VDC é usado para controlar um dispositivo Matter virtual separado, como o que criamos no Matter Virtual Device Development Environment (MVD-DE).

Talvez você já tenha trabalhado com o codelab MVD-DE. Neste codelab, você vai criar um único tipo de dispositivo virtual: uma lâmpada inteligente. Já o MVD contém vários dispositivos virtuais pré-criados diferentes e inclui uma interface integrada para executar e controlar esses dispositivos.

Tabela: comparação de ferramentas de dispositivos Matter virtuais
MVD VDC MVD-DE (Codelab)
Emular um dispositivo Matter
Controlar um dispositivo Matter emulado
Esforço de desenvolvimento necessário
Fazer o download menos de 100 MB 9 GB 20 GB

Dispositivos compatíveis

O MVD oferece suporte aos seguintes tipos de dispositivo Matter:

Tabela: Matter tipos de dispositivo com suporte para MVD
Matter tipo de dispositivo Clusters de aplicativo Tipo de ecossistema doméstico
Player de vídeo básico 0x0006
0x0506
0x0509
TV
Temperatura de cor clara 0x0300
0x0008
0x0006
Claro
Sensor de contato 0x0045
Sensor
Luz durável 0x0008
0x0006
Claro
Trava de porta 0x0101
Bloquear
Cor clara estendida 0x0300
0x0008
0x0006
Claro
Ventilador 0x0202
0x0006
Sensor de fluxo 0x0404
Sensor
Interruptor genérico 0x003b
Switch
Sensor de umidade 0x0405
Sensor
Sensor de luz 0 x 0.400
Sensor
Sensor de presença 0x0406
Sensor
Luz ligada/desligada 0x0008
0x0006
Claro
Interruptor de luz 0x0006
Switch
Unidade do plug-in ligado/desligado 0x0008
0x0006
Saída
Sensor de pressão 0x0403
Sensor
Bomba 0x0006
0x0200
0x0402
0x0403
0x0404
N/A
Robô aspirador de pó 0x0054
0x0055
0x0061
Aspirador de pó
Ar-condicionado 0x0006
0x0201
0x0202
Ac
Alarme de fumaça de monóxido de carbono 0x005C
Fumaça
Alarme de fumaça de monóxido de carbono 0x005C
Fumaça
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Revestimentos para janelas 0x0102
Persiana

Instalar o MVD

O MVD é executado em máquinas com processadores x86 de 64 bits com Debian (11 ou mais recente), Ubuntu (20.04 ou mais recente) ou macOS.

Linux

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

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

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

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Fazer o download do arquivo Dmg do MVD (macOS x86)

Faça o download do arquivo Dmg 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 para macOS

Verificar o uso da porta

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

Para ver se algum processo está usando a porta 33000, siga estas etapas:

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

  • Device Type: selecione o tipo de dispositivo (por exemplo, Light, Switch, Sensor etc).
  • Nome do dispositivo: dê um nome fácil de usar ao dispositivo.
  • Discriminador: um número de 12 bits usado para discernir vários anúncios de dispositivos comissionados. (Padrão: 3840).
  • Porta Matter: uma porta para comissionamento do Matter 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 a use.
  • ID do fornecedor: somente o ID 0xFFF1 do fornecedor de teste é aceito.
  • ID do produto: somente IDs do produto de teste 0x8000 a 0x801F são compatíveis.

Tela de configuração do
dispositivo virtual

Configurar seu firewall

Linux

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

Para ver as regras de firewall netfilter ativas no momento, execute:

sudo iptables -L -n

Se você estiver usando o `ufw`, ele pode 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 aplicadas Apple e selecione Configurações do sistema.
  2. Clique em Rede na lista da barra lateral.
  3. Clique em Firewall.
  4. Alterne a chave do Firewall para a posição Desativado.

Executar o dispositivo

Após configurar o dispositivo, clique em Criar dispositivo. Quando o dispositivo é criado, a tela Controller aparece. Dependendo do tipo de dispositivo selecionado, você vai encontrar um ou mais dos seguintes controles:

  • Ativado/Desativado: comum para a 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 de cor pode ter esse controle.
  • Ocupação: o sensor de presença 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 comissionamento.
  • Reiniciar: reinicia o dispositivo virtual. O dispositivo será desconectado da rede por um breve período.
  • Redefinir: redefine o dispositivo atual para a configuração original e limpa todo o estado, incluindo comissionamento, estado dos controles atual etc.
  • Excluir: destrói o dispositivo e retorna à tela Criar dispositivo.

Tela de controle do
dispositivo virtual

Comissionamento do dispositivo

O dispositivo é comissionado assim que é criado.

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

  • É preciso ter um projeto em Google Home Developer Console. Esse projeto precisa conter uma integração Matter que tenha a mesma combinação de VID/PID usada na configuração do dispositivo virtual. Consulte o guia de criação de projetos para mais detalhes.

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

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

  • O smartphone Android precisa estar conectado à mesma rede Wi-Fi da central.

  • A máquina host precisa estar conectada à 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 explicam como integrar um dispositivo Matter usando o GHA. Você também pode comissionar o dispositivo usando o Google Home Sample App for Matter.

Consulte nosso Matter Primer para saber como o comissionamento do Matter funciona.

Controlar o dispositivo

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

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

Testar com o dispositivo

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

Mais detalhes do dispositivo

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

  • Nome:o nome amigável dado ao dispositivo.
  • Tipo de dispositivo: o tipo de dispositivo selecionado.
  • Discriminador: o discriminador atual do dispositivo.
  • Código do fornecedor: o código do fornecedor atual do dispositivo.
  • Product ID: o ID do produto do dispositivo atual.
  • Porta RPC: a porta RPC com que o dispositivo se comunica com os controladores (GUI).
  • Porta Matter: a porta usada pelo dispositivo atual para se comunicar pela rede IP.
  • Código: o PIN usado para comissionar o dispositivo pela rede.
  • Pasta de configuração: a pasta que o dispositivo virtual armazena a configuração.
  • Informações de comissão: mostra as malhas que o dispositivo uniu e o ID do nó na malha.

Ver registros do dispositivo

Se você iniciou MVD no terminal, a saída do registro aparece em stdout. Você também pode acessar os registros do dispositivo na guia Registros do dispositivo.

Parar o dispositivo

Para parar 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 a partir do terminal, também pode encerrar o aplicativo digitando Ctrl-C no terminal.

Conseguir ajuda

Para receber ajuda com o MVD, informar um bug ou solicitar um novo recurso, entre em contato com o 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ê acha que encontrou um defeito no MVD, registre um bug clicando no botão Issue no canto superior direito da janela.

Enviar feedback

Para enviar sua opinião sobre o MVD ou como podemos melhorar sua experiência com a ferramenta, preencha nosso formulário de feedback.

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

Envie seu feedback