Ambiente di sviluppo Matter Virtual Device Development

Matter    SDK per dispositivi

Matter Virtual Device Development Environment (MVD-DE) è un contenitore Docker in cui puoi creare il tuo Matter Virtual Device (MVD) e utilizzare l'app desktop Virtual Device Controller (VDC) per fornire un'interfaccia utente grafica per controllare e visualizzare gli stati dei tuoi dispositivi Matter virtuali. L'app fornisce una rappresentazione visiva del dispositivo virtuale, nonché i controlli per i cluster Matter supportati dal dispositivo.

L'app utilizza un client RPC per comunicare con il server RPC del dispositivo virtuale, inviando richieste che riflettono le tue azioni (accendere/spegnere, attenuare, aumentare la luminosità) e eseguendo polling una volta al secondo per recuperare lo stato.

Dispositivi supportati

Al momento, MVD-DE supporta i seguenti tipi di dispositiviMatter:

Matter Tipo di dispositivo Cluster di applicazioni Tipo di ecosistema domestico
Sensore di contatto Stato booleano Sensor
Luce dimmerabile Controllo
livello On/Off
Chiaro
Luce a colori estesa On/Off
Controllo del livello
Controllo del colore
Chiaro
Sensore di flusso Misurazione del flusso Sensor
Sensore di umidità Misurazione dell'umidità relativa Sensor
Sensore di illuminazione Misurazione dell'illuminazione Sensor
Sensore di presenza Rilevamento della presenza Sensor
Luce On/Off ON/OFF Chiaro
Presa elettrica Controllo
livello On/Off
Outlet
Sensore di pressione Misurazione della pressione Sensor
Altoparlante Controllo
livello On/Off
Altoparlante
Cambia ON/OFF Cambia
Sensore di temperatura Misurazione della temperatura Sensor

Configurare l'ambiente di sviluppo del dispositivo virtuale Matter

MVD-DE è un'immagine Docker preconfigurata disponibile su Docker Hub. Per installarlo, esegui:

user@host> docker pull us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest

Il completamento dell'operazione potrebbe richiedere alcuni minuti.

Esegui l'ambiente di sviluppo di dispositivi virtuali Matter

  1. Avvia il container Docker:

    user@host> xhost local:1000
    user@host> docker run -it --ipc=host --net=host -e DISPLAY --name matter-container us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest
    

    Dopo aver avviato il contenitore, dovresti visualizzare un output di diagnostica seguito da un messaggio che ti conferma che la configurazione del contenitore è corretta e infine il prompt della shell del contenitore:

    Environment looks good, you are ready to go!
    
  2. Crea una seconda istanza di sessione del terminale:

    user@host> docker exec -it matter-container /bin/bash
    
  3. Per un dispositivo Matter virtuale, avvia VDC dopo averlo eseguito, passandogli l'argomento --s e la porta IP utilizzata dal dispositivo:

    $ electron main.js --s=localhost:33000
    

    Per un dispositivo fisico, avvia VDC passandogli l'argomento --d seguito dalla porta seriale del dispositivo:

    $ electron main.js --d=/dev/ttyUSB0
    

Se avvii VDC senza fornire alcun argomento, verrà utilizzata per impostazione predefinita l'opzione di socket di rete che utilizza la porta localhost 33000.

Una volta che VDC riesce a connettersi al dispositivo, viene visualizzata una schermata che mostra lo stato del dispositivo:

Interfaccia utente grafica del dispositivo virtuale

Mostra il codice QR del dispositivo

VDC può essere utilizzato anche per recuperare il codice QR come parte del flusso di messa in servizio del dispositivo. Fai clic sull'icona del codice QR accanto all'immagine del dispositivo per visualizzare il codice QR del dispositivo:

Virtual Device Controller che mostra il codice QR del dispositivo

Puoi utilizzare questo codice QR per mettere in servizio il dispositivo.

Interrompi l'ambiente di sviluppo di dispositivi virtuali Matter

Per interrompere MVD-DE, premi Ctrl-Q con lo schermo di VDC attivo oppure premi Ctrl-C nella sessione del terminale in cui hai avviato l'app.

Feedback

Per inviare i tuoi commenti o feedback su come possiamo migliorare la tua esperienza con MVD-DE, compila il nostro modulo di feedback.

Inviaci il tuo feedback