Dispositivo virtual Matter

Caso SDK do dispositivo

Os dispositivos virtuais Matter são úteis para desenvolver e testar soluções Matter, e podem ser encomendados usando 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 o próprio dispositivo Matter físico ou virtual, o Google oferece o Matter Virtual Device (MVD). A MVD é uma ferramenta autônoma leve e independente para Linux que simula diferentes tipos de dispositivos Matter virtuais 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, MVD não depende do Bluetooth® de baixa energia (BLE, na sigla em inglês) 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 a ativação.

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 IU para controlá-la. Por outro lado, o VDC é usado para controlar um dispositivo virtual Matter 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ê 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 inclui uma IU integrada para executá-los e controlá-los.

Tabela: Comparação virtual de ferramentas de dispositivos Matter
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 compatíveis

Atualmente, o MVD é compatível com os seguintes tipos de dispositivo Matter:

Tabela: Matter tipos de dispositivo compatíveis com MVD
Tipo de dispositivo Matter Cluster(s) de aplicativo Tipo de ecossistema da casa
Luz de temperatura da cor 0x0300
0x0008
0x0006
Claro
Luz regulável 0x0008
0x0006
Claro
Luz de cor estendida 0x0300
0x0008
0x0006
Claro
Sensor de ocupação 0x0406
Sensor
Acender ou apagar a luz 0x0008
0x0006
Claro
Ligar/desligar plug-in 0x0008
0x0006
Outlet (em inglês)

Instalar MVD

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

Para fazer a instalação:

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

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

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

sudo dpkg -i mvd_1.1.0_amd64.deb

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 computador, libere essa porta.

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 seu dispositivo

A tela principal aparece 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 e assim por diante).
  • Nome do dispositivo: dê um nome fácil de usar ao dispositivo.
  • Divulgador: 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 comunicação e comissionamento 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 esteja usando.
  • ID do fornecedor: no momento, só é possível testar o ID do fornecedor 0xFFF1.
  • ID do produto: atualmente, apenas os IDs de produtos de teste de 0x8000 a 0x801F são compatíveis.

Tela de configuração do dispositivo virtual

Configurar seu firewall

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

Para ver as regras de firewall atuais do netfilter, execute:

sudo iptables -L -n

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

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

Executar o dispositivo

Depois que o dispositivo for configurado, clique em Criar dispositivo. Quando o dispositivo é criado, a tela do Controller é exibida. Dependendo do tipo de dispositivo selecionado, você poderá ver 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 colorida pode ter esse controle.
  • Occupancy: o sensor de ocupação oferece esse controle para simular o estado ocupado/não ocupado.

Todos os dispositivos virtuais têm os seguintes controles:

  • QRCode: mostra o código QR usado para a ativação.
  • Reinicializar: 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 a ativação, o estado atual dos controles e assim por diante.
  • Excluir: destrói o dispositivo e retorna à tela Criar dispositivo.

Tela de controle do dispositivo virtual

Encomende seu dispositivo

O dispositivo é comissionado assim que é criado.

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

  • Você precisa ter um projeto em Google Home Developer Console. Esse projeto precisa ter 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

  • É preciso ter um smartphone com o Android 8.1 ou versão 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 exibir 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 Google Home Sample App for Matter.

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

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

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

Testar com o dispositivo

Para testar com Assistant, recomendamos o uso de um simulador de expressão, como a extensão 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 do dispositivo:

  • Nome: o nome amigável dado ao dispositivo.
  • Tipo de dispositivo: o tipo de dispositivo selecionado.
  • Divulgador: o discriminador de dispositivos atual.
  • ID do fornecedor: o ID atual do fornecedor do dispositivo.
  • ID do produto: o ID do produto do dispositivo atual.
  • Porta RPC: a porta RPC que o dispositivo comunica com os controladores (GUI, na sigla em inglês).
  • 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 por meio da rede.
  • Configuration Folder: a pasta que o dispositivo virtual armazena para a configuração.
  • Informações sobre comissão: mostra os tecidos do dispositivo e o código do nó do dispositivo na malha

Ver registros do dispositivo

Se você iniciou MVD a partir do terminal, a saída do registro aparecerá em stdout. Você também pode ver os registros do dispositivo na guia Registros do dispositivo.

Parar o dispositivo

Para parar e destruir o dispositivo, clique em Excluir.

Encerrar o aplicativo

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.

Receba ajuda

Para receber ajuda com MVD, relatar 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 essa página.

Informar um bug

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

Enviar feedback

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

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

Envie seu feedback