Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Technologie de l'Internet des objets

Utilisation des tâches AWS pour mettre à niveau et configurer des appareils IoT

Amazon Web Services (AWS) est l'un des environnements cadres les plus populaires pour l'Internet des objets (IoT) avec Microsoft Azure et Google Cloud IoT. Les appareils intelligents sont connectés au framework via Internet et interagissent avec lui via le protocole MQTT. Outre l'interaction avec les appareils, le framework offre également de grandes opportunités pour le stockage et le traitement des données, la représentation des données à un utilisateur, l'analyse des données (y compris les méthodes d'intelligence artificielle), le contrôle d'accès avec un puissant système de privilèges, et bien plus encore.

Pour le stockage des données, l'environnement AWS fournit (en plus des différents SGBD relationnels et non relationnels) un système de stockage de fichiers hiérarchique basé sur le cloud appelé Simple Storage Service (S3). Chaque fichier du stockage S3 peut avoir un localisateur de ressources universel (URL), accessible de l'extérieur. Dans ce cas, le fichier est accessible via un navigateur Web doté des privilèges d'accès appropriés. Si le contenu du fichier est une page HTML, alors, à l'aide de ce fichier, un utilisateur interactif peut accéder à la fois aux options du framework AWS et aux appareils intelligents qui y sont connectés. Les capacités de cette page sont spécifiées par le code JavaScript qu'elle contient (ce code peut activer des fonctions des interfaces de programmation d'applications (API) du framework dans son ensemble et de ses composants séparés).

Fonctions Lambda

Outre les pages Web, le code du programme dans l'environnement du framework AWS peut être stocké en tant que fonctions lambda. Il s'agit de morceaux de code nommés spéciaux, écrits dans l'un des langages suivants :Python, Java, C# ou Node.Js. Ils sont stockés dans le cloud et sont invoqués lors de certains événements. Un événement peut être initié par une page Web (comme appeler une certaine API REST HTTP sur une certaine URL), par une autre fonction lambda ou par un appareil intelligent (via l'envoi d'un message MQTT d'un certain type). Dans tous ces cas, les événements peuvent avoir des paramètres. Les fonctions Lambda sont utilisées comme middleware pour l'interaction entre les appareils intelligents, les ressources AWS (par exemple, les bases de données) et les pages Web avec lesquelles l'utilisateur interagit directement (Figure 1).

cliquez pour agrandir l'image

Figure 1. Architecture de l'interaction des composants AWS (Source :Auriga)

Il existe des limites strictes pour les lambdas AWS, par exemple, le temps d'exécution du traitement d'une seule demande est limité, la quantité de mémoire qu'un lambda peut utiliser lors du traitement d'une seule demande est limitée. Si une limite est dépassée, l'exécution du lambda est interrompue. Ces limites sont paramétrées par l'utilisateur lors de la création du lambda mais ne peuvent dépasser certaines valeurs.

Un appareil IoT se connecte au cloud à l'aide du protocole TCP, qui assure l'intégrité et la mise en mémoire tampon des données ; dans le cas d'une connexion lente, le protocole se charge d'accumuler les données côté envoi et de les pousser à travers le pipeline lorsque cela devient possible. De plus, un protocole AWS au-dessus de TCP s'occupe de rétablir la connexion TCP de manière persistante en cas de perte de connexion.

Cependant, les problèmes de connectivité entre un appareil IoT et le cloud n'affectent normalement pas les lambdas en raison de la nature unidirectionnelle spécifique du protocole MQTT. Lors de la communication avec un appareil IoT, un lambda envoie simplement un message MQTT et n'attend pas de réponse ; si et quand la réponse arrive, il incombe à une autre fonction lambda de la gérer et d'envoyer un autre message MQTT à l'appareil IoT, si nécessaire.

Emplois AWS

L'un des composants du framework AWS est le service de tâches (AWS Jobs). Il est utilisé pour créer et exécuter des actions (tâches) de longue durée sur un ou plusieurs appareils IoT connectés à AWS et pour gérer ces tâches. En comparaison avec d'autres services AWS, le service AWS Jobs est apparu assez récemment.

L'accès au service AWS Jobs est fourni via la console de programmation ainsi que par programmation à l'aide de l'ensemble de fonctions API.

Un certain sous-ensemble de ces fonctions peut être utilisé par le dispositif intelligent lui-même (peut être invoqué en envoyant des messages MQTT). Les fonctions accessibles via le protocole MQTT exécutent les actions nécessaires pour accéder aux jobs et à leurs paramètres côté appareil :GetPendingJobExecutions, StartNextPendingJobExecution, UpdateJobExecution, DescribeJobExecution, etc.

D'autres fonctions sont définies via le protocole HTTPS et sont destinées à être appelées à partir du code JavaScript sur les pages Web, du code du programme des fonctions lambda et par les utilisateurs en mode interactif. Ces fonctions sont principalement utilisées pour la création et la suppression de jobs et la gestion de l'exécution des jobs :CreateJob, DeleteJob, DescribeJob, ListJobs, ListJobExecutionsForThing, etc.

Dans la terminologie AWS Jobs, les principales informations sur une tâche sont stockées dans son document de tâche. Il s'agit d'un document JSON qui est transmis du framework à l'appareil cible et décrit ce qui doit être fait. Normalement, un document de tâche comprend le nom de l'opération et une URL (ou des URL) qui font référence à l'emplacement des paramètres de tâche de données.

Cette URL peut être « pré-signée » par un utilisateur AWS. Dans ce cas, l'URL permet d'accéder à un certain objet pour l'appareil intelligent avec les privilèges de l'utilisateur qui l'a pré-signé (ainsi l'appareil peut avoir accès aux données auxquelles il ne peut normalement pas accéder). Les URL pré-signées ont une durée de vie limitée et expirent une fois cette durée de vie terminée, ce qui rend l'objet à nouveau inaccessible.

Un document de tâche peut être créé à la volée lors de la création d'une tâche ou peut être stocké sous forme de fichier dans le stockage de fichiers S3 du framework AWS. Un lien vers ce fichier peut être spécifié lors de la création de la tâche.

Les autres attributs du poste sont les suivants :

Lorsqu'un travail est exécuté sur un périphérique spécifique, il a un état. Un ensemble limité d'états est défini par le cadre :QUEUED, IN_PROGRESS, FAILED, SUCCESS, CANCELED, REJECTED, REMOVED. L'état actuel est modifié par une demande de l'appareil (par exemple, l'appel de la fonction UpdateJobExecution) ou lorsqu'un utilisateur appelle l'une des fonctions de gestion des tâches (par exemple, annule la tâche à l'aide de la fonction CancelJob). Normalement, l'état d'exécution de la tâche est IN_PROGRESS pendant que le périphérique exécute la tâche, et il devient SUCCÈS ou ÉCHEC une fois que le périphérique a terminé la tâche.

Le diagramme d'état pour l'exécution de la tâche est illustré à la figure 2 (ici, les transitions initiées par l'appareil sont affichées en bleu et celles initiées par d'autres composants AWS sont affichées en vert).

cliquez pour agrandir l'image

Figure 2. Diagramme des états pendant l'exécution des tâches AWS (Source :Auriga)


Technologie de l'Internet des objets

  1. Les processeurs prennent en charge la convergence de l'IoT et de l'IA
  2. IoT offrant des avantages mondiaux
  3. Fit and forget :la menace posée par l'IoT non configuré
  4. Garantir la cybersécurité et la confidentialité dans l'adoption de l'IoT
  5. Le trafic IoT dans l'entreprise augmente, tout comme les menaces
  6. 7 conseils essentiels pour garder votre réseau IoT à la maison en place et sécurisé
  7. L'importance de 6 milliards de dollars des normes de sécurité et de la réglementation à l'ère de l'IoT
  8. Atténuer les cyber-risques de l'IoT et trouver des solutions
  9. Utiliser l'IoT pour stimuler les industries et soutenir l'économie au sens large