Matrice dispositivo virtuale

Pratica SDK per dispositivi

Matter dispositivi virtuali sono utili per lo sviluppo e il test Matter e possono essere commissionate utilizzando Google Home app (GHA) e controllato tramite GHA e Google Assistant, proprio come Matter fisico dispositivi mobili.

Per gli sviluppatori di app e altri utenti che devono testare o emulare un'istanza virtuale Matter dispositivo, ma non dispone delle risorse per crearne uno proprio fisico o dispositivo Matter virtuale, Google offre i Matter Virtual Device (MVD). MVD è un strumento desktop autonomo per Linux o macOS leggero che simula diverse tipi di dispositivi Matter virtuali e fornisce una grafica dell'interfaccia utente per controllare e visualizzare gli stati Matter dispositivo.

A differenza di un dispositivo Matter fisico, MVD non si basa su Bluetooth® Low Energy (BLE) o Thread® per unire un fabric Matter. Utilizza invece l'host Connessione di rete Wi-Fi esistente del computer Linux o macOS per la messa in servizio.

Rispetto ad altri strumenti

Il valore MVD è diverso da Virtual Device Controller (VDC) in quanto è una soluzione autonoma, che combina un dispositivo virtuale con una UI per che lo controllano. Al contrario, VDC viene utilizzato controllare un dispositivo Matter virtuale separato, come quello che creiamo nella Matter Virtual Device Development Environment (MVD-DE).

Forse hai già lavorato con il codelab MVD-DE. In questo codelab, crei un singolo tipo di dispositivo virtuale, ovvero una lampadina smart. Nella di contrasto, MVD contiene diverse dispositivi virtuali e include una UI integrata per eseguirli e controllarli.

Tabella: confronto tra strumenti virtuali Matter per dispositivi
MVD VDC MVD-DE (codelab)
Emula un dispositivo Matter
Controllare un dispositivo Matter emulato
Impegno di sviluppo richiesto
Scarica meno di 100 MB 9 GB 20 GB

Dispositivi supportati

Il MVD supporta i seguenti Matter Tipi di dispositivo:

Tabella: Matter dispositivo tipi supportati per MVD
Matter tipo di dispositivo Cluster di applicazioni Tipo di ecosistema domestico
Video player di base 0x0006
0x0506
0x0509
TV
Luce temperatura colore 0x0300
0x0008
0x0006
Chiaro
Sensore di contatto 0x0045
Sensore
Luce regolabile 0x0008
0x0006
Chiaro
Serratura per porte 0x0101
Blocca
Luce colore estesa 0x0300
0x0008
0x0006
Chiaro
Ventilatore 0x0202
0x0006
Ventola
Sensore di flusso 0x0404
Sensore
Switch generico 0x003b
Cambia
Sensore di umidità 0x0405
Sensore
Sensore luce 0x0400
Sensore
Sensore di presenza 0x0406
Sensore
Luce on/off 0x0008
0x0006
Chiaro
Interruttore luce on/off 0x0006
Cambia
Unità plug-in On/Off 0x0008
0x0006
Presa
Sensore di pressione 0x0403
Sensore
Pompa 0x0006
0x0200
0x0402
0x0403
0x0404
N/D
Robot aspirapolvere 0x0054
0x0055
0x0061
Aspirapolvere
Climatizzatore per camera 0x0006
0x0201
0x0202
AC
Rilevatore di fumo e CO 0x005C
Fumo
Rilevatore di fumo e CO 0x005C
Fumo
Sensore di temperatura 0x0402
Sensore
Termostato 0x0201
Termostato
Rivestimenti per finestre 0x0102
Tende

Installa MVD

MVD viene eseguito su macchine con processori x86 a 64 bit che eseguono Debian (11 o versioni successive), Ubuntu (20.04 o versioni successive) o macOS.

Linux

Scarica il pacchetto MVD Debian (.deb)

Scarica il file di firma ASCII armato (.asc)

Quindi esegui dpkg per installare MVD Pacchetto Debian (.deb):

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Scarica il file dmg MVD (macOS x86)

Scarica il file dmg MVD (ARM64 M1)

Fai doppio clic sul file dmg per aprire l'installazione finestra.

Per completare l'installazione, seleziona e trascina l'icona mvd la cartella Applications:

Installazione macOS

Controlla l'utilizzo delle porte

Il modulo controller in MVD utilizza la porta TCP 33000 per effettuare RPC al dispositivo virtuale, quindi se la porta è già utilizzata da un altro sul computer, assicurati di liberarla.

Per vedere se qualche processo utilizza la porta 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Puoi terminare qualsiasi processo utilizzando la porta TCP 33000 con un singolo comando:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Esegui MVD

Linux

Su Linux, esegui MVD dalla cartella delle applicazioni o da il terminale:

mvd

macOS

Su macOS, usa Launchpad per aprire MVD o eseguire MVD dal terminale:

cd /Applications
open mvd.app

Configura il tuo dispositivo

All'avvio, viene visualizzata la schermata principale che ti consente di configurare un dispositivo virtuale:

  • Tipo di dispositivo: seleziona il tipo di dispositivo, ad esempio Luce, Interruttore, Sensore. e così via).
  • Device Name (Nome dispositivo): assegna al dispositivo un nome semplice.
  • Discriminatore: un numero a 12 bit utilizzato per distinguere tra più annunci sui dispositivi commissionabili. (valore predefinito: 3840).
  • Porta Matter: una porta per Matter la messa in servizio e la comunicazione reti IP. Matter utilizza la porta TCP/UDP 5540 per impostazione predefinita, ma puoi configurare il dispositivo virtuale in modo che utilizzi un'altra purché nessun altro servizio la utilizzi.
  • ID fornitore: è supportato solo l'ID fornitore di test 0xFFF1.
  • ID prodotto: solo gli ID prodotto di prova da 0x8000 a 0x801F sono supportati.

Configurazione dispositivo virtuale
schermata

Configura il firewall

Linux

Se sul computer è in esecuzione un firewall, arrestalo o consenti connessioni TCP/UDP in entrata sulla porta Matter.

Per visualizzare il netfilter attualmente attivo regole firewall, esegui:

sudo iptables -L -n

Se utilizzi "ufw", puoi disabilitarlo con:

sudo ufw disable

e può essere riattivata con:

sudo ufw enable

macOS

Per configurare o disattivare il firewall su macOS:

  1. Vai al menu Apple e scegli Impostazioni di sistema.
  2. Fai clic su Rete nell'elenco della barra laterale.
  3. Fai clic su Firewall.
  4. Imposta l'opzione Firewall su Off.

Esegui il dispositivo

Dopo aver configurato il dispositivo, fai clic su Crea dispositivo. Quando il dispositivo viene viene visualizzata la schermata Controller. In base al tipo di dispositivo, puoi visualizzare uno o più dei seguenti controlli:

  • On/Off: comune alla maggior parte dei dispositivi.
  • Livello: ad esempio, una luce potrebbe avere un cursore del livello per regolare. luminosità.
  • Colore: ad esempio, una luce colore potrebbe avere questo controllo.
  • Presenza: il sensore di presenza offre questo controllo per simulare il stato occupato o non occupato.

Tutti i dispositivi virtuali dispongono dei seguenti controlli:

  • QRCode: mostra il codice QR utilizzato per la messa in servizio.
  • Riavvia: riavvia il dispositivo virtuale. Il dispositivo è disconnesso dalla rete per brevi istanti.
  • Ripristino: ripristina i dati di fabbrica del dispositivo corrente e cancella tutti gli stati, incluso messa in servizio, stato corrente dei controlli e così via
  • Elimina: distrugge il dispositivo e torna alla schermata Crea dispositivo.

Controllo dei dispositivi virtuali
schermata

Messa in servizio del dispositivo

Il dispositivo può essere commissionato non appena viene creato.

Esistono un paio di prerequisiti per la messa in servizio del dispositivo:

  • Devi avere un progetto in Google Home Developer Console. Questo progetto deve contengono un'integrazione Matter che ha lo stesso VID/PID di quella utilizzata per configurare il dispositivo virtuale. Consulta guida alla creazione del progetto per maggiori dettagli.

  • Devi avere un Google Nest Hub che supporti Matter

  • Devi avere uno smartphone Android con Android 8.1 o versioni successive con App GHA installata.

  • Lo smartphone Android deve essere connesso alla stessa rete Wi-Fi dell'hub.

  • Il computer host deve essere connesso alla rete Wi-Fi.

Per mettere in servizio il dispositivo utilizzando GHA, fai clic su QRCode per mostrare il codice QR del dispositivo, quindi segui le istruzioni Accoppia un Matter dispositivo, spiegare come effettuare l'onboarding di un dispositivo Matter utilizzando GHA. Puoi anche mettere in servizio il dispositivo utilizzando Google Home Sample App for Matter

Consulta le nostre Matter Da Primer a scopri come funziona la Matter Commissioning.

Controlla il dispositivo

Dopo aver messo in servizio un dispositivo virtuale, puoi controllarlo utilizzando l'app Google Home o l'Assistente Google tramite la tua voce. Puoi:

  • Controlla il dispositivo tramite GHA o Assistant durante il monitoraggio delle modifiche dello stato su il dispositivo virtuale o
  • Controlla il dispositivo utilizzando Sample App for Matter durante il monitoraggio dello stato modifiche sul dispositivo virtuale o
  • Controlla lo stato del dispositivo tramite MVD stesso, mentre il monitoraggio delle modifiche dello stato in GHA o Assistant.

Esegui il test con il dispositivo

Per eseguire il test con Assistant, consigliamo di utilizzare una frase un simulatore come Estensione Google Home per VS Code o il plug-in Google Home per Android Studio.

Visualizza i dettagli del dispositivo

La schermata Dettagli dispositivo mostra informazioni dettagliate sul dispositivo:

  • Nome:il nome descrittivo assegnato al dispositivo.
  • Tipo di dispositivo: il tipo di dispositivo selezionato.
  • Discriminatore: l'attuale discriminatore del dispositivo.
  • ID fornitore: l'ID del fornitore del dispositivo corrente.
  • ID prodotto: l'ID prodotto corrente del dispositivo.
  • Porta RPC: la porta RPC con cui il dispositivo comunica con i controller (GUI).
  • Porta Matter: la porta utilizzata dal dispositivo attuale per possono comunicare tramite una rete IP.
  • Pass Code: il PIN utilizzato per mettere in servizio il dispositivo tramite la rete.
  • Cartella di configurazione: la cartella in cui è archiviato il dispositivo virtuale configurazione.
  • Informazioni sulla commissione: mostra i tessuti che il dispositivo ha unito e l'ID nodo del dispositivo nell'infrastruttura.

Visualizza i log del dispositivo

Se hai avviato MVD dal terminale, viene visualizzato l'output di log il giorno stdout. Puoi visualizzare i log del dispositivo anche nella scheda Log del dispositivo.

Arresta il dispositivo

Per arrestare e distruggere il dispositivo, fai clic su Elimina.

Chiudere l'app

La chiusura della finestra di controllo distrugge il dispositivo e termina Applicazione MVD. Se l'hai avviata dal terminale, termina l'applicazione anche digitando Ctrl-C nel terminale.

Ricevi assistenza

Per ricevere assistenza per MVD, segnalare un bug o per richiedi una nuova funzionalità, rivolgiti al tuo contatto dell'Assistenza Google.

Fai clic sul pulsante Guida in nell'angolo in alto a destra della finestra ti porta a questa pagina.

Segnala un bug

Se ritieni di aver trovato un difetto in MVD, puoi segnala un bug facendo clic sul problema nell'angolo in alto a destra della finestra.

Invia feedback

Per condividere le tue opinioni su cosa ti piace di MVD o su come possiamo migliorare la tua esperienza con questo strumento, compila il nostro Modulo di feedback.

Il modulo può essere avviato dal feedback Pulsante in nell'angolo in alto a destra della finestra o facendo clic sul pulsante di seguito.

Inviaci il tuo feedback