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 utilizzando GHA e Google Assistant, proprio come i dispositivi Matter fisici.
Per gli sviluppatori di app e altri utenti che devono testare o emulare un dispositivo virtuale Matter, ma non dispongono delle risorse per creare il proprio dispositivo fisico o virtuale Matter, Google offre Matter Virtual Device (MVD). MVD è uno strumento desktop autonomo e leggero per Linux o macOS 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 basa su Bluetooth® Low Energy (BLE) o Thread® per entrare a far parte di 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 è diverso da Virtual Device Controller (VDC) in quanto è una soluzione autonoma che combina un dispositivo virtuale con una UI per controllarlo. Al contrario, il VDC viene utilizzato per controllare un dispositivo Matter virtuale separato.
MVD contiene diversi dispositivi virtuali predefiniti e include un'interfaccia utente integrata per eseguirli e controllarli.
Dispositivi supportati
MVD supporta i seguenti tipi di dispositivi Matter:
| Tipo di dispositivo Matter | Cluster di applicazioni | Tipo di ecosistema per la casa |
|---|---|---|
| Purificatore d'aria |
0x0202 0x0006 0x0071 0x0072 |
Purificatore d'aria |
| Sensore della qualità dell'aria |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042b 0x042c 0x042d 0x042e 0x042f 0x0413 0x0415 |
Sensore |
| Video player di base |
0x0006 0x0506 0x0509 |
Televisione |
| Luce con temperatura di colore |
0x0300 0x0008 0x0006 |
Chiaro |
| Sensore di contatto |
0x0045 |
Sensore |
| Luce dimmerabile |
0x0008 0x0006 |
Chiaro |
| Unità plug-in con dimmer |
0x0006 0x0008 |
Outlet |
| Lavastoviglie |
0x0006 0x0059 0x0056 0x0060 |
Lavastoviglie |
| Serratura per porte |
0x0101 |
Blocca |
| Luce a gamma cromatica estesa |
0x0300 0x0008 0x0006 |
Chiaro |
| Fan |
0x0202 0x0006 |
Fan |
| Sensore di flusso |
0x0404 |
Sensore |
| Switch generico |
0x003b |
Interruttore |
| Sensore di umidità |
0x0405 |
Sensore |
| Lavatrice |
0x0006 0x0051 0x0053 0x0056 0x0060 |
Lavatrice |
| Sensore luce |
0x0400 |
Sensore |
| Sensore di presenza |
0x0406 |
Sensore |
| Luce On/Off |
0x0008 0x0006 |
Chiaro |
| Interruttore della luce on/off |
0x0006 |
Interruttore |
| Unità plug-in on/off |
0x0008 0x0006 |
Outlet |
| Sensore di pressione |
0x0403 |
Sensore |
| Pompa |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Pompa |
| Robot aspirapolvere |
0x0054 0x0055 0x0061 |
Aspirapolvere |
| Condizionatore per stanza |
0x0006 0x0201 0x0202 |
Condizionatore |
| Rilevatore di fumo/CO |
0x005C |
Rilevatore di CO
Rilevatore di fumo |
| Sensore di temperatura |
0x0402 |
Sensore |
| Termostato |
0x0201 |
Termostato |
| Copertura per finestre |
0x0102 |
Veneziane |
Installa MVD
MVD viene eseguito su macchine con processore x86 a 64 bit con Debian
(13 Trixie o versioni successive), Ubuntu (20.04 Noble Numbat o versioni successive) o macOS.
Linux
Scarica il pacchetto Debian (.deb) di MVD
Scarica il file della firma ASCII con protezione (.asc)
Poi esegui dpkg per installare il pacchetto Debian (.deb) MVD:
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
Scarica il file dmg di 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:
Controlla l'utilizzo delle porte
Il modulo del controller in MVD utilizza la porta TCP 33000 per effettuare chiamate RPC al dispositivo virtuale, quindi se questa porta è già in uso da un altro processo sul tuo computer, assicurati di liberarla.
Per verificare se un processo utilizza la porta 33000:
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000Puoi terminare qualsiasi processo che utilizza la porta TCP 33000 con un singolo comando:
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killEsegui MVD
Linux
Su Linux, esegui MVD dalla cartella delle applicazioni o dal terminale:
mvdmacOS
Su macOS, utilizza Launchpad per aprire MVD o esegui MVD dal terminale:
cd /Applicationsopen mvd.app
Configura il 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).
- Nome dispositivo: assegna un nome facile da usare al dispositivo.
- Discriminatore: un numero a 12 bit utilizzato per distinguere tra più annunci di dispositivi commissionabili. (Valore predefinito:
3840). - Porta Matter: una porta per la messa in servizio e la comunicazione di Matter 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 sia utilizzata da altri servizi.
- ID fornitore: è supportato solo l'ID fornitore di test
0xFFF1. - ID prodotto: sono supportati solo gli ID prodotto di test da
0x8000a0x801F.
Configura il firewall
Linux
Se sul computer è in esecuzione un firewall, disattivalo o consenti le connessioni TCP/UDP in entrata sulla porta Matter.
Per visualizzare le regole firewall netfilter attualmente attive, esegui:
sudo iptables -L -nSe utilizzi "ufw", puoi disattivarlo con:
sudo ufw disablePuò essere riattivato con:
sudo ufw enablemacOS
Per configurare o disattivare il firewall su macOS:
- Vai al menu Apple e scegli Impostazioni di Sistema.
- Fai clic su Rete nell'elenco della barra laterale.
- Fai clic su Firewall.
- Imposta l'opzione Firewall su Off.
Esegui il dispositivo
Dopo aver 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 alla maggior parte dei dispositivi.
- Livello: ad esempio, una luce potrebbe avere un cursore del livello per regolare la luminosità.
- Colore: ad esempio, una luce colorata potrebbe avere questo controllo.
- Presenza: il sensore di presenza offre questo controllo per simulare lo stato di presenza o assenza.
Tutti i dispositivi virtuali hanno i seguenti controlli:
- QRCode: mostra il codice QR utilizzato per la messa in servizio.
- Riavvia: riavvia il dispositivo virtuale. Il dispositivo viene disconnesso brevemente dalla rete.
- Ripristina: ripristina i dati di fabbrica del dispositivo corrente e cancella tutti gli stati, inclusi la messa in servizio, lo stato dei controlli correnti e così via
- Elimina: elimina il dispositivo e torna alla schermata Crea dispositivo.
Tratti specifici del produttore
I tratti specifici del produttore (MS) sono supportati dalle API Home per Android e forniscono funzionalità aggiuntive oltre ai tratti standard in Matter. Per testare un dispositivo con un tratto MS, MVD ti consente di interagire con i tratti nella sezione denominata Cluster personalizzati (vedi l'immagine sopra).
Commissiona il dispositivo
Il dispositivo è commissionabile non appena viene creato.
Per la messa in servizio del dispositivo sono necessari un paio di prerequisiti:
Devi avere un progetto in Google Home Developer Console. Questo progetto deve contenere un'integrazione Matter con la stessa combinazione VID/PID utilizzata per configurare il dispositivo virtuale. Per maggiori dettagli, consulta la guida alla creazione di progetti.
Devi avere un Google Nest Hub che supporta Matter
Devi avere uno smartphone Android con Android 8.1 o versioni successive e con GHA installata.
Lo smartphone Android deve essere connesso alla stessa rete Wi-Fi dell'hub.
La macchina host deve essere connessa alla rete Wi-Fi.
Per commissionare il dispositivo utilizzando GHA, fai clic su QRCode per visualizzare il codice QR del dispositivo, quindi segui le istruzioni riportate in Accoppia un dispositivo Matter, che spiegano come eseguire l'onboarding di un dispositivo Matter utilizzando GHA. Puoi anche commissionare il dispositivo utilizzando Google Home Sample App for Matter.
Consulta la nostra guida introduttivaMatter per scoprire come funziona la messa in servizio di Matter.
Controllare il dispositivo
Dopo aver commissionato un dispositivo virtuale, puoi controllarlo utilizzando l'app Google Home o l'Assistente Google tramite comandi vocali. Puoi:
- Controlla il dispositivo tramite GHA o Assistant monitorando le modifiche di stato sul dispositivo virtuale oppure
- Controlla il dispositivo utilizzando Sample App for Matter mentre monitori le modifiche di stato sul dispositivo virtuale oppure
- Controlla lo stato del dispositivo tramite MVD monitorando al contempo le modifiche dello stato in GHA o Assistant.
Esegui il test con il dispositivo
Per eseguire i test con Assistant, ti consigliamo di utilizzare un simulatore di comandi vocali come l'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: il discriminatore del dispositivo corrente.
- ID fornitore: l'ID fornitore del dispositivo corrente.
- ID prodotto: l'ID prodotto del dispositivo corrente.
- Porta RPC: la porta RPC con cui il dispositivo comunica con i controller (GUI).
- Porta Matter: la porta utilizzata dal dispositivo corrente per comunicare tramite la rete IP.
- Pass Code: il PIN utilizzato per commissionare il dispositivo tramite la rete.
- Cartella di configurazione: la cartella in cui il dispositivo virtuale archivia la configurazione.
- Informazioni sulla commissione: mostra i fabric a cui il dispositivo si è unito e l'ID nodo del dispositivo nel fabric.
Visualizza i log del dispositivo
Se hai avviato MVD dal terminale, l'output del log viene visualizzato su stdout.
Puoi anche visualizzare i log del dispositivo nella scheda Log del dispositivo.
Arresta il dispositivo
Per arrestare e distruggere il dispositivo, fai clic su Elimina.
Termina l'app
La chiusura della finestra di controllo distrugge il dispositivo e termina l'applicazione MVD. Se hai avviato l'applicazione dal terminale, puoi anche terminarla digitando Ctrl-C nel terminale.
Ricevi assistenza
Per ricevere assistenza con MVD, segnalare un bug o richiedere una nuova funzionalità, rivolgiti al tuo contatto dell'Assistenza Google.
Se fai clic sul pulsante della guida nell'angolo in alto a destra della finestra, viene visualizzata questa pagina.
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 le tue opinioni su ciò che 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 di feedback nell'angolo in alto a destra della finestra o facendo clic sul pulsante di seguito.
Puoi anche fornire un feedback con il sondaggio che viene visualizzato in basso quando utilizzi MVD.