I dispositivi virtuali Matter sono utili per lo sviluppo e il test di soluzioni Matter e possono essere commissionati utilizzando Google Home app (GHA) e controllati utilizzando GHA e Google Assistant, proprio come i dispositivi fisici Matter.
Per gli sviluppatori di app e altre persone che devono testare o emulare un dispositivo Matter virtuale, ma che non dispongono delle risorse necessarie per creare i propri dispositivi Matter fisici o virtuali, Google offre Matter Virtual Device (MVD). MVD è uno strumento desktop Linux leggero e autonomo che simula diversi tipi di dispositivi Mattervirtuali 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 unirsi a un tessuto Matter. Al contrario, utilizza la connessione di rete Wi-Fi esistente della macchina host Linux.
Rispetto ad altri strumenti
MVD è diverso da Virtual Device Controller (VDC) in quanto è una soluzione autonoma, combinando un dispositivo virtuale con un'interfaccia utente 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).
Forse hai già lavorato con il codelab su MVD-DE. In questo codelab, crei un singolo tipo di lampadina per dispositivo virtuale, una smart lampadina. Al contrario, MVD contiene diversi dispositivi virtuali predefiniti e include una UI integrata per l'esecuzione e il controllo di tali dispositivi.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Emula un dispositivo Matter | |||
Controllare un dispositivo Matter emulato | |||
Impegno di sviluppo necessario | |||
Scarica | meno di 100 MB | 9 GB | 20 GB |
Dispositivi supportati
Attualmente, MVD supporta i seguenti Matter tipi di dispositivi:
Matter tipo di dispositivo | Cluster applicazioni | Tipo di ecosistema domestico |
---|---|---|
Luce della temperatura colore |
0x0300 0x0008 0x0006 |
Luce |
Luce dimmerabile |
0x0008 0x0006 |
Luce |
Chiaro a colori esteso |
0x0300 0x0008 0x0006 |
Luce |
Sensore di presenza |
0x0406 |
Sensore |
Luce accesa/spenta |
0x0008 0x0006 |
Luce |
Unità plug-in di accensione/spegnimento |
0x0008 0x0006 |
Outlet |
Installa MVD
MVD viene eseguito su computer con 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 di firma ASCII armored (.asc)
Quindi, esegui dpkg
per installare il pacchetto Debian (.deb) di MVD:
sudo dpkg -i mvd_1.1.0_amd64.deb
Controlla l'utilizzo della porta
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 sul computer, assicurati di liberarla.
Per verificare se un processo utilizza la porta 33000:
sudo fuser -v 33000/tcp
Puoi terminare qualsiasi processo utilizzando la porta TCP 33000 con un unico 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 consente di configurare un dispositivo virtuale:
- Tipo di dispositivo: seleziona il tipo di dispositivo (ad esempio, Luce, Interruttore, Sensore e così via).
- Nome del dispositivo: assegna un nome semplice al dispositivo.
- Discriminatore: un numero a 12 bit utilizzato per distinguere tra più pubblicità su dispositivi commissionabili. (Valore predefinito:
3840
). - Porta Matter: una porta per Matter le commissioni e le comunicazioni attraverso le 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, purché non venga utilizzato da nessun altro servizio.
- ID fornitore: al momento è supportato solo l'ID fornitore di prova
0xFFF1
. - ID prodotto: al momento sono supportati solo gli ID prodotto di test da
0x8000
a0x801F
.
Configura il firewall
Se sul computer è in esecuzione un firewall, arrestalo o consenti le connessioni TCP/UDP in entrata sulla porta Matter.
Per visualizzare le regole attive del firewall netfilter attive, esegui:
sudo iptables -L -n
Nota: se utilizzi ufw
, puoi disattivarlo con:
sudo ufw disable
E puoi riattivarlo con:
sudo ufw enable
Esegui il tuo dispositivo
Dopo aver configurato il dispositivo, fai clic su Crea dispositivo. Una volta creato il dispositivo, 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 dei livelli per regolare la luminosità.
- Colore: ad esempio, una luce colorata potrebbe avere questo controllo.
- Numero di persone: il sensore di presenza offre questo controllo, per simulare lo stato di occupazione.
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 dalla rete per breve tempo.
- Reset (Reimposta): ripristina i dati di fabbrica del dispositivo attuale e cancella tutti gli stati, inclusi messa in servizio, stato attuale dei controlli e così via
- Elimina: elimina il dispositivo e torna alla schermata Crea dispositivo.
Mettere in servizio il tuo dispositivo
Il dispositivo è commissionabile non appena viene creato.
La messa in servizio del dispositivo prevede 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 di quella utilizzata per la configurazione del dispositivo virtuale. Per informazioni dettagliate, consulta la guida alla creazione di un progetto.
Devi avere un Google Nest Hub che supporti Matter
Devi avere un telefono Android con Android 8.1 o versioni successive su cui è installato GHA.
Il telefono Android deve essere connesso alla stessa rete Wi-Fi dell'hub.
Il computer host deve essere connesso alla rete Wi-Fi.
Per eseguire la messa in servizio del dispositivo utilizzando GHA, fai clic su QRCode per visualizzare il codice QR del dispositivo, poi segui le istruzioni riportate in Accoppiare un dispositivo Matter che spiega come eseguire l'onboarding di un dispositivo Matter utilizzando GHA. Puoi anche eseguire la messa in servizio del dispositivo utilizzando Google Home Sample App for Matter.
Visita il nostro Matter Primer per scoprire come funziona la commissione Matter.
Controlla il dispositivo
Dopo aver commissionato un dispositivo virtuale, puoi controllarlo utilizzando l'app Google Home o l'Assistente Google con i comandi vocali. Puoi:
- Controlla il dispositivo tramite GHA o Assistant mentre monitori le modifiche di stato sul dispositivo virtuale oppure
- Controlla il dispositivo utilizzando Sample App for Matter mentre monitori le modifiche dello stato sul dispositivo virtuale,oppure
- Controlla lo stato del dispositivo tramite MVD stesso durante il monitoraggio delle modifiche dello stato in GHA o Assistant.
Test con il dispositivo
Per eseguire il test con Assistant, ti consigliamo di utilizzare un simulatore di espressione, come Google Home Extension per VS Code o Google Home Plugin per Android Studio.
Visualizza i dettagli del dispositivo
La schermata Dettagli dispositivo mostra informazioni dettagliate sul dispositivo:
- Nome:il nome assegnato al dispositivo.
- Tipo di dispositivo: il tipo di dispositivo selezionato.
- Discriminatore: l'attuale discriminatore del dispositivo.
- ID fornitore: l'ID fornitore corrente del dispositivo.
- ID prodotto: l'ID prodotto attuale 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 rete IP.
- Codice di accesso: il PIN che consente di mettere in servizio il dispositivo tramite la rete.
- Cartella di configurazione: la cartella in cui il dispositivo virtuale archivia la configurazione.
- Informazioni sulla commissione: mostra i tessuti a cui si è unito il dispositivo e l'ID nodo del dispositivo.
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.
Interrompere il dispositivo
Per interrompere e distruggere il dispositivo, fai clic su Elimina.
Termina l'app
La chiusura della finestra di controllo comporta l'eliminazione del dispositivo e l'applicazione MVD. Se hai eseguito l'avvio dal terminale, puoi anche terminare l'applicazione digitando Ctrl-C nel terminale.
Ricevi assistenza
Per ricevere assistenza per MVD, per segnalare un bug o per 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 in MVD, puoi segnalare un bug facendo clic sul pulsante Problema nell'angolo in alto a destra della finestra.
Invia feedback
Se vuoi condividere le tue opinioni su MVD o su come possiamo migliorare la tua esperienza con lo strumento, compila il modulo per i feedback.
Puoi avviare il modulo dal pulsante di feedback
nell'angolo in alto a destra della finestra oppure facendo clic sul pulsante di seguito.