Os dispositivos virtuais do Matter são úteis para desenvolver e testar soluções do Matter. Eles podem ser comissionados usando o Google Home app (GHA) e controlados usando o GHA e o Google Assistant, assim como os dispositivos físicos do Matter.
Para desenvolvedores de apps e outras pessoas que precisam testar ou emular um dispositivo virtual Matter, 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 computador leve e independente para Linux ou macOS que simula diferentes tipos de dispositivos Matter virtuais e oferece uma interface gráfica do usuário para controlar e mostrar os estados do dispositivo Matter virtual.
Ao contrário de um dispositivo Matter físico, o MVD não depende do Bluetooth® de baixa energia (BLE) ou do Thread® para se conectar a uma estrutura do Matter. Em vez disso, ele usa a conexão de rede Wi-Fi da máquina host Linux ou macOS para o comissionamento.
Em comparação com outras ferramentas
O MVD é diferente do 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 virtual Matter separado.
O MVD contém vários dispositivos virtuais pré-criados e inclui uma interface integrada para executá-los e controlá-los.
Dispositivos compatíveis
O MVD é compatível com os seguintes tipos de dispositivo Matter:
| Matter Tipo de dispositivo | Clusters de aplicativos | Tipo de ecossistema doméstico |
|---|---|---|
| Purificador de ar |
0x0202 0x0006 0x0071 0x0072 |
Purificador de ar |
| Sensor de qualidade do ar |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042b 0x042c 0x042d 0x042e 0x042f 0x0413 0x0415 |
Sensor |
| Player de vídeo básico |
0x0006 0x0506 0x0509 |
Televisão |
| Luz de temperatura da cor |
0x0300 0x0008 0x0006 |
Leve |
| Sensor de contato |
0x0045 |
Sensor |
| Luz com dimmer |
0x0008 0x0006 |
Leve |
| Unidade de plug-in com dimmer |
0x0006 0x0008 |
Outlet |
| Lava-louças |
0x0006 0x0059 0x0056 0x0060 |
Lava-louças |
| Fechadura de porta |
0x0101 |
Bloquear |
| Luz colorida estendida |
0x0300 0x0008 0x0006 |
Leve |
| Ventilador |
0x0202 0x0006 |
Ventilação |
| Sensor de fluxo |
0x0404 |
Sensor |
| Interruptor genérico |
0x003b |
Switch |
| Sensor de umidade |
0x0405 |
Sensor |
| Máquina de lavar roupa |
0x0006 0x0051 0x0053 0x0056 0x0060 |
Máquina de lavar |
| Sensor de luz |
0x0400 |
Sensor |
| Sensor de presença |
0x0406 |
Sensor |
| Luz de ativação/desativação |
0x0008 0x0006 |
Leve |
| Interruptor de luz liga/desliga |
0x0006 |
Switch |
| Unidade de plug-in liga/desliga |
0x0008 0x0006 |
Outlet |
| Sensor de pressão |
0x0403 |
Sensor |
| Bomba |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Bomba |
| Robô aspirador de pó |
0x0054 0x0055 0x0061 |
Aspirador de pó |
| Ar-condicionado de janela |
0x0006 0x0201 0x0202 |
Ar-condicionado |
| Alarme de fumaça e CO |
0x005C |
Detector de monóxido de carbono
Detector de fumaça |
| Sensor de temperatura |
0x0402 |
Sensor |
| Termostato |
0x0201 |
Termostato |
| Cobertura de janela |
0x0102 |
Persianas |
Instalar o MVD
O MVD é executado em máquinas com processador x86 de 64 bits que executam o Debian
(13 Trixie ou mais recente), o Ubuntu (20.04 Noble Numbat ou mais recente) ou o macOS.
Linux
Faça o download do pacote Debian (.deb) do MVD
Faça o download do arquivo de assinatura ASCII blindado (.asc)
Em seguida, execute dpkg para instalar o pacote Debian (.deb)
MVD:
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
Baixar o arquivo dmg do MVD (macOS x86)
Baixe o 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:
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:
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000É possível encerrar qualquer processo que use a porta TCP 33000 com um único comando:
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killExecutar MVD
Linux
No Linux, execute MVD na pasta de aplicativos ou no terminal:
mvdmacOS
No macOS, use o Launchpad para abrir o MVD ou execute MVD no terminal:
cd /Applicationsopen mvd.app
Configurar o dispositivo
A tela principal aparece na inicialização e permite configurar um dispositivo virtual:
- Tipo de dispositivo: selecione o tipo de dispositivo (por exemplo, luz, interruptor, sensor e assim por diante).
- Nome do dispositivo: dê um nome fácil de usar ao dispositivo.
- Discriminador: um número de 12 bits usado para discernir entre vários
anúncios de dispositivos comissionáveis. (Padrão:
3840). - Porta Matter: uma porta para comissionamento e comunicação do Matter por 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: somente o ID do fornecedor de teste
0xFFF1é aceito. - ID do produto: somente os IDs de produto de teste de
0x8000a0x801Fsão aceitos.
Configurar seu firewall
Linux
Se você tiver 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 do netfilter ativas, execute:
sudo iptables -L -nSe você estiver usando o `ufw`, ele poderá ser desativado com:
sudo ufw disableE pode ser reativado com:
sudo ufw enablemacOS
Para configurar ou desativar o firewall no macOS:
- Acesse o menu Apple e escolha Ajustes do Sistema.
- Clique em Rede na lista da barra lateral.
- Clique em Firewall.
- Mude a chave do Firewall para a posição Desativado.
Executar o dispositivo
Depois que o dispositivo estiver configurado, clique em Create device. Quando o dispositivo é criado, a tela Controller é exibida. Dependendo do tipo de dispositivo selecionado, você verá um ou mais dos seguintes controles:
- Ativar/desativar: comum à 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.
- Presença: o sensor de presença 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.
- Reboot: 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 o comissionamento, o estado atual dos controles etc.
- Delete: destrói o dispositivo e retorna à tela Create device.
Atributos específicos do fabricante
As características específicas do fabricante (MS, na sigla em inglês) são compatíveis com as APIs Home para Android e oferecem funcionalidades adicionais além das características padrão em Matter. Para testar um dispositivo com um atributo MS, o MVD permite interagir com os atributos na seção chamada Clusters personalizados (consulte a imagem acima).
Comissionar o dispositivo
O dispositivo pode ser comissionado assim que é criado.
Há alguns pré-requisitos para o comissionamento do dispositivo:
Você precisa ter um projeto no Google Home Developer Console. Esse projeto precisa conter uma integração do 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 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 QR code do dispositivo e siga as instruções em Parear um dispositivo Matter, que explicam como integrar um dispositivo Matter usando o GHA. Também é possível comissionar o dispositivo usando o Google Home Sample App for Matter.
Consulte nosso Primer do Matter 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ê pode fazer o seguinte:
- Controlar o dispositivo por meio de 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 ou
- Controlar o estado do dispositivo pelo 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 comandos, como a Extensão do 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 sobre o dispositivo:
- Nome:o nome amigável dado ao dispositivo.
- Tipo de dispositivo: o tipo de dispositivo selecionado.
- Discriminador: o discriminador do dispositivo atual.
- ID do fornecedor: o ID do fornecedor do dispositivo atual.
- ID do produto: o ID do produto do dispositivo atual.
- Porta RPC: a porta RPC que o dispositivo usa para se comunicar com os 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 em que o dispositivo virtual armazena a configuração.
- Informações de comissionamento: mostra os fabrics em que o dispositivo entrou e o ID do nó do dispositivo no fabric.
Ver registros do dispositivo
Se você iniciou o MVD no terminal, a saída do registro vai aparecer
em stdout.
Também é possível conferir os registros do dispositivo na guia Registros do dispositivo.
Parar o dispositivo
Para interromper e destruir o dispositivo, clique em Delete.
Encerrar o app
Fechar a janela de controle destrói o dispositivo e encerra o aplicativo MVD. Se você iniciou o aplicativo pelo terminal, também pode encerrá-lo digitando Ctrl-C no terminal.
Ajuda
Para receber ajuda com o MVD, informar um bug ou solicitar um novo recurso, entre em contato com o 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 de problema 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.
O formulário pode ser iniciado pelo botão de feedback no canto superior direito da janela ou clicando no botão abaixo.
Você também pode enviar feedback com a pesquisa que aparece na parte de baixo quando você usa o MVD.