I dispositivi virtuali Matter sono utili per lo sviluppo e il test delle soluzioni Matter. 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 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 leggero e autonomo che simula diversi tipi di dispositivi Matter virtuali e fornisce 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. Utilizza invece la connessione di rete Wi-Fi esistente della macchina Linux host per la messa in servizio.
Rispetto ad altri strumenti
MVD si differenzia 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à utilizzato 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 l'esecuzione e il controllo.
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
Attualmente, l'MVD supporta i seguenti Matter tipi di dispositivi:
Matter tipo di dispositivo | Cluster di applicazioni | Tipo di ecosistema domestico |
---|---|---|
Temperatura colore Luce |
0x0300 0x0008 0x0006 |
Luce |
Luce dimmerabile |
0x0008 0x0006 |
Luce |
Colore chiaro esteso |
0x0300 0x0008 0x0006 |
Luce |
Sensore di presenza |
0x0406 |
Sensore |
Luce Acceso/Spento |
0x0008 0x0006 |
Luce |
Unità plug-in On/Off |
0x0008 0x0006 |
Presa |
Installa MVD
MVD viene eseguito su macchine processore x86 a 64 bit che eseguono Debian (11 o versioni successive) o Ubuntu (20.04 o versioni successive).
Per installarla:
Scarica il pacchetto MVD Debian (.deb)
Scarica il file della firma armored-ASCII (.asc)
Esegui quindi dpkg
per installare il pacchetto MVD Debian (.deb):
sudo dpkg -i mvd_1.1.0_amd64.deb
Controlla l'utilizzo delle porte
Il modulo controller in MVD utilizza la porta TCP 33000 per effettuare chiamate RPC al dispositivo virtuale, quindi se la porta è già utilizzata da un altro processo sul computer, assicurati di liberarla.
Per verificare se un processo utilizza la porta 33000:
sudo fuser -v 33000/tcp
Puoi terminare qualsiasi processo che utilizza la porta TCP 33000 con un singolo comando:
sudo fuser -k 33000/tcp
Esegui MVD
Esegui MVD dalla cartella delle applicazioni o dal terminale:
mvd
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 e la comunicazione 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 venga utilizzata da nessun altro servizio.
- ID fornitore: attualmente è supportato solo l'ID fornitore di prova
0xFFF1
. - ID prodotto: attualmente sono supportati solo gli ID prodotto di test da
0x8000
a0x801F
.
Configura il firewall
Se nel 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
Nota: se utilizzi ufw
, puoi disattivarlo con:
sudo ufw disable
Inoltre, puoi riattivarlo con:
sudo ufw enable
Esegui il tuo 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 dispositivo di scorrimento del livello per regolare la luminosità.
- Colore: ad esempio, questo controllo può essere assegnato a una luce colorata.
- Numero di persone: il sensore di presenza offre questo controllo per simulare lo stato occupato/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 breve tempo dalla rete.
- Ripristino: ripristina i dati di fabbrica del dispositivo corrente e cancella tutto lo stato, inclusa la messa in servizio, lo stato dei controlli attuali e così via.
- Elimina: elimina il dispositivo e torna alla schermata Crea dispositivo.
Commissiona 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 di VID/PID di quella utilizzata per la configurazione del dispositivo virtuale. Per i dettagli, consulta la guida alla creazione di progetti.
Devi avere un Google Nest Hub che supporta Matter
Devi avere un telefono Android con Android 8.1 o versioni successive sul quale GHA è installato.
Il telefono 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 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 la 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 con l'app Google Home o con l'Assistente Google con i comandi vocali. Puoi:
- Controlla il dispositivo tramite GHA o Assistant mentre monitori le modifiche dello 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 stesso 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 usare un simulatore di frasi come Google Home Extensions for VS Code o Google Home Plugin for Android Studio.
Visualizzare 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 attuale del dispositivo.
- ID fornitore: l'ID fornitore del dispositivo corrente.
- ID prodotto: l'ID prodotto corrente del dispositivo.
- Porta RPC: la porta RPC che il dispositivo comunica con i controller (GUI).
- Porta Matter: la porta utilizzata dal dispositivo corrente per comunicare tramite la rete IP.
- Pass Code (Codice di accesso): il PIN utilizzato per mettere in servizio il dispositivo tramite la rete.
- Cartella di configurazione: la cartella in cui viene archiviata la configurazione del dispositivo virtuale.
- Informazioni sulla commissione: mostra i fabric a cui il dispositivo è unito 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 dispositivo.
Arresta il dispositivo
Per interrompere ed eliminare il dispositivo, fai clic su Elimina.
Chiudi l'app
La chiusura della finestra di controllo eliminerà il dispositivo e termina l'applicazione MVD. Se l'hai avviata dal terminale, puoi anche chiudere l'applicazione 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.
Fai clic sul pulsante della guida
nell'angolo in alto a destra della finestra per accedere a questa pagina.Segnala un bug
Se ritieni di aver trovato un difetto nell'MVD, puoi segnalare un bug facendo clic sul pulsante Problema nell'angolo in alto a destra della finestra.
Invia feedback
Per farci sapere cosa ti piace di MVD o 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.