Ambiente di sviluppo Matter Virtual Device Development

SDK dispositivo

Matter Virtual Device Development Environment (MVD-DE) è un container Docker in cui puoi creare il tuo Matter Virtual Device (MVD) e utilizzare l'app desktop Virtual Device Controller (VDC) per fornire una Graphic User Interface per controllare e visualizzare gli stati dei tuoi dispositivi Matter virtuali. L'app fornisce una rappresentazione visiva del tuo 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 (attiva/disattiva, attenuazione, luminosità) e esegue il polling una volta al secondo per recuperare lo stato.

Dispositivi supportati

Attualmente, MVD-DE supporta i seguenti Matter tipi di dispositivi:

Matter tipo di dispositivo Cluster di applicazioni Tipo di ecosistema domestico
Sensore di contatto Stato booleano Sensore
Luce dimmerabile Controllo del livello
on/off
Leggero
Chiaro colorato esteso On/Off
Controllo del livello
Controllo del colore
Leggero
Sensore di flusso Misurazione del flusso Sensore
Sensore di umidità Misurazione dell'umidità relativa Sensore
Sensore di illuminamento Misurazione dell'illuminazione Sensore
Sensore di presenza Monitoraggio della presenza di persone Sensore
Luce on/off ON/OFF Leggero
Presa elettrica Controllo del livello
on/off
Presa
Sensore di pressione Misurazione della pressione Sensore
Altoparlante Controllo del livello
on/off
Altoparlante
Cambia ON/OFF Cambia
Sensore di temperatura Misurazione della temperatura Sensore

Configurazione dell'ambiente di sviluppo per dispositivi virtuali Matter

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

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

Questa operazione potrebbe richiedere alcuni minuti.

Esegui l'ambiente di sviluppo dei 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 container, dovresti vedere un output di diagnostica seguito da un messaggio che conferma che la configurazione del container è corretta e, infine, la richiesta della shell del container:

    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, una volta in esecuzione, avvia VDC, passando l'argomento --s e la porta IP utilizzata dal dispositivo:

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

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

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

Se avvii VDC senza fornire argomenti, verrà utilizzata per impostazione predefinita l'opzione socket di rete utilizzando la porta localhost 33000.

Quando il dispositivo VDC riesce a connettersi al tuo dispositivo, verrà visualizzata una schermata che mostra lo stato del dispositivo:

Interfaccia utente grafica di un dispositivo virtuale

Visualizza il codice QR del dispositivo

VDC può essere utilizzato anche per recuperare il codice QR nell'ambito 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 per questo dispositivo:

Controller di dispositivi virtuali che mostra il codice QR del dispositivo

Puoi utilizzare questo codice QR per effettuare la messa in servizio del dispositivo.

Arresta 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 darci la tua opinione o feedback su come possiamo migliorare la tua esperienza con MVD-DE, compila il nostro modulo di feedback.

Inviaci il tuo feedback