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.
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 um dispositivo Matter físico ou virtual, o Google oferece o Matter Virtual Device (MVD). O MVD é uma ferramenta para computador Linux ou macOS leve e independente 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 unir a uma malha Matter. Em vez disso, ele usa a conexão de rede Wi-Fi atual da máquina Linux ou macOS para comissionamento.
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 interface para controlá-lo. Por outro lado, o VDC é usado para controlar um dispositivo Matter virtual 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ê vai criar um único tipo de dispositivo virtual: uma lâmpada inteligente. Já o MVD contém vários dispositivos virtuais pré-criados diferentes e inclui uma interface integrada para executar e controlar esses dispositivos.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Emular um dispositivo Matter | |||
Controlar um dispositivo Matter emulado | |||
Esforço de desenvolvimento necessário | |||
Fazer o download | menos de 100 MB | 9 GB | 20 GB |
Dispositivos compatíveis
O MVD oferece suporte aos seguintes tipos de dispositivo Matter:
Matter tipo de dispositivo | Clusters de aplicativo | Tipo de ecossistema doméstico |
---|---|---|
Player de vídeo básico |
0x0006 0x0506 0x0509 |
TV |
Temperatura de cor clara |
0x0300 0x0008 0x0006 |
Claro |
Sensor de contato |
0x0045 |
Sensor |
Luz durável |
0x0008 0x0006 |
Claro |
Trava de porta |
0x0101 |
Bloquear |
Cor clara estendida |
0x0300 0x0008 0x0006 |
Claro |
Ventilador |
0x0202 0x0006 |
Fã |
Sensor de fluxo |
0x0404 |
Sensor |
Interruptor genérico |
0x003b |
Switch |
Sensor de umidade |
0x0405 |
Sensor |
Sensor de luz |
0 x 0.400 |
Sensor |
Sensor de presença |
0x0406 |
Sensor |
Luz ligada/desligada |
0x0008 0x0006 |
Claro |
Interruptor de luz |
0x0006 |
Switch |
Unidade do plug-in ligado/desligado |
0x0008 0x0006 |
Saída |
Sensor de pressão |
0x0403 |
Sensor |
Bomba |
0x0006 0x0200 0x0402 0x0403 0x0404 |
N/A |
Robô aspirador de pó |
0x0054 0x0055 0x0061 |
Aspirador de pó |
Ar-condicionado |
0x0006 0x0201 0x0202 |
Ac |
Alarme de fumaça de monóxido de carbono |
0x005C |
Fumaça |
Alarme de fumaça de monóxido de carbono |
0x005C |
Fumaça |
Sensor de temperatura |
0x0402 |
Sensor |
Termostato |
0x0201 |
Termostato |
Revestimentos para janelas |
0x0102 |
Persiana |
Instalar o MVD
O MVD é executado em máquinas com processadores x86 de 64 bits com 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 blindada-ASCII (.asc)
Em seguida, execute dpkg
para instalar o pacote Debian MVD (.deb):
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
Fazer o download do arquivo Dmg do MVD (macOS x86)
Faça o download do arquivo Dmg 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 para macOS](https://developers.home.google.com/static/tools/images/matter-virtual-device-macos-install.png?authuser=2&hl=pt)
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, siga estas etapas:
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
É possível encerrar 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 MVD ou executar MVD no terminal:
cd /Applications
open mvd.app
Configurar o dispositivo
A tela principal aparece 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 de usar 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 do Matter e comunicação 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 use.
- ID do fornecedor: somente o ID
0xFFF1
do fornecedor de teste é aceito. - ID do produto: somente IDs do produto de teste
0x8000
a0x801F
são compatíveis.
Configurar seu firewall
Linux
Se você tiver um firewall em execução no seu computador, desligue-o ou permita 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 o `ufw`, ele pode ser desativado com:
sudo ufw disable
E pode ser reativado com:
sudo ufw enable
macOS
Para configurar ou desativar o firewall no macOS:
- Acesse o menu aplicadas Apple e selecione Configurações do sistema.
- Clique em Rede na lista da barra lateral.
- Clique em Firewall.
- Alterne a chave do Firewall para a posição Desativado.
Executar o dispositivo
Após configurar o dispositivo, clique em Criar dispositivo. Quando o dispositivo é criado, a tela Controller aparece. Dependendo do tipo de dispositivo selecionado, você vai encontrar 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 de cor pode ter esse controle.
- Ocupação: 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.
- Reiniciar: reinicia o dispositivo virtual. O dispositivo será desconectado da rede por um breve período.
- Redefinir: redefine o dispositivo atual para a configuração original e limpa todo o estado, incluindo comissionamento, estado dos controles atual etc.
- Excluir: destrói o dispositivo e retorna à tela Criar dispositivo.
Comissionamento do dispositivo
O dispositivo é 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, com o GHA instalado.
O smartphone Android precisa estar conectado à mesma rede Wi-Fi da 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 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 do Matter funciona.
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ê pode fazer o seguinte:
- controlar o dispositivo usando GHA ou Assistant enquanto monitora mudanças de estado no dispositivo virtual ou
- controlar o dispositivo usando o Sample App for Matter enquanto monitora mudanças de estado no dispositivo virtual ou
- Controle o estado do dispositivo usando o próprio MVD enquanto o estado de monitoramento muda em GHA ou Assistant.
Testar com o dispositivo
Para testar com Assistant, recomendamos usar um simulador de fala, como a extensão Google Home para VS Code ou o plug-in do Google Home para Android Studio.
Mais 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.
- Discriminador: o discriminador atual do dispositivo.
- Código do fornecedor: o código do fornecedor atual do dispositivo.
- Product ID: o ID do produto do dispositivo atual.
- Porta RPC: a porta RPC com que o dispositivo se comunica com os controladores (GUI).
- Porta Matter: a porta usada pelo dispositivo atual para se comunicar pela rede IP.
- Código: o PIN usado para comissionar o dispositivo pela rede.
- Pasta de configuração: a pasta que o dispositivo virtual armazena a configuração.
- Informações de comissão: mostra as malhas que o dispositivo uniu e o ID do nó na malha.
Ver registros do dispositivo
Se você iniciou MVD no terminal, a saída do registro aparece em stdout
.
Você também pode acessar 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 você iniciou a partir do terminal, também pode encerrar o aplicativo digitando Ctrl-C no terminal.
Conseguir 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ê 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 como podemos melhorar sua experiência com a ferramenta, preencha nosso formulário de feedback.
O formulário pode ser iniciado com o botão
de feedback no canto superior direito da janela ou clicando no botão abaixo.