Objeto virtual relevante

SDK do dispositivo

Os dispositivos virtuais Matter são úteis para desenvolver e testar Matter soluções e podem ser encomendadas usando a Google Home app (GHA) e controlado usando GHA e Google Assistant, assim como o Matter físico dispositivos.

Para desenvolvedores de aplicativos e outras pessoas que precisam testar ou emular um aplicativo Matter dispositivo, mas não tem os recursos para criar o próprio físicos ou dispositivo Matter virtual, 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 o servidor 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) nesse sentido é 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 você vai criar um tipo de dispositivo virtual, ou seja, uma lâmpada inteligente. Em o MVD contém várias regras pré-criadas dispositivos virtuais e inclui uma interface integrada para executá-los e controlá-los.

Tabela: comparação de ferramentas de dispositivos Matter virtuais
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 Matter tipos de dispositivos:

Tabela: tipos de dispositivo Matter compatíveis com MVD
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 0 x 0.300
0x0008
0x0006
Claro
Sensor de contato 0x0045
Sensor
Luz durável 0x0008
0x0006
Claro
Trava de porta 0x0101
Bloquear
Luz de cor estendida 0 x 0.300
0x0008
0x0006
Claro
Ventilador 0x0202
0x0006
Sensor de fluxo 0x0404
Sensor
Interruptor genérico 0x003b
Switch
Sensor de umidade 0x0405
Sensor
Sensor de luz 0x0400
Sensor
Sensor de ocupação 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
0 x 0.200
0x0402
0x0403
0x0404
Bomba-d'água
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
Fum
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Revestimentos para janelas 0x0102
Persiana

Instalar o MVD

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

Fazer o download do pacote MVD Debian (.deb)

Fazer o download do arquivo de assinatura blindada-ASCII (.asc)

Em seguida, execute dpkg para instalar o MVD Pacote Debian (.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 com 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 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 do terminal:

cd /Applications
open mvd.app

Configurar o dispositivo

A tela principal aparece na inicialização e permite configurar 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.
  • Discriminador: um número de 12 bits usado para distinguir entre múltiplas anúncios de dispositivos comissionados. (Padrão: 3840).
  • Porta Matter: uma porta para Matter comissionamento e comunicação entre as redes IP. O Matter usa a porta TCP/UDP 5540 por padrão, mas é possível configurar o dispositivo virtual para usar porta, contanto que nenhum outro serviço a esteja usando.
  • ID do fornecedor: somente o ID 0xFFF1 do fornecedor de teste é aceito.
  • ID do produto: teste somente os IDs dos produtos de 0x8000 a 0x801F. são suportados.

Tela de configuração do
dispositivo virtual

Configurar seu firewall

Linux

Se houver 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 pode 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 aplicadas Apple e selecione 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

Após configurar o dispositivo, clique em Criar dispositivo. Quando o dispositivo estiver for criado, a tela do Controlador será exibida. Dependendo do tipo de dispositivo que você você 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. brilho.
  • Cor: por exemplo, uma luz de cor 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 está desconectado da rede rapidamente.
  • Redefinir: redefine o dispositivo atual para a configuração original e limpa todo o estado, incluindo comissionamento, estado de controles atual e assim por diante
  • Excluir: destrói o dispositivo e retorna à tela Criar dispositivo.

Controle de dispositivo virtual
tela

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. Este projeto deve contêm uma integração Matter que tem o mesmo VID/PID diferente daquela usada na configuração do dispositivo virtual. Consulte guia de criação de projetos para mais detalhes.

  • É preciso ter um Google Nest Hub compatível com Matter

  • Você precisa de um smartphone com o Android 8.1 ou mais recente, com O app GHA foi 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 mostre o QR code do dispositivo e siga as instruções Parear um Matter dispositivo, que explicar como integrar um dispositivo Matter usando o GHA: Também é possível comissionar o dispositivo usando o Google Home Sample App for Matter

Consulte nossa Matter Primer para saiba como o comissionamento do Matter funciona.

Controlar o dispositivo

Depois de comissionar um dispositivo virtual, você pode controlá-lo usando app Google Home ou Google Assistente voz. Você pode fazer o seguinte:

  • Controle o dispositivo pelo GHA ou Assistant ao monitorar mudanças de estado em no dispositivo virtual ou
  • Controle o dispositivo usando o Sample App for Matter ao monitorar o estado mudanças no dispositivo virtual,ou
  • Controle o estado do dispositivo pelo próprio MVD enquanto monitorar 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.

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.
  • ID do produto: 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. configuração do Terraform.
  • Informações de comissão: mostra os tecidos com que o dispositivo está conectado e o ID do nó do dispositivo na malha.

Ver registros do dispositivo

Se você iniciou o MVD no terminal, a saída do registro é exibida. 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 a MVD. Se você iniciou do terminal, é possível também encerre o aplicativo digitando Ctrl-C no terminal.

Ajuda

Para receber ajuda com o MVD, informar um bug ou solicitar um novo recurso, fale com seu contato do Suporte do Google.

Clicando no botão de ajuda no no canto superior direito da janela leva você a esta página.

Informar um bug

Se você achar que encontrou um defeito no MVD, poderá Registre um bug clicando no botão "Issue" no canto superior direito da janela.

Enviar feedback

Envie sua opinião sobre o que você gosta no MVD ou como para que possamos melhorar sua experiência com a ferramenta, preencha nosso Formulário de Feedback.

O formulário pode ser aberto no feedback Botão na no canto superior direito da janela ou clicando no botão abaixo.

Envie seu feedback.