Objeto virtual relevante

Matter SDK do dispositivo

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

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 o próprio dispositivo físico ou virtual Matter, o Google oferece o Matter Virtual Device (MVD). O MVD é uma ferramenta de área de trabalho Linux leve e independente que simula diferentes tipos de dispositivos virtuais Matter e fornece uma interface gráfica do usuário para controlar e exibir os estados do dispositivo Matter virtual.

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

Em comparação com outras ferramentas

A MVD é diferente da Virtual Device Controller (VDC), porque é uma solução independente, que combina 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. Por outro lado, a MVD contém vários dispositivos virtuais pré-criados diferentes e uma interface integrada para executá-los e controlá-los.

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

Dispositivos com suporte

Atualmente, o MVD oferece suporte aos seguintes tipos de dispositivo Matter:

Tabela: tipos de dispositivos Matter com suporte a MVD
Matter tipo de dispositivo Clusters de aplicativo Tipo de ecossistema doméstico
Luz de temperatura da cor 0x0300
0x0008
0x0006
Claro
Luz regulável 0x0008
0x0006
Claro
Cores estendidas (claro) 0x0300
0x0008
0x0006
Claro
Sensor de presença 0x0406
Sensor
Luz de ativação/desativação 0x0008
0x0006
Claro
Unidade de plug-in de ligar/desligar 0x0008
0x0006
Saída

Instalar MVD

O MVD é executado em máquinas de processador x86 de 64 bits que executam o Debian (11 ou mais recente) ou o Ubuntu (20.04 ou mais recente).

Para instalar:

Fazer o download do pacote MVD Debian (.deb)

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.1.0_amd64.deb

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, não se esqueça de liberá-la.

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

sudo fuser -v 33000/tcp

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

sudo fuser -k 33000/tcp

Executar MVD

Execute MVD na pasta de aplicativos ou no terminal:

mvd

Configurar o dispositivo

A tela principal é exibida após a inicialização e permite que você configure um dispositivo virtual:

  • Device Type: selecione o tipo de dispositivo (por exemplo, Light, Switch, Sensor etc.).
  • Nome do dispositivo: dê ao dispositivo um nome fácil de usar.
  • Discriminador: um número de 12 bits usado para distinguir entre vários anúncios de dispositivos comissionados. Padrão: 3840.
  • Porta Matter: uma porta para comissionamento e comunicação de Matter por meio de 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: no momento, só é possível testar o ID do fornecedor 0xFFF1.
  • ID do produto: no momento, só há suporte para IDs de produtos de teste 0x8000 a 0x801F.

Tela de configuração do
dispositivo virtual

Configurar seu firewall

Se houver um firewall em execução no 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

Observação: se você estiver usando ufw, ela poderá ser desativada com:

sudo ufw disable
E poderá ser reativada com:
sudo ufw enable

Executar o dispositivo

Depois de configurar o dispositivo, clique em Create device. Quando o dispositivo é criado, a tela Controller é exibida. Dependendo do tipo de dispositivo selecionado, você pode ver um ou mais dos seguintes controles:

  • Ativado/Desativado: comum à maioria dos dispositivos.
  • Level: 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 de ocupação ou desocupada.

Todos os dispositivos virtuais têm os seguintes controles:

  • QRCode: mostra o código QR usado para comissionamento.
  • Reiniciar: reinicia o dispositivo virtual. O dispositivo será desconectado da rede brevemente.
  • Redefinir: redefine o dispositivo atual para a configuração original e limpa todo o estado, incluindo a ativação, o estado dos controles atuais e assim por diante.
  • Excluir: destrói o dispositivo e retorna à tela Criar dispositivo.

Tela de controle do dispositivo
virtual

Comissionar o dispositivo

O dispositivo passa a ser 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 GHA instalado.

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

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

Para comissionar o dispositivo usando o GHA, clique em QRCode para mostrar o código QR 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 funciona o comissionamento do Matter.

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ê tem as seguintes opções:

  • controlar o dispositivo usando GHA ou Assistant enquanto monitora as mudanças de estado no dispositivo virtual; ou
  • controlar o dispositivo usando o Sample App for Matter ao monitorar as mudanças de estado no dispositivo virtual;
  • Controle o estado do dispositivo com 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 fala, como a Extensão do 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 de fácil utilização dado ao dispositivo.
  • Tipo de dispositivo: o tipo de dispositivo selecionado.
  • Discriminador: o discriminador de dispositivos atual.
  • ID do fornecedor: é o ID do fornecedor atual do dispositivo.
  • Product ID: o ID atual do produto do dispositivo.
  • Porta RPC: a porta RPC com que o dispositivo se comunica com controladores (GUI).
  • Porta Matter: a porta usada pelo dispositivo atual para se comunicar por meio da rede IP.
  • Senha: o PIN usado para comissionar o dispositivo pela rede.
  • Configuration Folder: a pasta que o dispositivo virtual armazena a configuração.
  • Comission Information: mostra as malhas em que o dispositivo uniu e o ID de nó do dispositivo na malha

Ver registros do dispositivo

Se você iniciou MVD a partir do terminal, a saída do registro aparece em stdout. Também é possível acessar os registros do dispositivo na guia Registros do dispositivo.

Pare o dispositivo

Para parar e destruir o dispositivo, clique em Excluir.

Encerrar o app

O fechamento da 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, fale com seu contato de 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 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 que você gosta no MVD ou como podemos melhorar sua experiência com a ferramenta, preencha nosso formulário de feedback.

Para abrir o formulário, clique no botão de feedback no canto superior direito da janela ou clique no botão abaixo.

Envie seu feedback