Conservation de l'état de l'appareil lorsque l'appareil est hors connexion avec Device Shadows - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Conservation de l'état de l'appareil lorsque l'appareil est hors connexion avec Device Shadows

Ces didacticiels vous montrent comment utiliser l'AWS IoTService Device Shadow pour stocker et mettre à jour les informations d'état d'un appareil. Le document Shadow, qui est un document JSON, affiche la modification de l'état de l'appareil en fonction des messages publiés par un appareil, une application locale ou un service. Dans ce didacticiel, le document Shadow montre le changement de couleur d'une ampoule. Ces didacticiels montrent également comment l'ombre stocke ces informations même lorsque l'appareil est déconnecté d'Internet, et transmet les dernières informations d'état à l'appareil lorsqu'il revient en ligne et demande ces informations.

Nous vous recommandons d'essayer ces didacticiels dans l'ordre dans lequel ils sont affichés ici, en commençant par leAWS IoTles ressources que vous devez créer et la configuration matérielle nécessaire, ce qui vous aide également à apprendre les concepts de manière incrémentielle. Ces didacticiels montrent comment configurer et connecter un appareil Raspberry Pi à utiliser avecAWS IoT. Si vous ne disposez pas du matériel requis, vous pouvez suivre ces didacticiels en les adaptant à un appareil de votre choix ou encréation d'un appareil virtuel avec Amazon EC2.

Présentation du scénario du didacticiel

Le scénario de ces didacticiels est une application ou un service local qui modifie la couleur d'une ampoule et publie ses données sur des sujets d'ombre réservés. Ces didacticiels sont similaires à la fonctionnalité Device Shadow décrite dans ledidacticiel de démarrage interactifet sont implémentés sur un appareil Raspberry Pi. Les didacticiels de cette section se concentrent sur une seule ombre classique tout en montrant comment vous pouvez prendre en charge les ombres nommées ou plusieurs appareils.

Les didacticiels suivants vous apprendront à utiliser l'AWS IoTService Device Shadow.

AWS IoTPrésentation Device Shadow

Un Device Shadow est une représentation virtuelle persistante d'un appareil géré par unressource objetque vous créez dans leAWS IoTregistre. Le document Shadow est un fichier JSON ou unJavaScriptDoc de notation utilisé pour stocker et extraire les informations sur l'état actuel d'un appareil. Vous pouvez utiliser l'shadow pour obtenir et définir l'état d'un appareil sur les rubriques MQTT ou les API REST HTTP, que l'appareil soit connecté ou non à Internet.

Un document Shadow contient unstatequi décrit ces aspects de l'état de l'appareil.

  • desired: Les applications spécifient les états souhaités des propriétés de l'appareil en mettant à jour l'desiredobjet.

  • reported: les appareils rapportent leur état actuel dans lereportedobjet.

  • delta :AWS IoTrapporte les différences entre l'état souhaité et l'état rapporté dans ledeltaobjet.

Voici un exemple de document d'état Shadow.

{ "state": { "desired": { "color": "green" }, "reported": { "color": "blue" }, "delta": { "color": "green" } } }

Pour mettre à jour le document Shadow d'un appareil, vous pouvez utiliser leRubriques MQTT réservées, leAPI REST Device Shadowqui soutiennent l'GET,UPDATE, etDELETEopérations avec HTTP et leAWS IoTCLI.

Dans l'exemple précédent, supposons que vous souhaitiez modifier l'desiredcolor toyellow. Pour ce faire, envoyez une demande auUpdateThingShadowAPI ou publiez un message dans l'Mise à jourla rubrique ;$aws/things/THING_NAME/shadow/update.

{ "state": { "desired": { "color": yellow } } }

Les mises à jour concernent uniquement les champs spécifiés dans la demande. Après avoir correctement mis à jour le Device Shadow,AWS IoTpublie la nouvelledesiredétat vers l'deltala rubrique ;$aws/things/THING_NAME/shadow/delta. Dans ce cas, le document Shadow ressemble à ceci :

{ "state": { "desired": { "color": yellow }, "reported": { "color": green }, "delta": { "color": yellow } } }

Le nouvel état est ensuite signalé auAWS IoTDevice ShadowUpdatesujet$aws/things/THING_NAME/shadow/updateavec le message JSON suivant :

{ "state": { "reported": { "color": yellow } } }

Si vous souhaitez obtenir les informations sur l'état actuel, envoyez une demande auGetThingShadowAPI ou publiez un message MQTT sur leFaitesla rubrique ;$aws/things/THING_NAME/shadow/get.

Pour plus d'informations sur l'utilisation du service Device Shadow, consultezAWS IoT Service Device Shadow.

Pour plus d'informations sur l'utilisation de Device Shadows dans les appareils, dans les applications et les services, consultezUtilisation des shadows sur les appareilsetUtilisation des shadows dans les applications et les services.

Pour plus d'informations sur l'interaction avecAWS IoTshadows, consultezInteraction avec les shadows.

Pour en savoir plus sur les rubriques réservées MQTT et les API REST HTTP, consultezMQTTSujets relatifs à Device ShadowetDevice Shadow REST API.