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.

O Google oferece a Matter Virtual Device (MVD) 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 os próprios dispositivos físicos ou virtuais.Matter 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 difere da Virtual Device Controller (VDC) porque é uma solução independente, combinando um dispositivo virtual com uma IU para controlá-lo. Por outro lado, o VDC é usado para controlar um dispositivo Matter virtual separado, como o que criamos na 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, o MVD contém vários dispositivos virtuais pré-criados diferentes e uma IU integrada para executá-los e controlá-los.

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

Dispositivos compatíveis

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

Tabela: tipos de dispositivos Matter com suporte para MVD
Matter tipo de dispositivo Clusters de aplicativos Tipo de ecossistema doméstico
Temperatura da cor da luz 0x0300
0x0008
0x0006
Claro
Luz regulável 0x0008
0x0006
Claro
Luz de cor estendida 0x0300
0x0008
0x0006
Claro
Sensor de presença 0x0406
Sensor
Luz apagada/apagada 0x0008
0x0006
Claro
Unidade do plug-in para 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 armored (.asc)

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

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, libere-a.

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

sudo fuser -v 33000/tcp

Você pode encerrar 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, como Light, Switch, Sensor etc.
  • Nome do dispositivo: dê um nome fácil ao dispositivo.
  • 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 usar o ID 0xFFF1 do fornecedor de teste.
  • 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, execute:

sudo iptables -L -n

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

sudo ufw disable
e reativada com:
sudo ufw enable

Executar o dispositivo

Após configurar o dispositivo, clique em Create device. Quando o dispositivo é criado, a tela Controller aparece. Dependendo do tipo de dispositivo selecionado, você poderá 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/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 e limpa todo o estado, incluindo a ativação, o estado atual dos controles etc.
  • Delete: destrói o dispositivo e retorna à tela Create device.

Tela de controle do
Dispositivo virtual

Comissionamento do dispositivo

O dispositivo passa a ser comissionado assim que é criado.

Há alguns pré-requisitos para colocar o dispositivo em funcionamento:

  • É preciso ter um projeto em Google Home Developer Console. Esse projeto precisa conter uma integração Matter que tenha a mesma combinação VID/PID que você usou 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 Android 8.1 ou mais recente e o 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 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 de Matter funciona.

Controlar o dispositivo

Depois de encomendar 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 com GHA ou Assistant enquanto monitora as mudanças de estado no dispositivo virtual; ou
  • controlar o dispositivo usando o Sample App for Matter enquanto monitora 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 o Android Studio.

Ver detalhes do dispositivo

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

  • Nome:o nome fácil dado ao dispositivo.
  • Tipo de dispositivo: o tipo de dispositivo selecionado.
  • Discriminador: o discriminador do dispositivo atual.
  • ID do fornecedor: é o ID atual do fornecedor do dispositivo.
  • ID do produto: o ID do produto atual do dispositivo.
  • Porta RPC: a porta RPC que o dispositivo se comunica com controladores (GUI).
  • Porta Matter: a porta usada pelo dispositivo atual para se comunicar pela 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 os tecidos em que o dispositivo uniu e o ID do nó do dispositivo na malha

Ver registros do dispositivo

Se você iniciou MVD no 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 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ê tiver iniciado a partir do terminal, também poderá 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 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ê achar 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 sobre como podemos melhorar sua experiência com a ferramenta, preencha nosso formulário de feedback.

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

Envie seu feedback