Les appareils virtuels Matter sont utiles pour développer et tester les solutions Matter. Ils peuvent être mis en service à l'aide de Google Home app (GHA), et contrôlés à l'aide de GHA et Google Assistant, comme les appareils Matter physiques.
Pour les développeurs d'applications et les autres personnes qui doivent tester ou émuler un appareil Matter virtuel, mais qui ne disposent pas des ressources nécessaires pour créer leur propre appareil Matter physique ou virtuel, Google propose Matter Virtual Device (MVD). MVD est un outil de bureau Linux autonome et léger qui simule différents types d'appareils Matter virtuels et fournit une interface utilisateur graphique pour contrôler et afficher les états de l'appareil virtuel Matter.
Contrairement à un appareil Matter physique, MVD ne s'appuie pas sur la technologie Bluetooth® à basse consommation (BLE) ni sur Thread® pour rejoindre un tissu Matter. Au lieu de cela, il utilise la connexion réseau Wi-Fi existante de la machine Linux hôte pour la mise en service.
Comparaison avec d'autres outils
Le MVD diffère de Virtual Device Controller (VDC) en ce sens qu'il s'agit d'une solution autonome, qui combine un appareil virtuel à une UI pour le contrôler. En revanche, VDC permet de contrôler un appareil Matter virtuel distinct, tel que celui que nous compilons dans Matter Virtual Device Development Environment (MVD-DE).
Vous avez peut-être déjà suivi l'atelier de programmation MVD-DE. Dans cet atelier de programmation, vous allez créer un seul type d'appareil virtuel : une ampoule connectée. En revanche, MVD contient plusieurs appareils virtuels prédéfinis différents et inclut une UI intégrée pour les exécuter et les contrôler.
MVD | VDC | MVD-DE (atelier de programmation) | |
---|---|---|---|
Émuler un appareil Matter | |||
Contrôler un appareil Matter émulé | |||
Effort de développement requis | |||
Télécharger | Moins de 100 Mo | 9 GB | 20 Go |
Appareils compatibles
Actuellement, MVD est compatible avec les types d'appareils Matter suivants:
Matter type d'appareil | Cluster(s) d'application | Type d'écosystème domestique |
---|---|---|
Température des couleurs : lumière |
0x0300 0x0008 0x0006 |
Léger |
Lumière à intensité variable |
0x0008 0x0006 |
Léger |
Couleur claire étendue |
0x0300 0x0008 0x0006 |
Léger |
Capteur de présence |
0x0406 |
Capteur |
Voyant Marche/Arrêt |
0x0008 0x0006 |
Léger |
Plug-in Marche/Arrêt |
0x0008 0x0006 |
Prise |
Installer MVD
MVD s'exécute sur des processeurs x86 64 bits exécutant Debian (11 ou version ultérieure) ou Ubuntu (20.04 ou version ultérieure).
Pour l'installer:
Télécharger le package MVD Debian (.deb)
Télécharger le fichier de signature armored-ASCII (.asc)
Exécutez ensuite dpkg
pour installer le package Debian (.deb) MVD:
sudo dpkg -i mvd_1.1.0_amd64.deb
Vérifier l'utilisation des ports
Le module de contrôleur de MVD utilise le port TCP 33000 pour effectuer des appels RPC vers l'appareil virtuel. Par conséquent, si ce port est déjà utilisé par un autre processus sur votre ordinateur, veillez à le libérer.
Pour voir si un processus utilise le port 33000:
sudo fuser -v 33000/tcp
Vous pouvez arrêter n'importe quel processus utilisant le port TCP 33000 en une seule commande:
sudo fuser -k 33000/tcp
Exécuter un MVD
Exécutez MVD à partir du dossier des applications ou du terminal:
mvd
Configurer votre appareil
L'écran principal s'affiche au lancement et vous permet de configurer un appareil virtuel:
- Device Type (Type d'appareil) : sélectionnez le type d'appareil (par exemple, Éclairage, Interrupteur, Capteur, etc.).
- Nom de l'appareil: attribuez un nom convivial à l'appareil.
- Discriminateur: nombre de 12 bits permettant de distinguer les différentes publicités d'appareils ouvrant droit à commission. (Par défaut:
3840
). - Port Matter: port pour la mise en service Matter et la communication via des réseaux IP. Matter utilise le port TCP/UDP 5540 par défaut, mais vous pouvez configurer l'appareil virtuel pour qu'il utilise un autre port, tant qu'aucun autre service ne l'utilise.
- ID du fournisseur: actuellement, seul l'ID du fournisseur de test
0xFFF1
est accepté. - ID produit: actuellement, seuls les ID produit test
0x8000
à0x801F
sont acceptés.
Configurer le pare-feu
Si un pare-feu est en cours d'exécution sur votre ordinateur, arrêtez-le ou autorisez les connexions TCP/UDP entrantes sur le port Matter.
Pour afficher les règles de pare-feu netfilter actives actuellement, exécutez la commande suivante :
sudo iptables -L -n
Remarque: Si vous utilisez ufw
, vous pouvez le désactiver avec :
sudo ufw disable
et le réactiver avec :
sudo ufw enable
Exécuter votre appareil
Une fois l'appareil configuré, cliquez sur Créer un appareil. Une fois l'appareil créé, l'écran Controller (Contrôleur) s'affiche. Selon le type d'appareil que vous avez sélectionné, une ou plusieurs des commandes suivantes peuvent s'afficher:
- Activé/Désactivé: commun à la majorité des appareils.
- Niveau: par exemple, une lumière peut disposer d'un curseur de niveau pour régler la luminosité.
- Couleur: par exemple, cette commande peut être appliquée à un éclairage coloré.
- Occupation: le capteur d'occupation propose cette commande pour simuler l'état d'occupation/d'occupation.
Tous les appareils virtuels disposent des commandes suivantes:
- QRCode: affiche le code QR utilisé pour la mise en service.
- Redémarrer: redémarre l'appareil virtuel. L'appareil est brièvement déconnecté du réseau.
- Reset (Réinitialiser) : rétablit la configuration d'usine de l'appareil actuel et efface tous ses états, y compris la mise en service, l'état actuel des commandes, etc.
- Supprimer: détruit l'appareil et revient à l'écran Créer un appareil.
Mettre en service votre appareil
L'appareil peut être mis en service dès sa création.
Voici quelques conditions préalables à la mise en service de l'appareil:
Vous devez avoir un projet dans Google Home Developer Console. Ce projet doit contenir une intégration Matter ayant la même combinaison VID/PID que celle que vous avez utilisée pour configurer votre appareil virtuel. Consultez le guide de création de projet pour en savoir plus.
Vous devez disposer d'un Google Nest Hub compatible avec Matter.
Vous devez disposer d'un téléphone équipé d'Android 8.1 ou version ultérieure, sur lequel GHA doit être installé.
Le téléphone Android doit être connecté au même réseau Wi-Fi que le hub.
La machine hôte doit être connectée au réseau Wi-Fi.
Pour mettre l'appareil en service à l'aide de GHA, cliquez sur QRCode afin d'afficher le code QR de l'appareil, puis suivez les instructions de la section Associer un appareil Matter, qui expliquent comment intégrer un appareil Matter à l'aide de GHA. Vous pouvez également mettre l'appareil en service à l'aide de la Google Home Sample App for Matter.
Consultez notre Introduction à Matter pour en savoir plus sur le fonctionnement de la mise en service Matter.
Contrôler l'appareil
Après avoir mis en service un appareil virtuel, vous pouvez le contrôler à l'aide de l'application Google Home ou de l'Assistant Google par commande vocale. Vous avez alors deux possibilités :
- contrôler l'appareil via GHA ou Assistant tout en surveillant les changements d'état sur l'appareil virtuel ; ou
- contrôler l'appareil à l'aide de Sample App for Matter tout en surveillant les changements d'état sur l'appareil virtuel ; ou
- Contrôlez l'état de l'appareil via MVD lui-même tout en surveillant les changements d'état dans GHA ou Assistant.
Tester avec l'appareil
Pour effectuer un test avec Assistant, nous vous recommandons d'utiliser un simulateur d'énoncés, comme l'extension Google Home pour VS Code ou le plug-in Google Home pour Android Studio.
Afficher les informations sur l'appareil
L'écran Détails de l'appareil affiche des informations détaillées sur l'appareil.
- Nom:nom convivial attribué à l'appareil.
- Type d'appareil: type d'appareil sélectionné.
- Discriminateur: discriminateur actuel de l'appareil.
- ID du fournisseur: ID du fournisseur actuel de l'appareil.
- Product ID: identifiant produit actuel de l'appareil.
- Port RPC: port RPC auquel l'appareil communique avec les contrôleurs (IUG).
- Port Matter: port utilisé par l'appareil actuel pour communiquer via un réseau IP.
- Code d'accès: le code utilisé pour mettre l'appareil en service sur le réseau.
- Dossier de configuration: dossier dans lequel l'appareil virtuel stocke la configuration.
- Commission Information(Informations sur la commission) : affiche le ou les tissus joints par l'appareil et l'ID de nœud de l'appareil dans la structure.
Afficher les journaux de l'appareil
Si vous avez lancé MVD à partir du terminal, la sortie du journal s'affiche sur stdout
.
Vous pouvez également consulter les journaux de l'appareil dans l'onglet Journaux de l'appareil.
Arrêter l'appareil
Pour arrêter l'appareil et le détruire, cliquez sur Supprimer.
Arrêter l'application
La fermeture de la fenêtre de contrôle détruit l'appareil et met fin à l'application MVD. Si vous l'avez lancée à partir du terminal, vous pouvez également arrêter l'application en saisissant Ctrl-C dans le terminal.
Obtenir de l'aide
Pour obtenir de l'aide concernant MVD, signaler un bug ou demander une nouvelle fonctionnalité, contactez l'assistance Google.
Cliquez sur le bouton d'aide
dans l'angle supérieur droit de la fenêtre pour accéder à cette page.Signaler un bug
Si vous pensez avoir détecté un défaut dans MVD, vous pouvez signaler un bug en cliquant sur le bouton Issue (Problème) dans l'angle supérieur droit de la fenêtre.
Envoyer des commentaires
Pour nous dire ce que vous appréciez concernant MVD ou ce que nous pourrions faire pour améliorer votre expérience avec cet outil, remplissez notre formulaire de commentaires.
Vous pouvez lancer le formulaire à partir du bouton de commentaires
situé dans l'angle supérieur droit de la fenêtre ou en cliquant sur le bouton ci-dessous.