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.
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:
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
a0x801F
são compatíveis.
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.
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.