Modèle de données de l'appareil

Les appareils de Matter ont un modèle de données bien défini (DM), qui est une modélisation hiérarchique des fonctionnalités d'un Appareil. En haut niveau Device de cette hiérarchie.

Appareils et points de terminaison

Tous les appareils, y compris les smartphones et les assistants à domicile, sont composés des éléments suivants : Nœuds1. Un nœud est une ressource unique, identifiable et adressable dans un qu'un utilisateur peut percevoir comme un tout fonctionnel. La communication réseau dans Matter commence et s'arrête au niveau d'un nœud.

Les nœuds sont un ensemble de points de terminaison. Chaque point de terminaison contient un ensemble de caractéristiques. Par exemple, un point de terminaison peut être lié à une fonctionnalité d'éclairage, alors que l'autre concerne la détection des mouvements, et l'autre concerne les services publics, comme OTA de l'appareil.

Hiérarchie des appareils, des nœuds et des points de terminaison <ph type="x-smartling-placeholder">
</ph> Figure 1: Appareils, nœuds et points de terminaison

Rôles de nœud

Un rôle de nœud est un ensemble de comportements associés. Chaque nœud peut avoir un ou plusieurs de rôles. Les rôles de nœud incluent:

  • Commissioner (Élément de mise en service) : nœud qui effectue la mise en service.
  • Contrôleur : nœud pouvant contrôler un ou plusieurs nœuds. Exemples : Google Home app (GHA), Google Assistant et Google Nest Hub (2nd gen). Un peu d'appareils, tels que les ampoules Marche/Arrêt Switch, et vérifiez que la manette rôle de ressource.
  • Contrôleur: Nœud pouvant être contrôlé par un ou plusieurs Nœuds. La plupart des types d'appareils peuvent être des contrôleurs, à l'exception de certains ayant le rôle Contrôleur, par exemple Lumière Marche/Arrêt Bouton bascule. Le bouton d'activation/de désactivation de la lumière ne peut être qu'un contrôleur. Il ne peut pas s'agir d'un Contrôleur.
  • Fournisseur OTA: un nœud pouvant fournir des mises à jour logicielles OTA.
  • Demandeur OTA : nœud pouvant demander des mises à jour logicielles OTA.

Clusters

Dans un point de terminaison, un nœud comporte un ou plusieurs clusters. Il s'agit d'une autre dans la hiérarchie des appareils, car ils regroupent des fonctionnalités spécifiques, Groupe Marche/Arrêt sur une prise connectée ou cluster de contrôle du niveau sur un cluster le point de terminaison clair.

Un nœud peut également avoir plusieurs points de terminaison, chacun créant une instance du même de Google Cloud. Par exemple, un luminaire peut disposer d'un contrôle indépendant des ampoules individuelles ou des multiprises peuvent vous permettre de contrôler des prises individuelles.

Attributs

Au dernier niveau, nous trouvons les attributs, qui sont des états détenus par le nœud, tels que l'attribut niveau actuel d'un cluster de contrôle de niveau. Attributs peuvent être définis comme des types de données différents, tels que uint8, des chaînes ou des tableaux.

Hiérarchie des nœuds, des points de terminaison, des attributs et des commandes <ph type="x-smartling-placeholder">
</ph> Figure 2: Nœuds, points de terminaison, attributs et commandes

Commandes

Outre les attributs, les clusters disposent également de commandes, qui sont des actions qui peut être effectuée. Ils sont l'équivalent dans le MP de Matter un appel de procédure à distance. Les commandes sont de type verbe, comme verrouiller la porte sur une Cluster Serrure. Les commandes peuvent générer des réponses et des résultats. dans Matter, ces réponses sont également définies comme des commandes, dans le sens inverse.

Événements

Enfin, les clusters peuvent également comporter des événements, que vous pouvez considérer comme un enregistrement. des transitions d'états passées. Alors que les attributs représentent les états actuels, les événements sont un journal du passé et incluent un compteur monotone croissant, un code temporel et une priorité. Ils permettent de capturer les transitions d'état et de modéliser les données ce qui n'est pas facile à atteindre avec des attributs.

Exemple d&#39;appareil complet <ph type="x-smartling-placeholder">
</ph> Figure 3: Exemple de la hiérarchie de Matter Modèle d'interaction avec les appareils

Le point de terminaison 0 est réservé aux clusters d'utilitaires. Clusters d'utilitaires sont des Clusters spécifiques qui intègrent des fonctionnalités de maintenance sur un Point de terminaison, comme la découverte, le traitement, les diagnostics et la mise à jour logicielle. En revanche, les clusters d'applications acceptent les actions principales telles que l'activation/la désactivation ou la mesure de la température.

Types d'appareils

l'ensemble des combinaisons de clusters à inclure en tant qu'appareil ; le fabricant prévoit un nouvel appareil ?

La spécification Matter nécessite que l'appareil implémente ou étendre un ou plusieurs types d'appareils. Un type d'appareil est un ensemble des clusters obligatoires et facultatifs qui définissent les attributs de niveau supérieur d'un Un appareil physique tel qu'un éclairage à intensité variable, un verrouillage de porte ou un lecteur vidéo

Les types d'appareils ne sont pas spécifiés par Matter document principal de spécification, mais par un document d'accompagnement: le Appareil bibliothèque. De même, tous les clusters d'application sont définis dans la section Application Bibliothèque de clusters. Vous trouverez ces trois documents Site Web des membres Connectivity Standards Alliance (Alliance).

Chaque point de terminaison implémentant un type d'appareil doit implémenter les clusters obligatoires qui définissent ce type d'appareil. En plus des clusters obligatoires, Le point de terminaison peut implémenter des clusters supplémentaires, y compris un ou plusieurs éléments de l'appareil. Clusters facultatifs du type, ou même des clusters qui ne font pas partie du type d'appareil.

Clients et serveurs

Les clusters peuvent être un cluster client ou un cluster serveur. Alors qu'un Le serveur est avec état et contient les attributs, les événements et les commandes, un client sans état et il a pour responsabilité de déclencher des interactions avec un un cluster de serveurs distant, qui effectue ainsi les opérations suivantes:

  • reads et writes sur ses attributs distants
  • reads de ses événements distants.
  • appel de ses commandes distantes.

Alors que la DM est hiérarchique au sein d'un nœud, la relation entre les nœuds est non. Les nœuds de Matter n'ont pas de relations verticales contrôleur/périphérique ou leader/suiveur. Au contraire, le relation est horizontale: un cluster peut être de type Serveur ou Client. Ainsi, un nœud peut être à la fois un serveur et un client selon les clusters. et ses fonctionnalités.

Prenons l'exemple de deux lampes de table: Node A et Node B. Les deux nœuds implémentez un type d'appareil Lumière Marche/Arrêt. Ce type d'appareil inclut un cluster Serveur marche/arrêt qui contrôle les sorties lumineuses physiques respectives.

Mais, comme le font les lampes de chevet classiques, nos appareils physiques incluront également Interrupteur Marche/Arrêt pour ses interrupteurs Marche/Arrêt locaux. Cet appareil Le type doit implémenter un cluster client On/Off pour pouvoir contrôler le serveur Clusters.

Lampes avec interrupteur marche/arrêt <ph type="x-smartling-placeholder">
</ph> Figure 4: Clusters client et serveur

Dans cet exemple, le cluster client On/Off du nœud A modifie les attributs du cluster serveur activé/désactivé sur le nœud A et le nœud B, tandis que le client du nœud B Le cluster ne modifie que le cluster de serveurs sur le nœud B lui-même.

Dans la section suivante, nous verrons comment les clusters client et les clusters de serveur interagissent : Modèle d'interaction.

Cluster "Descriptor"

Comme son nom l'indique, le serveur de cluster Descriptor fournit une introspection des informations. Il décrit le point de terminaison en énumérant les éléments suivants:

  • Clusters de serveurs.
  • Clusters clients.
  • Types d'appareils.
  • des points de terminaison supplémentaires, appelés pièces.

Chaque type d'appareil nécessite l'implémentation de clusters de descripteurs. La racine Le type d'appareil est défini sur le point de terminaison 0. La lecture de son cluster de descripteurs offrent au client la visibilité nécessaire pour parcourir l'arborescence complète Cloud Endpoints et effectuer les opérations applicables.

Le commissaire ou l'appareil de contrôle, tel qu'un téléphone ou un hub, peuvent utiliser des informations trouvées sur le cluster de descripteurs pour modéliser l'appareil (ampoule, interrupteur, la pompe, le thermostat, etc.), et les fonctionnalités spécifiques mises en œuvre par cette instance particulière de l'appareil, montrant l'UI correcte à l'utilisateur.

Clusters de serveurs

L'attribut ServerList répertorie les serveurs de cluster du point de terminaison.

Clusters clients

L'attribut ClientList liste les clients du cluster dans le point de terminaison.

Liste des types d'appareils

L'attribut DeviceTypeList est une liste des types d'appareils compatibles avec le point de terminaison, ainsi que de leurs révisions respectives. Il doit contenir au moins un Type d'appareil.

Liste des pièces

PartsList contient la liste des points de terminaison utilisés pour implémenter cet appareil. Saisissez du texte.

Le champ PartsList du point de terminaison 0 (nœud racine) contient tous les points de terminaison du en dehors de lui-même (point de terminaison 0).

Le champ PartsList des autres points de terminaison est généralement vide. Par exemple, un capteur de température nécessite un cluster de serveurs de mesure de la température et rien d'autre.

D'autres types d'appareils peuvent être composés dans une arborescence de plusieurs appareils. Saisissez une instance. Par exemple, un type d'appareil lecteur vidéo peut être composé de TV, de lecteur vidéo, de haut-parleur et de différents types d'appareils d'application de contenu, chacun sur un point de terminaison différent.


  1. La spécification Matter détermine qu'un appareil peut avoir plusieurs nœuds. Par exemple, les smartphones peuvent avoir plusieurs applications, chacune étant un autre nœud. Aux fins de ce guide, tous les Appareils contiendront un seul nœud. La plupart des appareils physiques suivent cette du modèle.