La pile complète de Weave comporte de nombreux éléments, mais la majorité des fonctionnalités sont regroupées dans des constructions logiques appelées profils. Chaque profil correspond à un ensemble spécifique de fonctionnalités Weave comprenant les éléments suivants:
- Protocoles
- Rôles du protocole (éditeur, abonné)
- Types de messages
- Schémas et données publiées
- Codes d'état
- Codes d'erreur
Nous n'allons pas entrer dans chacun de ces éléments pour le moment, car ils varient d'un profil à l'autre.
En ce qui concerne la messagerie, les messages du profil sont généralement des messages généraux encodés en TLV Weave. Toutefois, si l'espace est insuffisant ou si la charge utile n'a pas besoin d'être flexible, le TLV n'est pas utilisé. L'écho et les pulsations sont des exemples de profils qui n'encodent pas de messages dans TLV.
Weave intègre différents profils:
Examinons-en quelques-unes.
Gestion des données
Le profil Gestion des données
gère toutes les demandes de caractéristiques à l'aide d'un modèle de publication et d'abonnement. Presque toutes les fonctionnalités de l'écosystème Nest pour le fonctionnement quotidien sont mappées sur des ressources et des caractéristiques dans le cadre du schéma Weave.Nous explorerons ultérieurement le schéma et le profil de gestion des données, mais ce profil est l'outil de travail de Weave.
Par exemple, pour modifier l'état d'activation d'un Nest Secure depuis votre appareil mobile, vous devez utiliser la gestion des données. Le profil envoie des requêtes de l'abonné (appareil mobile) à d'autres ressources du réseau (Nest Secure et le service), qui en accuse réception, modifie l'état d'activation du schéma et envoie des réponses confirmant la modification.
Écho
Le profil
Echo fournit un mécanisme de base pour tester la connectivité et la latence du réseau. Il est conçu à partir de la requête d'écho ICMP et est destiné à des utilisations similaires. Il est analogue à un ping réseau, mais utilise des messages Weave et le chiffrement, si spécifié.Une charge utile Echo se compose de données arbitraires fournies par le nœud demandeur et devrait être renvoyée textuellement dans la réponse. Echo permet de tester la connectivité, la sécurité et la vivacité du tissu Weave.
Pulsation
Le profil
Heartbeat permet d'indiquer l'activité d'un nœud sur les autres nœuds du réseau. Une pulsation Weave est généralement envoyée à intervalles réguliers. Si ce n'est pas le cas avant l'expiration du délai avant expiration configuré, le nœud est considéré comme ayant échoué.Une pulsation permet de vérifier si un nœud Weave est toujours connecté au tissu. Par exemple, des pulsations sont utilisées entre les Nest Detect et Nest Guard pour assurer la vivacité du système Nest Secure.
Transfert de données groupé
Le profil Transfert de données groupé (BDX)
permet de transférer des fichiers entre des nœuds. Dans ce contexte, les fichiers peuvent être des données de capteurs, des journaux ou des images de logiciels permettant d'effectuer des mises à jour Over The Air.BDX peut être exécuté sur divers protocoles de transport fiables, y compris TCP et Weave Reliable Messaging.
Provisionnement
Un certain nombre de profils de provisionnement sont utilisés pour les tâches liées à l'association, à l'authentification et à l'enregistrement de services.
Provisionnement du réseau
Le profil de provisionnement réseau
gère les tâches telles que l'analyse des réseaux, ainsi que leur ajout et leur activation pour les ressources de la structure.Provisionnement des services
Le profil de provisionnement de service
gère des tâches telles que l'association de ressources à un compte ou leur enregistrement auprès d'un service.Provisionnement des tissus
Le profil de provisionnement de tissu
gère des tâches telles que la création, la jointure et la sortie d'un tissu, ou l'obtention de la configuration de tissu.Résumé
Dans cet atelier, vous avez appris à effectuer les opérations suivantes :
- Une grande partie des fonctionnalités de Weave sont gérées par des profils.
- Les profils sont des protocoles d'application qui correspondent à un ensemble spécifique de fonctionnalités
- Chaque profil possède son propre ensemble de types de messages , généralement codés par Weave TLV