Matrice dispositivo virtuale

Matter ; API Home

I dispositivi virtuali Matter sono utili per sviluppare e testare 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 che devono testare o emulare un dispositivo virtuale Matter ma non dispongono delle risorse per creare un dispositivo fisico o virtuale Matter, Google offre Matter Virtual Device (MVD). MVD è uno strumento desktop Linux o macOS autonomo e leggero che simula diversi tipi di dispositivi virtuali Matter e fornisce un'interfaccia utente grafica per controllare e visualizzare gli stati del dispositivo virtuale Matter.

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 tessuto Matter. Utilizza invece la connessione di rete Wi-Fi esistente della macchina Linux o macOS host per il provisioning.

Rispetto ad altri strumenti

L'MVD si differenzia dal Virtual Device Controller (VDC) in quanto è una soluzione autonoma che combina un dispositivo virtuale con una UI per controllarlo. Al contrario, VDC viene utilizzato per controllare un dispositivo virtuale Matter 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 dispositivo Matter:

Tabella: Matter tipi di dispositivi supportati per MVD
Matter Tipo di dispositivo Cluster di applicazioni Tipo di ecosistema domestico
Purificatore d'aria 0x0202
0x0006
0x0071
Purificatore d'aria
Sensore della qualità dell'aria 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Sensore
Video player di base 0x0006
0x0506
0x0509
Televisione
Luce a temperatura di colore 0x0300
0x0008
0x0006
Luce
Sensore di contatto 0x0045
Sensore
Luce dimmerabile 0x0008
0x0006
Luce
Unità plug-in dimmerabile 0x0006
0x0008
Outlet
Lavastoviglie 0x0006
0x0059
0x0056
0x0060
Lavastoviglie
Serratura per porte 0x0101
Blocca
Extended Color Light 0x0300
0x0008
0x0006
Luce
Ventilatore 0x0202
0x0006
Ventola
Sensore di flusso 0x0404
Sensore
Generic Switch 0x003b
Cambia
Sensore di umidità 0x0405
Sensore
Lavatrice 0x0006
0x0051
0x0053
0x0056
0x0060
Lavatrice
Sensore luce 0x0400
Sensore
Sensore di presenza 0x0406
Sensore
Spia On/Off 0x0008
0x0006
Luce
Interruttore della luce on/off 0x0006
Cambia
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 0x0006
0x0201
0x0202
Condizionatore
Rilevatore di fumo e CO 0x005C
Rilevatore di CO2
Rilevatore di fumo
Sensore di temperatura 0x0402
Sensore
Termostato 0x0201
Termostato
Copertura per finestre 0x0102
Veneziane

Installare MVD

MVD viene eseguito su macchine con processore x86 a 64 bit che eseguono 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 protetta (.asc)

Poi esegui dpkg per installare il pacchetto Debian (.deb) MVD:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Scarica il file dmg MVD (macOS x86)

Scaricare 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 di macOS

Controllare 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 computer, assicurati di liberarla.

Per verificare 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 unico 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 esegui MVD dal terminale:

cd /Applications
open mvd.app

Configurare il 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 intuitivo.
  • Discriminatore: un numero di 12 bit utilizzato per distinguere tra più pubblicità di dispositivi commissionabili. (Valore predefinito: 3840).
  • Matter Porta: una porta per Matter il commissioning 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 test da 0x8000 a 0x801F.

Schermata di configurazione del dispositivo virtuale

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 attive correnti, esegui:

sudo iptables -L -n

Se utilizzi `ufw`, puoi disattivarlo con:

sudo ufw disable

e può essere riattivato 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'opzione Firewall sulla posizione Off.

Eseguire 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 di livello per regolare la luminosità.
  • Colore: ad esempio, una luce colorata potrebbe avere questo controllo.
  • Occupazione: il sensore di occupazione offre questo controllo per simulare lo stato di occupazione o non occupazione.

Tutti i dispositivi virtuali hanno i seguenti controlli:

  • QRCode: mostra il codice QR utilizzato per la configurazione.
  • Riavvia: riavvia il dispositivo virtuale. Il dispositivo è disconnesso brevemente dalla rete.
  • Ripristina: ripristina i dati di fabbrica del dispositivo corrente e cancella tutto lo stato, inclusi il provisioning, lo stato attuale dei controlli e così via
  • Elimina: elimina il dispositivo e torna alla schermata Crea dispositivo.

Schermata di controllo del dispositivo virtuale

Tratti specifici del produttore

Le caratteristiche specifiche del produttore (MS) sono supportate dalle API Home per Android e forniscono funzionalità aggiuntive oltre alle caratteristiche standard in Matter. Per testare un dispositivo con una caratteristica MS, MVD ti consente di interagire con le caratteristiche nella sezione denominata Cluster personalizzati (vedi l'immagine sopra).

Configurare il dispositivo

Il dispositivo è commissionabile non appena viene creato.

Esistono alcuni prerequisiti per la configurazione 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 configurare il dispositivo virtuale. Per maggiori dettagli, consulta la guida alla creazione di progetti.

  • Devi avere un Google Nest Hub che supporti Matter

  • Devi avere uno smartphone Android con Android 8.1 o versioni successive e GHA installato.

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

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

Per eseguire il commissioning 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 il commissioning del dispositivo utilizzando Google Home Sample App for Matter.

Consulta il nostro Matter Primer per scoprire come funziona Matter Commissioning.

Controllare il dispositivo

Dopo aver eseguito il provisioning di 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 mentre monitori 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 mentre monitori le modifiche di stato in GHA o Assistant.

Test con il dispositivo

Per eseguire il test con Assistant, ti consigliamo di utilizzare un simulatore di intent come Google Home Extension per VS Code o Google Home Plugin per 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 del dispositivo attuale.
  • ID fornitore: l'ID fornitore del dispositivo attuale.
  • 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 attuale per comunicare tramite la rete IP.
  • Codice di accesso: il PIN utilizzato per il provisioning del dispositivo tramite la rete.
  • Cartella di configurazione: la cartella in cui il dispositivo virtuale archivia la configurazione.
  • Informazioni sulla messa in servizio: mostra i tessuti a cui è stato aggiunto il dispositivo e l'ID nodo del dispositivo nel tessuto.

Visualizzare i log del dispositivo

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

Arresta il dispositivo

Per interrompere e distruggere il dispositivo, fai clic su Elimina.

Terminare l'app

La chiusura della finestra di controllo distrugge il dispositivo e termina l'applicazione MVD. Se hai eseguito l'avvio dal terminale, puoi anche terminare l'applicazione digitando Ctrl+C nel terminale.

Richiedi assistenza

Per ricevere assistenza con MVD, segnalare un bug o richiedere una nuova funzionalità, contatta il tuo referente dell'Assistenza Google.

Se fai clic sul pulsante della Guida nell'angolo in alto a destra della finestra, si aprirà 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 i tuoi commenti 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 Feedback nell'angolo in alto a destra della finestra o facendo clic sul pulsante di seguito.

Inviaci il tuo feedback

Puoi anche fornire un feedback con il sondaggio che viene visualizzato in basso quando utilizzi MVD.