I dispositivi virtuali Matter sono utili per sviluppare e testare le 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 gli altri utenti che devono testare o emulare un dispositivo Matter virtuale, ma che non dispongono delle risorse per creare il proprio dispositivo Matter fisico o virtuale, 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 offre una Graphic User Interface 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 collegarsi a un'infrastruttura Matter. Per la messa in servizio, utilizza invece la connessione di rete Wi-Fi esistente del computer Linux o macOS.
Rispetto ad altri strumenti
MVD differisce da Virtual Device Controller (VDC) in quanto è 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 creato in Matter Virtual Device Development Environment (MVD-DE).
Forse hai 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 una UI integrata per eseguirli e controllarli.
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:
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 |
Lieve |
Sensore di contatto |
0x0045 |
Sensore |
Luce regolabile |
0x0008 0x0006 |
Lieve |
Serratura per porte |
0x0101 |
Blocca |
Extended Color Light |
0x0300 0x0008 0x0006 |
Lieve |
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 |
On/Off Light |
0x0008 0x0006 |
Lieve |
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/A |
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 |
removed |
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 della firma ASCII armata (.asc)
Quindi esegui dpkg
per installare il pacchetto Debian (.deb) MVD:
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
:
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à in uso da un altro processo 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 dal terminale:
mvd
macOS
Su macOS, usa Launchpad per aprire MVD o esegui 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.
- Discriminator: un numero a 12 bit utilizzato per distinguere più annunci pubblicitari di dispositivi commissionabili. (valore predefinito:
3840
). - Porta Matter: una porta per la messa in servizio e la comunicazione di Matter tramite reti IP. Per impostazione predefinita, Matter utilizza la porta TCP/UDP 5540, ma puoi configurare il dispositivo virtuale in modo che utilizzi una porta diversa, purché 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 test da
0x8000
a0x801F
.
Configura il firewall
Linux
Se sul computer è in esecuzione un firewall, arrestalo o consenti le connessioni TCP/UDP in arrivo sulla porta Matter.
Per visualizzare le regole firewall netfilter attualmente attive, 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:
- 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 vedere 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 colore potrebbe avere questo controllo.
- Numero di persone: il sensore di presenza offre questo controllo per simulare lo stato di occupato o non in casa.
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 breve tempo dalla rete.
- Ripristino: ripristina i dati di fabbrica del dispositivo corrente e cancella tutti gli stati, inclusi messa in servizio, stato dei controlli attuali e così via.
- Elimina: distrugge il dispositivo e torna alla schermata Crea dispositivo.
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 contenere un'integrazione Matter che abbia la stessa combinazione VID/PID che hai utilizzato per configurare il dispositivo virtuale. Per maggiori dettagli, consulta la guida alla creazione del progetto.
Devi disporre di un Google Nest Hub che supporti Matter
Devi avere uno smartphone Android con Android 8.1 o versioni successive su cui è installato GHA.
Lo smartphone Android deve essere connesso alla stessa rete Wi-Fi dell'hub.
Il computer host deve essere connesso alla rete Wi-Fi.
Per effettuare la messa in servizio del dispositivo utilizzando GHA, fai clic su QRCode per visualizzare il codice QR del dispositivo, quindi segui le istruzioni riportate in Accoppiare un dispositivo Matter che spiegano come configurare 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 Commissione di Matter.
Controlla il dispositivo
Dopo aver commissionato un dispositivo virtuale, puoi controllarlo tramite l'app Google Home o l'Assistente Google tramite comandi vocali. Puoi:
- Controlla il dispositivo tramite GHA o Assistant durante il monitoraggio dei cambiamenti di stato sul dispositivo virtuale, oppure
- controlla il dispositivo utilizzando Sample App for Matter durante il monitoraggio delle modifiche di stato sul dispositivo virtuale,oppure
- Controlla lo stato del dispositivo tramite MVD mentre monitori le modifiche dello stato in GHA o Assistant.
Esegui il test con il dispositivo
Per eseguire il test con Assistant, ti consigliamo di utilizzare un simulatore di enunciati 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: 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 comunicare tramite la rete IP.
- Pass Code: il PIN utilizzato per mettere in servizio il dispositivo tramite la rete.
- Cartella di configurazione: la cartella in cui è archiviata la configurazione del dispositivo virtuale.
- Informazioni sulla commissione: mostra i fabric uniti dal dispositivo e l'ID nodo del dispositivo nell'infrastruttura.
Visualizza i log del dispositivo
Se hai avviato MVD dal terminale, l'output di log viene visualizzato su 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 elimina il dispositivo e termina l'applicazione MVD. Se l'hai avviata dal terminale, puoi chiudere l'applicazione anche digitando Ctrl-C nel terminale.
Ricevere assistenza
Per ricevere assistenza per MVD, segnalare un bug o richiedere una nuova funzionalità, rivolgiti al tuo contatto dell'Assistenza Google.
Fai clic sul pulsante della guida
nell'angolo in alto a destra della finestra per aprire 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
Compila il nostro modulo di feedback per farci sapere cosa pensi di MVD o su come possiamo migliorare la tua esperienza con lo strumento.
Il modulo può essere avviato dal pulsante di feedback
nell'angolo in alto a destra della finestra oppure facendo clic sul pulsante di seguito.