Objeto virtual relevante

SDK do dispositivo

Os dispositivos virtuais Matter são úteis para desenvolver e testar soluções Matter. Eles 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 físico ou virtual Matter, o Google oferece o Matter Virtual Device (MVD). O MVD é uma ferramenta leve independente para Linux ou macOS que simula diferentes tipos de dispositivos Matter virtuais e fornece 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 um fabric Matter. Em vez disso, ele usa a conexão de rede Wi-Fi existente da máquina Linux ou macOS host para 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 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. Por outro lado, o MVD contém vários dispositivos virtuais pré-criados diferentes e inclui uma interface integrada para executá-los e controlá-los.

Tabela: comparação de ferramentas de dispositivo Matter virtual
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:

Tabela: tipos de dispositivo Matter compatíveis com MVD
Matter Tipo de dispositivo Clusters de aplicativos Tipo de ecossistema doméstico
Player de vídeo básico 0x0006
0x0506
0x0509
TV
Luz de temperatura de cor 0x0300
0x0008
0x0006
Claro
Sensor de contato 0x0045
Sensor
Luz regulável 0x0008
0x0006
Claro
Trava na porta 0x0101
Bloquear
Luz de cor estendida 0x0300
0x0008
0x0006
Claro
Ventilador 0x0202
0x0006
Ventilador
Sensor de fluxo 0x0404
Sensor
Switch genérico 0x003b
Switch
Sensor de umidade 0x0405
Sensor
Sensor de luz 0x0400
Sensor
Sensor de ocupação 0x0406
Sensor
Luz de ativação/desativação 0x0008
0x0006
Claro
Interruptor de luz liga/desliga 0x0006
Switch
Unidade de plugue liga/desliga 0x0008
0x0006
Tomadas
Sensor de pressão 0x0403
Sensor
Bomba 0x0006
0x0200
0x0402
0x0403
0x0404
Bomba-d'água
Robô aspirador 0x0054
0x0055
0x0061
Aspirador de pó
Ar-condicionado do quarto 0x0006
0x0201
0x0202
Ac
Alarme de fumaça/monóxido de carbono 0x005C
Fum
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Cortina de janela 0x0102
Persianas

Instalar o MVD

O MVD é executado em máquinas com 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 MVD Debian (.deb):

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Fazer o download do arquivo dmg do MVD (macOS x86)

Fazer 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 de controlador em MVD usa a porta TCP 33000 para fazer chamadas RPC para o dispositivo virtual. Portanto, se essa porta já estiver em uso por outro processo no computador, libere-a.

Para saber se algum processo está usando a porta 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

É possível interromper 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 execute MVD no terminal:

cd /Applications
open 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 etc.).
  • 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 de 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: apenas o ID de teste do fornecedor 0xFFF1 é aceito.
  • ID do produto: apenas os IDs de produtos de teste de 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, desligue-o ou permita conexões TCP/UDP de entrada na porta Matter.

Para conferir as regras de firewall netfilter ativas, execute:

sudo iptables -L -n

Se você estiver usando o "ufw", ele poderá ser desativado com:

sudo ufw disable

E pode ser reativado com:

sudo ufw enable

macOS

Para configurar ou desativar o firewall no macOS:

  1. Acesse o menu  Apple e escolha System Settings.
  2. Clique em Rede na lista da barra lateral.
  3. Clique em Firewall.
  4. Alterne a chave de Firewall para a posição Desativado.

Executar o dispositivo

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

  • Ativar/desativar: comum na 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.
  • 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 código QR 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 a comissionamento, o estado dos controles atuais e assim por diante.
  • Excluir: destrói o dispositivo e retorna à tela Criar dispositivo.

Tela de controle do dispositivo
virtual

Comissionar o dispositivo

O dispositivo pode ser comissionado assim que é criado.

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

  • Você precisa ter um projeto em Google Home Developer Console. Esse projeto precisa conter uma integração Matter com 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.

  • É necessário ter um Google Nest Hub compatível com o Matter.

  • Você precisa ter um smartphone com o Android 8.1 ou mais recente e 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 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. Também é possível comissionar o dispositivo usando o Google Home Sample App for Matter.

Consulte nosso Matter Introdução para saber como funciona a ativação 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:

  • Controle o dispositivo com GHA ou Assistant enquanto monitora as mudanças de estado no dispositivo virtual ou
  • Controle o dispositivo usando o Sample App for Matter enquanto monitora as mudanças de estado no dispositivo virtual ou
  • Controle 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 expressões, como a extensão do Google Home para o VS Code ou o plug-in do Google Home para o Android Studio.

Conferir detalhes do dispositivo

A tela Detalhes do dispositivo mostra informações detalhadas sobre o dispositivo:

  • Nome:o nome amigável atribuído 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.
  • Código de acesso: o PIN usado para comissionar o dispositivo pela rede.
  • Pasta de configuração: é a pasta em que o dispositivo virtual armazena a configuração.
  • Informações de comissionamento: mostra os fabrics aos quais o dispositivo se juntou e o ID do nó do dispositivo no fabric.

Conferir os registros do dispositivo

Se você tiver iniciado o MVD no terminal, a saída do registro vai aparecer em stdout. Também é possível conferir os registros de dispositivo na guia Registros de dispositivo.

Parar o dispositivo

Para interromper 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ê tiver iniciado no terminal, também poderá encerrar o aplicativo digitando Ctrl-C no terminal.

Ajuda

Para receber ajuda com MVD, informar um bug ou solicitar um novo recurso, entre em contato com seu contato de 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, poderá enviar um bug clicando no botão no canto superior direito da janela.

Enviar feedback

Para enviar sua opinião sobre o que você gosta em 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.

Envie seu feedback