Les solutions IoT sont attendues d’interagir avec les appareils pour effectuer et suivre les changements d’état des appareils. Il y a deux façons dont ce défi se manifeste. Premièrement, même en cas de connectivité réseau intermittente, la solution a besoin que l’appareil exécute une action qui change l’état d’un appareil, et deuxièmement, l’appareil a besoin de la solution pour refléter un changement d’état qui s’est produit sur l’appareil.
La vérification des changements d’état est une capacité pivot nécessaire pour tous les scénarios de commande et de contrôle.
Les solutions IoT qui s’appuient sur le design de Réplique de l’état de l’appareil sont capables de gérer les changements d’état des appareils de manière fiable, évolutive et simple.
Le design de Réplique de l’état de l’appareil décrit comment répliquer l’état actuel d’un appareil, l’état futur souhaité et la différence entre les états actuel et souhaité. Le design de Réplique de l’état de l’appareil est similaire à celui de la Commande dans la mesure où les deux utilisent des messages comme déclencheurs d’actions et des messages d’accusé de réception lorsque les actions sont terminées. Cependant, le design de Réplique de l’état de l’appareil va plus loin que celui de la commande, en adoptant une approche normative à la fois pour la gestion de l’état lié à l’appareil et de la façon dont l’état ainsi que les modifications sont communiqués. L’utilisation du design de la Réplique d’état de l’appareil permet aux solutions de connaître et de vérifier les états de l’appareil et les changements d’état.
Une solution IoT doit tirer parti du design suivant lorsqu’un composant de la solution IoT est la source du changement d’état souhaité et que ce changement doit être répliqué dans un appareil.
(PPTx)
state/deviceID/update.state / deviceID / update et enregistre l’état de l’appareil dans une base de de données persistante.state/deviceID/update/delta sur lequel uniquement les messages de changement d’état liés à l’appareil arriveront.state/deviceID/update et la réplique d’état de l’appareil associée à cet appareil enregistre l’état de l’appareil souhaité dans une base de données persistante.state/deviceID/update/delta et le serveur envoie le message à l’appareil.state/deviceID/update et la réplique d’état de l’appareil associée à cet appareil enregistre le nouvel état dans une base de données persistante.state/deviceID/update/accepted.Une solution IoT doit tirer parti du design suivant lorsque l’appareil est la source du changement d’état qui doit être communiqué aux composants de la solution IoT.
(PPTx)
state/deviceID/update.state/deviceID/update/delta sur lequel les messages de changement d’état liés à l’appareil arriveront.state/deviceID/update.state/deviceID/update/delta et le serveur envoie le message au composant abonné.Lors de la mise en œuvre de ce design, tenez compte des questions suivantes:
En utilisant un style d’interaction pub/sub (publication/souscription), un composant peut écouter les sujets state/deviceID/get/accepted et state/deviceID/get/rejected, puis publier un message sur le sujet state/deviceID/get. La réplique d’état de l’appareil répondrait alors avec l’état sur le sujet state/deviceID/get/accepted. Si la réplique d’état de l’appareil expose une API REST, un composant peut exécuter un GET sur le sujet state/deviceID/get et s’attendre à une réponse directe.
La première action qu’un appareil doit entreprendre lors de la connexion ou du rétablissement d’une connexion est d’obtenir l’état actuel souhaité et de le comparer à son dernier état connu. Idéalement, le serveur qui gère la réplique de l’état de cet appareil peut calculer automatiquement le delta et donc l’appareil connecté devrait s’abonner à state/deviceID/update/delta et peut ensuite agir sur toutes les modifications qui se sont produites alors qu’il était hors ligne.
<scenario à remplir>