I dispositivi virtuali Matter sono utili per lo sviluppo e il test di soluzioni Matter e possono essere messi in servizio utilizzando il 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 dispositivoMatter virtuale, ma non dispongono delle risorse per creare un proprio dispositivoMatter fisico o virtuale, Google offre Matter Virtual Device (MVD). MVD è uno strumento da desktop Linux o macOS autonomo e leggero 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 partecipare a un'intranet Matter. Utilizza invece la connessione di rete Wi-Fi esistente della macchina Linux o macOS di destinazione per la messa in servizio.
Rispetto ad altri strumenti
MVD è diverso da Virtual Device Controller (VDC) in quanto è una soluzione autosufficiente che combina un dispositivo virtuale con un'interfaccia utente per controllarlo. Al contrario, VDC viene utilizzato per controllare un dispositivo Matter virtuale separato, come quello che creiamo in Matter Virtual Device Development Environment (MVD-DE).
È possibile che tu abbia già utilizzato il codelab MVD-DE. In questo codelab, crei un singolo tipo di dispositivo virtuale: una lampadina smart. Al contrario, MVD contiene diversi dispositivi virtuali predefiniti e include un'interfaccia utente integrata per eseguirli e controllarli.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Emulare 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 con temperatura di colore |
0x0300 0x0008 0x0006 |
Chiaro |
Sensore di contatto |
0x0045 |
Sensor |
Luce dimmerabile |
0x0008 0x0006 |
Chiaro |
Serratura per porte |
0x0101 |
Blocca |
Luce a colori estesa |
0x0300 0x0008 0x0006 |
Chiaro |
Ventilatore |
0x0202 0x0006 |
Fan |
Sensore di flusso |
0x0404 |
Sensor |
Switch generico |
0x003b |
Cambia |
Sensore di umidità |
0x0405 |
Sensor |
Sensore luce |
0x0400 |
Sensor |
Sensore di presenza |
0x0406 |
Sensor |
Luce On/Off |
0x0008 0x0006 |
Chiaro |
Interruttore della luce on/off |
0x0006 |
Cambia |
Unità plug-in On/Off |
0x0008 0x0006 |
Outlet |
Sensore di pressione |
0x0403 |
Sensor |
Pompa |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Pompa dell'acqua |
Robot aspirapolvere |
0x0054 0x0055 0x0061 |
Aspirapolvere |
Aria condizionata in camera |
0x0006 0x0201 0x0202 |
Ac |
Rilevatore di fumo e CO |
0x005C |
Fumo |
Sensore di temperatura |
0x0402 |
Sensor |
Termostato |
0x0201 |
Termostato |
Copertura per finestre |
0x0102 |
Veneziane |
Installa MVD
MVD funziona 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 Debian (.deb) di MVD
Scarica il file della firma ASCII con crittografia (.asc)
Quindi, esegui dpkg
per installare il pacchetto MVD
Debian (.deb):
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
Scarica il file dmg MVD (macOS x86)
Scarica il file dmg MVD (ARM64 M1)
Poi 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
:
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 un processo utilizza la porta 33000:
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
Puoi uccidere qualsiasi processo che utilizza la porta TCP 33000 con un solo 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 eseguire MVD dal terminale:
cd /Applications
open mvd.app
Configurare il dispositivo
La schermata principale viene visualizzata al momento dell'avvio e ti consente di configurare un dispositivo virtuale:
- Tipo di dispositivo: seleziona il tipo di dispositivo (ad es. Luce, Interruttore, Sensore e così via).
- Nome del dispositivo: assegna al dispositivo un nome facile da ricordare.
- Discriminatore: un numero di 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 tramite reti IP.Matter 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 sia in uso da nessun altro servizio.
- ID fornitore: è supportato solo l'ID fornitore di test
0xFFF1
. - ID prodotto: sono supportati solo gli ID prodotto di prova da
0x8000
a0x801F
.
Configura il firewall
Linux
Se sul computer è in esecuzione un firewall, arrestalo 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:
- 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.
Usare il dispositivo
Una volta 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.
- Presenza di persone: il sensore di presenza di persone offre questo controllo per simulare lo stato di presenza o assenza di persone.
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 si disconnette brevemente dalla rete.
- Ripristina: ripristina i dati di fabbrica del dispositivo corrente e cancella tutti gli stati, tra cui la messa in servizio, lo stato dei controlli correnti e così via
- Elimina: elimina il dispositivo e torna alla schermata Crea dispositivo.
Messa in servizio del dispositivo
Il dispositivo è commissionabile non appena viene creato.
Esistono alcuni 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 VID/PID di quella utilizzata per configurare il dispositivo virtuale. Per maggiori dettagli, consulta la guida alla creazione dei progetti.
Devi avere un Google Nest Hub che supporti Matter
Devi avere uno smartphone Android con Android 8.1 o versioni successive, su cui sia installato GHA.
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 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 eseguire l'onboarding di un dispositivo Matter utilizzando GHA. Puoi anche mettere in servizio il dispositivo utilizzando Google Home Sample App for Matter.
Consulta la nostra MatterIntroduzione per scoprire come funziona il Mattercommissioning.
Controllare il dispositivo
Dopo aver messo in servizio un dispositivo virtuale, puoi controllarlo tramite l'app Google Home o l'Assistente Google con 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 dello stato sul dispositivo virtuale oppure
- Controlla lo stato del dispositivo tramite MVD stesso mentre monitori le modifiche dello stato in GHA o Assistant.
Eseguire il test con il dispositivo
Per eseguire il test con Assistant, ti consigliamo di utilizzare un simulatore di frasi come l'estensione Google Home per VS Code o il plug-in Google Home per Android Studio.
Visualizzare i dettagli del dispositivo
La schermata Dettagli del dispositivo mostra informazioni dettagliate sul dispositivo:
- Nome: il nome visualizzato assegnato al dispositivo.
- Tipo di dispositivo: il tipo di dispositivo selezionato.
- Discriminatore: il discriminatore del dispositivo attuale.
- ID fornitore: l'ID fornitore del dispositivo corrente.
- ID prodotto: l'ID prodotto del dispositivo attuale.
- Porta RPC: la porta RPC tramite la quale il dispositivo comunica con i controller (interfaccia utente grafica).
- Porta Matter: la porta utilizzata dal dispositivo corrente per comunicare tramite la rete IP.
- Passcode: il PIN utilizzato per la messa in servizio del dispositivo tramite la rete.
- Cartella di configurazione: la cartella in cui il dispositivo virtuale memorizza la configurazione.
- Informazioni sulla messa in servizio: mostra le infrastrutture a cui il dispositivo si è unito e l'ID nodo del dispositivo nell'infrastruttura.
Visualizzare 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.
Interrompi il dispositivo
Per arrestare e distruggere il dispositivo, fai clic su Elimina.
Terminare l'app
La chiusura della finestra di controllo elimina il dispositivo e termina l'applicazioneMVD. Se l'hai avviato dal terminale, puoi anche terminare l'applicazione digitando Ctrl-C nel terminale.
Ricevi assistenza
Per ricevere assistenza in merito a MVD, per segnalare un bug o per richiedere una nuova funzionalità, contatta il tuo contatto dell'Assistenza Google.
Se fai clic sul pulsante di assistenza
nell'angolo in alto a destra della finestra, viene visualizzata questa pagina.Segnala un bug
Se ritieni di aver rilevato un difetto in 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.