Appareil virtuel Matter

Matter SDK de l'appareil

Les appareils virtuels Matter sont utiles pour développer et tester des 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, tout 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 ou macOS et léger, qui simule différents types d'appareils virtuels Matter et fournit une interface utilisateur graphique permettant de contrôler et d'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) ou Thread® pour rejoindre un maillage Matter. Au lieu de cela, il utilise la connexion réseau Wi-Fi existante de la machine Linux ou macOS 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 avec 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 intelligente. 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.

Tableau: Comparaison des outils d'appareils Matter virtuels
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

MVD est compatible avec les types d'appareils Matter suivants:

Tableau: Matter types d'appareils compatibles avec MVD
Matter type d'appareil Clusters d'application Type d'écosystème domestique
Lecteur vidéo basique 0x0006
0x0506
0x0509
Téléviseur
Température des couleurs Lumière 0x0300
0x0008
0x0006
Léger
Contact Sensor 0x0045
Capteur
Lumière à variateur 0x0008
0x0006
Léger
Serrure 0x0101
Verrouiller
Lumière couleur étendue 0x0300
0x0008
0x0006
Léger
Ventilateur 0x0202
0x0006
Ventilateur
Capteur de débit 0x0404
Capteur
Commutateur générique 0x003b
Bouton bascule
Capteur d'humidité 0x0405
Capteur
Capteur d'éclairage 0x0400
Capteur
Capteur de présence 0x0406
Capteur
Voyant Marche/Arrêt 0x0008
0x0006
Léger
Interrupteur Marche/Arrêt 0x0006
Bouton bascule
Plug-in Marche/Arrêt 0x0008
0x0006
Prise
Capteur de pression 0x0403
Capteur
Pompe 0x0006
0x0200
0x0402
0x0403
0x0404
N/A
Aspirateur robot 0x0054
0x0055
0x0061
Aspirateur
Climatiseur d'ambiance 0x0006
0x0201
0x0202
AC
Détecteur de fumée et de monoxyde de carbone 0x005C
Fumée
Capteur de température (Temperature Sensor) 0x0402
Capteur
Thermostat 0x0201
Thermostat
Habillage de fenêtre 0x0102
Stores

Installer le MVD

MVD s'exécute sur des processeurs x86 64 bits exécutant Debian (11 ou version ultérieure), Ubuntu (20.04 ou version ultérieure) ou macOS.

Linux

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.4.0_amd64.deb

macOS

Télécharger le fichier dmg MVD (macOS x86)

Télécharger le fichier dmg MVD (ARM64 M1)

Double-cliquez ensuite sur le fichier dmg pour ouvrir la fenêtre d'installation.

Pour terminer l'installation, sélectionnez l'icône mvd et faites-la glisser vers le dossier Applications:

Installation sous macOS

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 savoir si un processus utilise le port 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Vous pouvez arrêter n'importe quel processus utilisant le port TCP 33000 en une seule commande:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Exécuter un MVD

Linux

Sous Linux, exécutez MVD à partir du dossier de vos applications ou du terminal:

mvd

macOS

Sous macOS, utilisez Launchpad pour ouvrir MVD ou exécutez MVD à partir du terminal:

cd /Applications
open mvd.app

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 annonces d'appareils ouvrant droit à commission. (Valeur 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, à condition qu'aucun autre service ne l'utilise.
  • ID du fournisseur: seul l'ID du fournisseur de test 0xFFF1 est accepté.
  • ID de produit: seuls les ID de produits de test 0x8000 à 0x801F sont acceptés.

Écran de configuration de l'appareil virtuel

Configurer le pare-feu

Linux

Si un pare-feu est en cours d'exécution sur votre ordinateur, éteignez-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

Si vous utilisez "ufw", vous pouvez le désactiver à l'aide de la commande suivante:

sudo ufw disable

Vous pourrez la réactiver comme suit:

sudo ufw enable

macOS

Pour configurer ou désactiver le pare-feu sous macOS:

  1. Accédez au menu  Apple et sélectionnez Paramètres système.
  2. Cliquez sur Réseau dans la liste de la barre latérale.
  3. Cliquez sur Pare-feu.
  4. Placez le bouton Pare-feu sur Désactivé.

Exécuter votre appareil

Une fois l'appareil configuré, cliquez sur Créer un appareil. Lorsque l'appareil est créé, l'écran Controller (Manette) s'affiche. Selon le type d'appareil que vous avez sélectionné, une ou plusieurs des commandes suivantes peuvent s'afficher:

  • Activé/Désactivé: option courante pour la majorité des appareils.
  • Niveau: par exemple, une lumière peut être dotée d'un curseur de niveau pour régler la luminosité.
  • Couleur: par exemple, une lumière colorée peut disposer de cette commande.
  • Présence: le capteur de présence propose cette commande pour simuler l'état 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.
  • Réinitialiser: rétablit la configuration d'usine de l'appareil actuel et efface tous les é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.

Écran de contrôle des appareils virtuels

Mettre en service votre appareil

L'appareil peut faire l'objet d'une commission 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 lors de la configuration de votre appareil virtuel. Pour en savoir plus, consultez le guide de création de projet.

  • Vous devez disposer d'un Google Nest Hub compatible avec Matter

  • Vous devez disposer d'un téléphone Android fonctionnant sous Android 8.1 ou version ultérieure et 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 du 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 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 ;
  • contrôler l'appareil à l'aide de Sample App for Matter tout en surveillant les changements d'état sur l'appareil virtuel ;
  • 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, tel que l'extension Google Home pour VS Code ou le plug-in Google Home pour Android Studio.

Afficher les détails de l'appareil

L'écran Détails de l'appareil affiche des informations détaillées sur l'appareil:

  • Nom:nom convivial attribué à l'appareil.
  • Device Type: type d'appareil sélectionné.
  • Discriminateur: discriminateur actuel de l'appareil.
  • ID du fournisseur: ID du fournisseur de l'appareil actuel.
  • Identifiant produit: identifiant produit actuel de l'appareil.
  • Port RPC: port RPC que l'appareil communique avec les contrôleurs (IUG).
  • Port Matter: port utilisé par l'appareil actuel pour communiquer via le réseau IP.
  • Code d'accès: 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 la ou les structures que l'appareil a joints, ainsi que 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 apparaît sur stdout. Vous pouvez également afficher les journaux de l'appareil dans l'onglet Journaux de l'appareil.

Arrêter l'appareil

Pour arrêter et détruire l'appareil, 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 avez lancé l'application à partir du terminal, vous pouvez également y mettre fin en saisissant Ctrl-C dans celui-ci.

Obtenir de l'aide

Pour obtenir de l'aide concernant MVD, signaler un bug ou demander une nouvelle fonctionnalité, adressez-vous à votre contact au sein de 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 Problème dans l'angle supérieur droit de la fenêtre.

Envoyer des commentaires

Pour nous donner votre avis sur MVD ou sur la façon dont nous pourrions améliorer votre expérience avec cet outil, remplissez notre formulaire de commentaires.

Vous pouvez lancer le formulaire à l'aide du bouton de commentaire situé dans l'angle supérieur droit de la fenêtre ou en cliquant sur le bouton ci-dessous.

Envoyez-nous vos commentaires