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.
Utilisation AWS IoT Events pour surveiller vos appareils IoT
Vous pouvez l'utiliser AWS IoT Events pour surveiller vos appareils ou vos processus et prendre des mesures en fonction d'événements importants. Pour ce faire, suivez les étapes de base suivantes :
- Création d'entrées
-
Vous devez disposer d'un moyen pour vos appareils et processus d'y introduire des données de télémétrie. AWS IoT Events Pour ce faire, vous envoyez des messages sous forme d'entrées à AWS IoT Events. Vous pouvez envoyer des messages sous forme d'entrées de différentes manières :
-
Utilisez l' BatchPutMessageopération.
-
Définissez une
iotEvents
rule-action pour le moteur de règles.AWS IoT Core La rule-action transfère les données des messages de votre entrée vers. AWS IoT Events -
Dans AWS IoT Analytics, utilisez l'CreateDatasetopération pour créer un ensemble de données avec
contentDeliveryRules
. Ces règles spécifient l' AWS IoT Events entrée à laquelle le contenu de l'ensemble de données est envoyé automatiquement. -
Définissez une iotEventsaction dans un modèle
onExit
ou untransitionEvents
événement de AWS IoT EventsonInput
détecteur. Les informations relatives à l'instance du modèle de détecteur et à l'événement à l'origine de l'action sont renvoyées au système sous forme d'entrée sous le nom que vous spécifiez.
Avant que vos appareils ne commencent à envoyer des données de cette manière, vous devez définir une ou plusieurs entrées. Pour ce faire, attribuez un nom à chaque entrée et spécifiez les champs des données des messages entrants surveillés par l'entrée. AWS IoT Events reçoit ses entrées, sous forme de JSON charge utile, de nombreuses sources. Chaque entrée peut être traitée seule ou combinée à d'autres entrées pour détecter des événements plus complexes.
-
- Création d'un modèle de détecteur
-
Définissez un modèle de détecteur (un modèle de votre équipement ou de votre processus) à l'aide des états. Pour chaque état, vous définissez une logique conditionnelle (booléenne) qui évalue les entrées entrantes afin de détecter les événements importants. Lorsqu'un événement est détecté, il peut changer d'état ou lancer des actions personnalisées ou prédéfinies à l'aide d'autres AWS services. Vous pouvez définir des événements supplémentaires qui déclenchent des actions lors de l'entrée ou de la sortie d'un état et, éventuellement, lorsqu'une condition est remplie.
Dans ce didacticiel, vous envoyez un SNS message Amazon en tant qu'action lorsque le modèle entre ou sort d'un certain état.
- Surveiller un appareil ou un processus
-
Si vous surveillez plusieurs appareils ou processus, vous spécifiez un champ dans chaque entrée qui identifie le périphérique ou le processus dont provient l'entrée. (Voir le
key
champ dansCreateDetectorModel
.) Lorsqu'un nouvel appareil est identifié (une nouvelle valeur apparaît dans le champ de saisie identifié par lekey
), un détecteur est créé. (Chaque détecteur est une instance du modèle de détecteur.) Le nouveau détecteur continue ensuite de répondre aux entrées provenant de cet appareil jusqu'à ce que son modèle de détecteur soit mis à jour ou supprimé.Si vous surveillez un seul processus (même si plusieurs appareils ou sous-processus envoient des entrées), vous ne spécifiez pas de
key
champ d'identification unique. Dans ce cas, un seul détecteur (instance) est créé lorsque la première entrée arrive. - Envoyez des messages sous forme d'entrées à votre modèle de détecteur
-
Il existe plusieurs manières d'envoyer un message à partir d'un appareil ou de le traiter en tant qu'entrée dans un AWS IoT Events détecteur sans que vous ayez à appliquer un formatage supplémentaire au message. Dans ce didacticiel, vous allez utiliser la AWS IoT console pour écrire une règle AWS IoT Events d'action pour le moteur de AWS IoT Core règles qui transmet les données de vos messages AWS IoT Events. Pour ce faire, vous devez identifier l'entrée par son nom. Ensuite, vous continuez à utiliser la AWS IoT console pour générer des messages qui sont transférés en tant qu'entrées vers AWS IoT Events.
Comment savoir de quels états vous avez besoin dans un modèle de détecteur ?
Pour déterminer les états que doit présenter votre modèle de détecteur, déterminez d'abord les mesures que vous pouvez prendre. Par exemple, si votre voiture fonctionne à l'essence, vous examinez la jauge de carburant lorsque vous commencez un voyage pour voir si vous avez besoin de faire le plein. Ici, vous n'avez qu'une chose à faire : dites au chauffeur d' « aller chercher de l'essence ». Votre modèle de détecteur a besoin de deux états : « la voiture n'a pas besoin de carburant » et « la voiture a besoin de carburant ». En général, vous souhaitez définir un état pour chaque action possible, plus un autre lorsqu'aucune action n'est requise. Cela fonctionne même si l'action elle-même est plus compliquée. Par exemple, vous pouvez rechercher et inclure des informations indiquant où trouver la station-service la plus proche ou le prix le moins cher, mais vous le faites lorsque vous envoyez le message « allez chercher de l'essence ».
Pour décider dans quel état entrer ensuite, vous examinez les entrées. Les entrées contiennent les informations dont vous avez besoin pour décider dans quel état vous devez vous trouver. Pour créer une saisie, vous devez sélectionner un ou plusieurs champs dans un message envoyé par votre appareil ou processus pour vous aider à prendre une décision. Dans cet exemple, vous avez besoin d'une entrée qui indique le niveau de carburant actuel (« pourcentage de remplissage »). Peut-être que votre voiture vous envoie plusieurs messages différents, chacun contenant plusieurs champs différents. Pour créer cette entrée, vous devez sélectionner le message et le champ indiquant le niveau actuel de la jauge de gaz. La durée du voyage que vous vous apprêtez à effectuer (« distance jusqu'à la destination ») peut être codée en dur pour simplifier les choses ; vous pouvez utiliser la durée moyenne de votre trajet. Vous allez effectuer des calculs en fonction de l'entrée (à combien de gallons correspond ce pourcentage plein ? est la durée moyenne du trajet supérieure aux miles que vous pouvez parcourir, compte tenu des gallons dont vous disposez et de votre moyenne (« miles par gallon »). Vous effectuez ces calculs et vous envoyez des messages lors d'événements.
Jusqu'à présent, vous avez deux états et une entrée. Vous avez besoin d'un événement dans le premier état qui effectue les calculs en fonction de l'entrée et décide de passer au second état. Il s'agit d'un événement de transition. (transitionEvents
figurent dans la liste des onInput
événements d'un État. À la réception d'une entrée dans ce premier état, l'événement effectue une transition vers le second état, si celui de l'événement condition
est satisfait.) Lorsque vous atteignez le deuxième état, vous envoyez le message dès que vous entrez dans l'état. (Vous utilisez un onEnter
événement. Lorsque vous entrez dans le deuxième état, cet événement envoie le message. Pas besoin d'attendre l'arrivée d'une autre entrée.) Il existe d'autres types d'événements, mais c'est tout ce dont vous avez besoin pour un exemple simple.
Les autres types d'événements sont onExit
etonInput
. Dès qu'une entrée est reçue et que la condition est remplie, un onInput
événement exécute les actions spécifiées. Lorsqu'une opération quitte son état actuel et que la condition est remplie, l'onExit
événement exécute les actions spécifiées.
Il vous manque quelque chose ? Oui, comment revenir au premier état « la voiture n'a pas besoin de carburant » ? Une fois que vous avez rempli votre réservoir d'essence, l'entrée indique qu'il est plein. Dans votre deuxième état, vous avez besoin d'un événement de transition vers le premier état qui se produit lorsque l'entrée est reçue (dans les onInput:
événements du second état). Il devrait revenir au premier état si ses calculs indiquent que vous avez maintenant assez d'essence pour vous rendre là où vous voulez aller.
C'est l'essentiel. Certains modèles de détecteurs deviennent plus complexes en ajoutant des états qui reflètent des entrées importantes, et pas seulement des actions possibles. Par exemple, un modèle de détecteur peut avoir trois états permettant de suivre la température : un état « normal », un état « trop chaud » et un état « problème potentiel ». Vous passez à l'état potentiellement problématique lorsque la température dépasse un certain niveau, mais qu'elle n'est pas encore trop chaude. Vous ne voulez pas envoyer d'alarme à moins qu'elle ne reste à cette température pendant plus de 15 minutes. Si la température revient à la normale avant cette date, le détecteur revient à l'état normal. Si le chronomètre expire, le détecteur passe à l'état trop chaud et envoie une alarme, par mesure de prudence. Vous pouvez faire la même chose en utilisant des variables et un ensemble plus complexe de conditions d'événement. Mais il est souvent plus facile d'utiliser un autre état pour, en fait, stocker les résultats de vos calculs.
Comment savoir si vous avez besoin d'une ou de plusieurs instances de détecteur ?
Pour déterminer le nombre d'instances dont vous avez besoin, demandez-vous « Qu'est-ce qui vous intéresse de savoir ? » Imaginons que vous vouliez connaître le temps qu'il fait aujourd'hui. Est-ce qu'il pleut (État) ? Avez-vous besoin d'un parapluie (action) ? Vous pouvez avoir un capteur qui indique la température, un autre qui indique l'humidité et d'autres qui signalent la pression barométrique, la vitesse et la direction du vent, ainsi que les précipitations. Mais vous devez surveiller tous ces capteurs ensemble pour déterminer l'état de la météo (pluie, neige, ciel couvert, soleil) et les mesures appropriées à prendre (prendre un parapluie ou appliquer un écran solaire). Malgré le nombre de capteurs, vous souhaitez qu'une instance de détecteur surveille l'état de la météo et vous indique les mesures à prendre.
Mais si vous êtes le prévisionniste météo de votre région, il se peut que vous disposiez de plusieurs instances de tels réseaux de capteurs, situées à différents endroits de la région. Les gens de chaque endroit doivent connaître le temps qu'il fait à cet endroit. Dans ce cas, vous avez besoin de plusieurs instances de votre détecteur. Les données rapportées par chaque capteur à chaque emplacement doivent inclure un champ que vous avez désigné comme key
champ. Ce champ permet AWS IoT Events de créer une instance de détecteur pour la zone, puis de continuer à acheminer ces informations vers cette instance de détecteur au fur et à mesure qu'elles arrivent. Fini les cheveux abîmés ou les coups de soleil sur le nez !
Essentiellement, vous avez besoin d'une instance de détecteur si vous avez une situation (un processus ou un emplacement) à surveiller. Si vous devez surveiller de nombreuses situations (sites, processus), vous avez besoin de plusieurs instances de détecteurs.