Aperçu

Composants Weave

Weave réside sur chaque nœud du réseau local d'accueil (HAN, Home Area Network), sur chaque appareil mobile qui facilite l'association ou le contrôle d'un nœud, ainsi que sur le service qui assure la synchronisation des nœuds et des appareils mobiles. Dans le système Weave, ces éléments (nœuds, appareils, services) sont appelés ressources.

Weave peut fournir la source de vérité pour chaque ressource et permettre de communiquer en toute sécurité entre elles.

Weave intègre quatre composants principaux. Il est utile de comprendre chacun d'eux au plus haut niveau avant d'explorer la façon dont ils interagissent entre eux et se superposent au système.

Schéma

Schéma de tissage

Le schéma correspond au modèle de données de la plate-forme Weave.

Le schéma définit trois éléments:

  • Événements : unité de capacité de base, telle que l'état d'une propriété, une notification de l'état ou une demande de modification de l'état
  • Interfaces Groupe de caractéristiques qui représentent une fonction spécifique, telles que les propriétés et les événements qui constituent un verrouillage de pêne dormant
  • Ressources Objet logique ou physique comprenant des caractéristiques et des interfaces, telles qu'un appareil Nest, une structure ou un utilisateur.

Considérez le schéma comme une base de données répartie sur plusieurs ressources, où la copie de chaque attribut (source de vérité) ne se trouve pas entièrement sur une seule ressource, mais est répartie entre ressources sur chaque caractéristique. La ressource principale d'une caractéristique sert d'éditeur pour la caractéristique, tandis que les autres ressources sont abonnés à cette caractéristique.

Par exemple, vous pouvez avoir un schéma simple comprenant deux caractéristiques partagées entre trois ressources. La ressource 1 peut être l'éditeur de la session A, tandis que la ressource 3 peut être l'éditeur de la session B. Les autres ressources sont abonnés pour ces caractéristiques:

Exemple de schéma Weave

Plusieurs ressources peuvent également servir d'éditeur pour la même caractéristique, en fonction des besoins du système.

Le service

Le service dans Weave est souvent désigné par le terme "ressource". Lorsqu'il est question du schéma, celui-ci peut se présenter comme plusieurs ressources. En d'autres termes, il s'agit de toutes les autres ressources du système Weave.

Par exemple, un capteur peut uniquement avoir besoin de publier des caractéristiques pertinentes pour son fonctionnement et de s'y abonner. Certaines d'entre elles peuvent être partagées avec d'autres ressources, telles qu'un hub ou un nœud. Ces ressources peuvent avoir d'autres caractéristiques auxquelles le capteur n'est pas abonné. Cependant, le service peut s'abonner à ces caractéristiques ou les publier.

Profils

Profils Weave

La fonctionnalité de tissage est regroupée dans des constructions logiques appelées profils . Chaque profil correspond à un ensemble spécifique de fonctionnalités Weave qui comprennent des éléments tels que des protocoles, des types de messages et des codes d'erreur. Environ 20 profils sont disponibles avec OpenWeave.

Par exemple, le profil Gestion de données gère la gestion des attributs en temps réel dans un modèle de message de publication. Elle peut mettre à jour l'état d'une caractéristique d'occupation dans une ressource de maison en fonction des entrées d'une autre ressource (changer d'état depuis "home" à "away", car "votre appareil mobile détecte que vous n'êtes pas chez vous").

Un autre profil est Echo . Ce profil est semblable à un ping réseau et est utilisé pour tester la connectivité réseau, la latence, la sécurité et l'activité.

Un autre profil est disponible, à savoir Provisionnement du réseau . Ce profil comprend des fonctions permettant de rechercher les réseaux sans fil et de configurer leurs identifiants pour provisionner une ressource sur ce réseau.

Messagerie

Couche de message Weave

Pour exécuter les fonctionnalités des profils, les ressources HAN doivent pouvoir s'envoyer des messages. Weave présente une couche de message qui gère l'ensemble des messages entre les ressources du système.

Il existe deux types de messages:

  • Message général Encapsule le contenu Weave général
  • Message tunnel Encapsule un paquet IP

Chaque profil possède son propre ensemble de types de messages grâce auxquels il peut communiquer ses fonctionnalités. Par exemple, le profil de gestion des données peut envoyer un message général de demande de mise à jour pour modifier l'état d'une caractéristique. Le profil Echo peut envoyer un message général Echo Request à une ressource, qui envoie un message Echo Response en réponse.

Tissu

Tissé

Pour transmettre tous ces messages entre les ressources, un tissu doit être provisionné. Un tissu est un ensemble de ressources compatibles avec Weave qui coopèrent pour fournir des services à d'autres ressources et services.

Toutes les ressources du maillage communiquent le langage commun de Weave, quel que soit le type de connexion ou de réseau sous-jacent. Chaque nœud du tissu se voit attribuer une adresse IPv6 supplémentaire afin que l'application Weave puisse l'utiliser de manière sécurisée.

Weave utilise la technologie de transport sous-jacente (par exemple, Wi-Fi ou Thread) pour envoyer des messages entre les adresses IPv6 du tissu.

Récapitulatif

Dans cet atelier, vous avez appris à effectuer les opérations suivantes :

  • Dans un système Weave, les nœuds, les appareils et le service sont appelés"ressources".
  • Weave fournit des sources de données fiables et sécurisées dans chaque ressource du système Weave.
  • Weave intègre quatre composants principaux :
    • Schéma : modèle de données et API
    • Profils Protocoles d'application qui gèrent un ensemble de fonctionnalités
    • Messagerie Gérez l'ensemble des messages entre les ressources
    • Tissu Une collection de ressources compatibles avec Weave