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 usando o Google Home app (GHA) e controlados usando GHA e Google Assistant, assim como os 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 independente e leve do Linux ou macOS 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, MVD não depende de Bluetooth® de baixa energia (BLE) ou Thread® para juntar uma malha de Matter. Em vez disso, ele usa a conexão de rede Wi-Fi existente da máquina host Linux ou macOS para comissionamento.

Em comparação com outras ferramentas

O MVD é diferente do 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 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, as MVD contêm vários dispositivos virtuais pré-criados diferentes e uma interface integrada para execução e controle.

Tabela: comparação da ferramenta virtual Matter do dispositivo
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

O MVD oferece suporte aos seguintes tipos de dispositivos Matter:

Tabela: Matter tipos de dispositivos com suporte à MVD
Matter tipo de dispositivo Clusters de aplicativos Tipo de ecossistema doméstico
Player de vídeo básico 0x0006
0x0506
0x0509
TV
Luz com temperatura de cor 0x0300
0x0008
0x0006
Claro
Sensor de contato 0x0045
Sensor
Luz regulável 0x0008
0x0006
Claro
Trava da porta 0x0101
Bloquear
Cores estendidas claras 0x0300
0x0008
0x0006
Claro
Ventilador 0x0202
0x0006
Com ventoinha
Sensor de fluxo 0x0404
Sensor
Switch genérico 0x003b
Switch
Sensor de umidade 0x0405
Sensor
Sensor de iluminação 0x0.400
Sensor
Sensor de presença 0x0406
Sensor
Luz de acender/apagar 0x0008
0x0006
Claro
Interruptor de luz para ligar/desligar 0x0006
Switch
Unidade de ativação/desativação do plug-in 0x0008
0x0006
Saída
Sensor de pressão 0x0403
Sensor
Bomba 0x0006
0x0200
0x0402
0x0403
0x0404
N/A
Robô aspirador 0x0054
0x0055
0x0061
Aspirador de pó
Ar-condicionado do quarto 0x0006
0x0201
0x0202
Ac (link em inglês)
Alarme de fumaça/monóxido de carbono 0x005C
Fumaça
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Cobertura para janelas 0x0102
Persianas

Instalar MVD

O MVD é executado em máquinas de processador x86 de 64 bits que executam o 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 ASCII blindada (.asc)

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

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Faça o download do arquivo dmg do MVD (macOS x86)

Faça o download do 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 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 conferir se algum processo está usando a porta 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

É possível eliminar 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 o MVD ou executar o MVD no terminal:

cd /Applications
open mvd.app

Configurar o dispositivo

A tela principal é exibida 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 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 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: somente o ID do fornecedor de teste 0xFFF1 é compatível.
  • ID do produto: somente os IDs do produto 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, encerre-o ou permita as 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 "ufw", ela poderá ser desativada com:

sudo ufw disable

A reativação pode ser feita com:

sudo ufw enable

macOS

Para configurar ou desativar o firewall no macOS:

  1. Acesse o menu ⣿ Apple e escolha Configurações do sistema.
  2. Clique em Rede na lista da barra lateral.
  3. Clique em Firewall.
  4. Mude a chave do Firewall para a posição Desativado.

Executar o dispositivo

Depois que o dispositivo for configurado, clique em Criar dispositivo. Quando o dispositivo é criado, a tela Controlador é mostrada. Dependendo do tipo de dispositivo selecionado, você poderá ver um ou mais dos seguintes controles:

  • Ativado/desativado: comum para a 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 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 é 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 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 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 e o GHA instalado.

  • O smartphone Android precisa estar conectado à mesma rede Wi-Fi que a 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 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, você pode 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 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; ou
  • Controle o estado do dispositivo usando MVD enquanto monitora as mudanças de estado em GHA ou Assistant.

Testar com o dispositivo

Para testar com o 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.

Mais 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 atual do dispositivo.
  • ID do fornecedor: é o ID atual do fornecedor do dispositivo.
  • Product ID: o ID atual do produto no dispositivo.
  • Porta RPC: a porta RPC que o dispositivo se comunica com os controladores (GUI).
  • Porta Matter: a porta usada pelo dispositivo atual para se comunicar por uma 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.

Acessar registros do dispositivo

Se você iniciou MVD no terminal, a saída do registro aparece em stdout. Também é possível ver 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 a inicialização foi feita no terminal, também é possível encerrar o aplicativo digitando Ctrl-C no terminal.

Conseguir ajuda

Para receber ajuda com 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 essa 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 sobre 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