Matrice dispositivo virtuale

Matter SDK del dispositivo

I dispositivi virtuali Matter sono utili per lo sviluppo e il test delle soluzioni Matter e possono essere commissionati utilizzando Google Home app (GHA) e controllati tramite GHA e Google Assistant, proprio come i dispositivi Matter fisici.

Per gli sviluppatori di app e altri soggetti che devono testare o emulare un dispositivo Matter virtuale, ma non dispongono delle risorse per creare il proprio dispositivo fisico o virtuale Matter, Google offre Matter Virtual Device (MVD). MVD è uno strumento desktop Linux o macOS leggero e autonomo che simula diversi tipi di dispositivi Matter virtuali e fornisce un'interfaccia utente grafica per controllare e visualizzare gli stati del dispositivo Matter virtuale.

A differenza di un dispositivo Matter fisico, MVD non si affida a Bluetooth® Low Energy (BLE) o Thread® per unire un fabric Matter. Utilizza invece la connessione di rete Wi-Fi esistente della macchina host Linux o macOS per la messa in servizio.

Rispetto ad altri strumenti

MVD differisce da Virtual Device Controller (VDC) perché è una soluzione autonoma, che combina un dispositivo virtuale con una UI per il controllo. Al contrario, VDC viene utilizzato per controllare un dispositivo Matter virtuale separato, come quello che creiamo in Matter Virtual Device Development Environment (MVD-DE).

Potresti aver già lavorato con il codelab MVD-DE. In questo codelab, creerai un singolo tipo di dispositivo virtuale: una lampadina smart. Al contrario, MVD contiene diversi dispositivi virtuali predefiniti e include un'interfaccia utente integrata per eseguirli e controllarli.

Tabella: Confronto tra gli strumenti per dispositivi Matter virtuali
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

MVD supporta i seguenti tipi di dispositivi Matter:

Tabella: Matter tipi di dispositivi supportati per MVD
Matter tipo di dispositivo Cluster di applicazioni Tipo di ecosistema domestico
Video player di base 0x0006
0x0506
0x0509
TV
Temperatura del colore Luce 0x0300
0x0008
0x0006
Lieve
Sensore a contatto 0x0045
Sensore
Luce dimmerabile 0x0008
0x0006
Lieve
Serratura per porte 0x0101
Blocca
Colore chiaro esteso 0x0300
0x0008
0x0006
Lieve
Ventilatore 0x0202
0x0006
Fan
Sensore di flusso 0x0404
Sensore
Interruttore generico 0x003b
Cambia
Sensore di umidità 0x0405
Sensore
Sensore di illuminamento 0x0400
Sensore
Sensore di presenza 0x0406
Sensore
Luce on/off 0x0008
0x0006
Lieve
Interruttore della 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/A
Robot aspirapolvere 0x0054
0x0055
0x0061
Aspirapolvere
Climatizzatore per camera 0x0006
0x0201
0x0202
C
Rilevatore di fumo e CO 0x005C
Fumo
Sensore di temperatura 0x0402
Sensore
Termostato 0x0201
removed
Copertura per finestre 0x0102
Tende

Installa MVD

MVD viene eseguito su macchine con processore 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 della firma ASCII armored (.asc)

Esegui quindi dpkg per installare il pacchetto MVD 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)

Quindi fai doppio clic sul file dmg per aprire la finestra di installazione.

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

Installazione macOS

Controlla l'utilizzo delle porte

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

Per verificare se un 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 dal terminale:

mvd

macOS

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

cd /Applications
open mvd.app

Configura il tuo dispositivo

La schermata principale viene visualizzata all'avvio e ti consente di configurare un dispositivo virtuale:

  • Tipo di dispositivo: seleziona il tipo di dispositivo (ad esempio luce, interruttore, sensore e così via).
  • Nome dispositivo: assegna al dispositivo un nome facile da usare.
  • Discriminatore: un numero a 12 bit utilizzato per distinguere più annunci di dispositivi commissionabili. (valore predefinito: 3840).
  • Porta Matter: una porta per la messa in servizio di Matter e la comunicazione tramite reti IP. Matter utilizza la porta TCP/UDP 5540 per impostazione predefinita, ma puoi configurare il dispositivo virtuale in modo che utilizzi una porta diversa, a condizione che non venga utilizzata da nessun altro servizio.
  • ID fornitore: è supportato solo l'ID fornitore di test 0xFFF1.
  • ID prodotto: sono supportati solo gli ID prodotto di prova da 0x8000 a 0x801F.

Schermata di configurazione
dispositivo virtuale

Configura il firewall

Linux

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

Per visualizzare le regole firewall attive di netfilter corrente, esegui:

sudo iptables -L -n

Se utilizzi "ufw", può essere disattivato con:

sudo ufw disable

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. Sposta l'interruttore del Firewall su Off.

Esegui il tuo dispositivo

Una volta configurato il dispositivo, fai clic su Crea dispositivo. Quando il dispositivo viene creato, viene visualizzata la schermata Controller. A seconda del tipo di dispositivo selezionato, potresti visualizzare uno o più dei seguenti controlli:

  • On/Off: comune per la maggior parte dei dispositivi.
  • Livello: ad esempio, una luce potrebbe avere un cursore di livello per regolare la luminosità.
  • Colore: ad esempio, una luce colorata può avere questo controllo.
  • Numero di persone: il sensore di presenza offre questo controllo per simulare lo stato di 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 viene disconnesso per un breve momento dalla rete.
  • Ripristino: ripristina i dati di fabbrica del dispositivo attuale e cancella tutti gli stati, inclusi la messa in servizio, lo stato attuale dei controlli e così via.
  • Elimina: distrugge il dispositivo e torna alla schermata Crea dispositivo.

Schermata di controllo dei dispositivi virtuali

Commissione il 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 contenere un'integrazione Matter con la stessa combinazione VID/PID di quella utilizzata per la configurazione del dispositivo virtuale. Per maggiori dettagli, consulta la guida alla creazione di un progetto.

  • Devi avere un Google Nest Hub che supporta Matter

  • Devi avere uno smartphone Android con Android 8.1 o versioni successive su cui è installato GHA.

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

  • La macchina host deve essere connessa alla rete Wi-Fi.

Per la messa in servizio del dispositivo utilizzando GHA, fai clic su QRCode per visualizzare il relativo codice QR, quindi segui le istruzioni riportate in Accoppiare un dispositivo Matter che spiegano come fare l'onboarding di un dispositivo Matter utilizzando GHA. Puoi anche mettere in servizio il dispositivo utilizzando Google Home Sample App for Matter.

Consulta il nostro Matter Primer per scoprire come funziona la Messa in servizio di Matter.

Controlla il dispositivo

Dopo aver commissionato un dispositivo virtuale, puoi controllarlo utilizzando l'app Google Home o l'Assistente Google con la voce. Puoi:

  • Controlla il dispositivo tramite GHA o Assistant durante il monitoraggio delle modifiche di stato sul dispositivo virtuale oppure
  • Controlla il dispositivo utilizzando Sample App for Matter mentre monitori le modifiche di stato sul dispositivo virtuale.
  • Controlla lo stato del dispositivo tramite MVD durante il monitoraggio delle modifiche di stato in GHA o Assistant.

Esegui il test con il dispositivo

Per eseguire il test con Assistant, ti consigliamo di usare un simulatore di frasi, ad esempio Google Home Extension for VS Code o Google Home Plugin for Android Studio.

Visualizza dettagli dispositivo

La schermata Dettagli dispositivo mostra informazioni dettagliate sul dispositivo:

  • Nome: il nome descrittivo assegnato al dispositivo.
  • Device Type (Tipo di dispositivo): il tipo di dispositivo selezionato.
  • Discriminatore: l'attuale discriminatore del dispositivo.
  • ID fornitore: l'ID fornitore del dispositivo corrente.
  • ID prodotto: l'ID prodotto del dispositivo corrente.
  • Porta RPC: la porta RPC su cui il dispositivo comunica con i controller (GUI).
  • Porta Matter: la porta utilizzata dal dispositivo attuale per comunicare tramite la rete IP.
  • Pass Code: il PIN utilizzato per la messa in servizio del dispositivo tramite la rete.
  • Cartella di configurazione: la cartella in cui il dispositivo virtuale archivia la configurazione.
  • Informazioni sulla commissione: mostra i fabric uniti dal dispositivo e l'ID nodo del dispositivo nel fabric.

Visualizzare i log del dispositivo

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

Arresta il dispositivo

Per interrompere ed eliminare il dispositivo, fai clic su Elimina.

Chiudi l'app

La chiusura della finestra di controllo determina l'eliminazione del dispositivo e l'interruzione dell'applicazione MVD. Se l'hai avviata dal terminale, puoi chiudere l'applicazione anche digitando Ctrl-C nel terminale.

Ricevere assistenza

Per ricevere assistenza in merito a MVD, segnalare un bug o richiedere una nuova funzionalità, rivolgiti al tuo contatto dell'Assistenza Google.

Per accedere a questa pagina, fai clic sul pulsante della guida nell'angolo in alto a destra della finestra.

Segnala un bug

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

Invia feedback

Per inviare la tua opinione su cosa ti piace di MVD o su come possiamo migliorare la tua esperienza con lo strumento, compila il nostro modulo di feedback.

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

Inviaci il tuo feedback