View a markdown version of this page

Mise en route avec les connecteurs Greengrass (console) - AWS IoT Greengrass

Avis de fin de support : le 7 octobre 2026, AWS le support pour AWS IoT Greengrass Version 1. Après le 7 octobre 2026, vous ne pourrez plus accéder aux AWS IoT Greengrass V1 ressources. Pour plus d'informations, rendez-vous sur Migrer depuis AWS IoT Greengrass Version 1.

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.

Mise en route avec les connecteurs Greengrass (console)

Cette fonctionnalité est disponible pour AWS IoT Greengrass Core v1.7 et versions ultérieures.

Ce didacticiel montre comment utiliser le Console de gestion AWS pour travailler avec des connecteurs.

Utilisez des connecteurs pour accélérer votre cycle de développement. Les connecteurs sont des modules réutilisables prédéfinis qui contribuent à interagir avec les services, les protocoles et les ressources. Ils peuvent vous aider à déployer plus rapidement une logique métier pour les appareils Greengrass. Pour de plus amples informations, veuillez consulter Intégrer à des services et protocoles à l'aide de connecteurs Greengrass.

Dans ce didacticiel, vous allez configurer et déployer le connecteur Twilio Notifications. Le connecteur reçoit des informations du message Twilio en tant que données d'entrée, puis déclenche un SMS Twilio. Le flux de données est illustré dans le diagramme suivant.

Flux de données de la fonction Lambda au connecteur Twilio Notifications vers Twilio.

Après avoir configuré le connecteur, vous créez une fonction Lambda et un abonnement.

  • La fonction évalue les données simulées à partir d'un capteur de température. Elle publie les informations du message Twilio sous certaines conditions dans une rubrique MQTT. Il s'agit de la rubrique à laquelle le connecteur est abonné.

  • L'abonnement autorise la fonction à publier dans la rubrique et le connecteur à recevoir des données provenant de la rubrique.

Le connecteur Twilio Notifications nécessite un jeton d'authentification Twilio pour interagir avec l'API Twilio. Le jeton est un secret de type texte créé AWS Secrets Manager et référencé dans une ressource de groupe. Cela permet AWS IoT Greengrass de créer une copie locale du secret sur le cœur de Greengrass, où il est chiffré et mis à la disposition du connecteur. Pour de plus amples informations, veuillez consulter Déployez des secrets dans AWS IoT Greengrass principal.

Le didacticiel contient les étapes détaillées suivantes :

Le didacticiel devrait prendre environ 20 minutes.

Conditions préalables

Pour suivre ce didacticiel, vous devez disposer des éléments suivants :

  • Un groupe Greengrass et un appareil principal (noyau) Greengrass (version 1.9.3 ou ultérieure). Pour savoir comment créer un groupe et un service principal Greengrass, consultez Démarrage avec AWS IoT Greengrass. Le didacticiel Mise en route comprend également les étapes d'installation du logiciel AWS IoT Greengrass Core.

  • Python 3.7 installé sur le périphérique AWS IoT Greengrass principal.

  • AWS IoT Greengrass doit être configuré pour prendre en charge les secrets locaux, comme décrit dans Exigences relatives aux secrets.

    Note

    Cette exigence inclut l'autorisation d'accéder aux secrets de votre Gestionnaire de secrets. Si vous utilisez le rôle de service Greengrass par défaut, Greengrass est autorisé à obtenir les valeurs des secrets dont les noms commencent par greengrass-.

  • Un SID de compte Twilio, un jeton d'authentification et un numéro de Twilio-enabled téléphone. Une fois que vous avez créé un projet Twilio, ces valeurs sont disponibles sur le tableau de bord du projet.

    Note

    Vous pouvez utiliser un compte d'essai Twilio. Si vous utilisez un compte d'essai, vous devez ajouter les numéros de téléphone non destinataires de Twilio à une liste de numéros de téléphone vérifiés. Pour plus d'informations, consultez Comment utiliser votre compte d'essai gratuit de Twilio.

Étape 1 : Création d'un secret dans le Gestionnaire de secrets

Au cours de cette étape, vous utilisez la AWS Secrets Manager console pour créer un code secret de type de texte pour votre jeton d'authentification Twilio.

  1. Connectez-vous à la console AWS Secrets Manager.

    Note

    Pour plus d'informations sur ce processus, consultez Étape 1 : Création et stockage de votre code secret AWS Secrets Manager dans le Guide de AWS Secrets Manager l'utilisateur.

  2. Choisissez Store a new secret (Stocker un nouveau secret).

  3. Sous Choisir le type de secret, choisissez Autre type de secret.

  4. Sous Spécifier les key/value paires à stocker pour ce secret, dans l'onglet Texte en clair, entrez votre jeton d'authentification Twilio. Supprimez tout le formatage JSON et entrez uniquement la valeur du jeton.

  5. Maintenez aws/secretsmanager cette option sélectionnée pour la clé de chiffrement, puis choisissez Suivant.

    Note

    Vous n'êtes pas facturé AWS KMS si vous utilisez la clé AWS gérée par défaut créée par Secrets Manager dans votre compte.

  6. Pour Secret name, entrez greengrass-TwilioAuthToken et choisissez Next.

    Note

    Par défaut, le rôle de service Greengrass permet AWS IoT Greengrass d'obtenir la valeur des secrets dont le nom commence par greengrass-. Pour plus d'informations, consultez les exigences liées aux secrets.

  7. Ce didacticiel ne nécessite pas de rotation. Choisissez Désactiver la rotation automatique, puis cliquez sur Suivant.

  8. Dans la page Révision, passez en revue vos paramètres, puis choisissez Stocker.

    Ensuite, vous créez une ressource de secret dans votre groupe Greengrass qui référence le secret.

Étape 2 : Ajouter une ressource de secret à un groupe Greengrass

Au cours de cette étape, vous ajoutez une ressource de secret au groupe Greengrass. Cette ressource est une référence au secret que vous avez créé à l'étape précédente.

  1. Dans le volet de navigation de la AWS IoT console, sous Gérer, développez les appareils Greengrass, puis choisissez Groupes (V1).

  2. Choisissez le groupe auquel vous souhaitez ajouter la ressource de secret.

  3. Sur la page de configuration du groupe, choisissez l'onglet Ressources, puis faites défiler l'écran jusqu'à la section Secrets. La section Secrets affiche les ressources secrètes appartenant au groupe. Vous pouvez ajouter, modifier et supprimer des ressources secrètes depuis cette section.

    Note

    La console vous permet également de créer un secret et une ressource secrète lorsque vous configurez un connecteur ou une fonction Lambda. Vous pouvez le faire à partir de la page Configurer les paramètres du connecteur ou de la page Ressources de la fonction Lambda.

  4. Choisissez Ajouter dans la section Secrets.

  5. Sur la page Ajouter une ressource secrète, saisissez le nom MyTwilioAuthToken de la ressource.

  6. Pour le Secret, choisissez Greengrass-. TwilioAuthToken

  7. Dans la section Sélectionner les étiquettes (facultatif), l'étiquette intermédiaire AWSCURRENT représente la dernière version du secret. Cette étiquette est toujours incluse dans une ressource de secret.

    Note

    Ce didacticiel nécessite uniquement l'étiquette AWSCURRENT. Vous pouvez éventuellement inclure des étiquettes requises par votre fonction ou votre connecteur Lambda.

  8. Choisissez Add resource (Ajouter ressource).

Étape 3 : Ajouter un connecteur au groupe Greengrass

Au cours de cette étape, vous configurez les paramètres du connecteur Twilio Notifications et vous l'ajoutez au groupe.

  1. Sur la page de configuration de groupe, choisissez Connecteurs, puis choisissez Ajouter un connecteur.

  2. Sur la page Ajouter un connecteur, choisissez Twilio Notifications.

  3. Choisissez la version .

  4. Dans la section Configuration :

    • Pour la ressource de jeton d'authentification Twilio, entrez la ressource que vous avez créée à l'étape précédente.

      Note

      Lorsque vous entrez la ressource, l'ARN de la propriété secrète du jeton d'authentification Twilio est renseigné pour vous.

    • Pour Par défaut à partir du numéro de téléphone, entrez votre Twilio-enabled numéro de téléphone.

    • Pour le SID du compte Twilio, saisissez le SID de votre compte Twilio.

  5. Choisissez Add resource (Ajouter ressource).

Étape 4 : Création d'un package de déploiement de fonctions Lambda

Pour créer une fonction Lambda, vous devez d'abord créer un package de déploiement de fonction Lambda contenant le code de la fonction et les dépendances. Les fonctions Lambda de Greengrass nécessitent le SDK AWS IoT Greengrass Core pour des tâches telles que la communication avec les messages MQTT dans l'environnement principal et l'accès aux secrets locaux. Ce didacticiel crée une fonction Python afin que vous utilisiez la version Python du SDK dans le package de déploiement.

  1. À partir de la page de téléchargement du SDK AWS IoT Greengrass Core, téléchargez le SDK AWS IoT Greengrass Core pour Python sur votre ordinateur.

  2. Décompressez le package téléchargé pour obtenir le kit SDK. Le kit SDK est représenté par le dossier greengrasssdk.

  3. Enregistrez la fonction de code Python suivante dans un fichier local nommé temp_monitor.py.

    import greengrasssdk import json import random client = greengrasssdk.client('iot-data') # publish to the Twilio Notifications connector through the twilio/txt topic def function_handler(event, context): temp = event['temperature'] # check the temperature # if greater than 30C, send a notification if temp > 30: data = build_request(event) client.publish(topic='twilio/txt', payload=json.dumps(data)) print('published:' + str(data)) print('temperature:' + str(temp)) return # build the Twilio request from the input data def build_request(event): to_name = event['to_name'] to_number = event['to_number'] temp_report = 'temperature:' + str(event['temperature']) return { "request": { "recipient": { "name": to_name, "phone_number": to_number, "message": temp_report } }, "id": "request_" + str(random.randint(1,101)) }
  4. Compressez les éléments suivants dans un fichier nommé temp_monitor_python.zip. Lorsque vous créez le fichier zip, insérez uniquement le code et ses dépendances, pas le dossier dans lequel il se trouve.

    • temp_monitor.py. Logique d'application.

    • greengrasssdk. Bibliothèque requise pour les fonctions Python Greengrass Lambda qui publient des messages MQTT.

    Il s'agit de votre package de déploiement de fonctions Lambda.

Créez maintenant une fonction Lambda qui utilise le package de déploiement.

Étape 5 : Création d'une fonction Lambda dans AWS Lambda console

Au cours de cette étape, vous utilisez la AWS Lambda console pour créer une fonction Lambda et la configurer pour utiliser votre package de déploiement. Vous publiez ensuite une version de fonction et créez un alias.

  1. Commencez par créer la fonction Lambda.

    1. Dans le Console de gestion AWS, choisissez Services et ouvrez la AWS Lambda console.

    2. Choisissez Créer une fonction, puis choisissez Auteur à partir de zéro.

    3. Dans la section Informations de base, spécifiez les valeurs suivantes :

      • Sous Nom de la fonction, saisissez TempMonitor.

      • Pour Runtime, sélectionnez Python 3.7.

      • Pour les autorisations, conservez le paramètre par défaut. Cela crée un rôle d'exécution qui accorde des autorisations Lambda de base. Ce rôle n'est pas utilisé par AWS IoT Greengrass.

    4. Dans le bas de la page, choisissez Create function.

  2. Enregistrez ensuite le gestionnaire et chargez votre package de déploiement de la fonction Lambda.

    1. Dans l'onglet Code, sous Source du code, choisissez Télécharger depuis. Dans la liste déroulante, choisissez le fichier .zip.

      La liste déroulante Télécharger depuis avec le fichier .zip en surbrillance.
    2. Choisissez Télécharger, puis choisissez votre package temp_monitor_python.zip de déploiement. Ensuite, choisissez Enregistrer.

    3. Dans l'onglet Code de la fonction, sous Paramètres d'exécution, choisissez Modifier, puis entrez les valeurs suivantes.

      • Pour Runtime, sélectionnez Python 3.7.

      • Pour Handler (Gestionnaire), entrez temp_monitor.function_handler.

    4. Choisissez Enregistrer.

      Note

      Le bouton Test de la AWS Lambda console ne fonctionne pas avec cette fonction. Le SDK AWS IoT Greengrass Core ne contient pas de modules nécessaires pour exécuter vos fonctions Greengrass Lambda de manière indépendante dans la console. AWS Lambda Ces modules (par exemplegreengrass_common) sont fournis aux fonctions après leur déploiement dans votre cœur Greengrass.

  3. À présent, publiez la première version de votre fonction Lambda et créez un alias pour cette version.

    Note

    Les groupes Greengrass peuvent référencer une fonction Lambda par alias (recommandé) ou par version. L'utilisation d'un alias facilite la gestion des mises à jour de code, car vous n'avez pas à modifier votre table d'abonnement ou votre définition de groupe lorsque le code de fonction est mis à jour. Au lieu de cela, il vous suffit de pointer l'alias vers la nouvelle version de la fonction.

    1. Dans le menu Actions, sélectionnez Publier une nouvelle version.

    2. Dans Description de la version, saisissez First version, puis choisissez Publish.

    3. Sur la page de configuration TempMonitor : 1, dans le menu Actions, choisissez Créer un alias.

    4. Sur la page Create a new alias, utilisez les valeurs suivantes :

      • Pour Nom, saisissez GG_TempMonitor.

      • Pour Version, choisissez 1.

      Note

      AWS IoT Greengrass ne prend pas en charge les alias Lambda pour les versions $LATEST.

    5. Choisissez Créer.

Vous êtes maintenant prêt à ajouter la fonction Lambda à votre groupe Greengrass.

Étape 6 : Ajouter une fonction Lambda au groupe Greengrass

Au cours de cette étape, vous ajoutez la fonction Lambda au groupe, puis vous configurez son cycle de vie et ses variables d'environnement. Pour de plus amples informations, veuillez consulter Contrôle de l'exécution des fonctions Greengrass Lambda à l'aide d'une configuration spécifique au groupe.

  1. Sur la page de configuration du groupe, choisissez l'onglet Fonctions Lambda.

  2. Dans Mes fonctions Lambda, choisissez Ajouter.

  3. Sur la page Ajouter une fonction Lambda, choisissez TempMonitor votre fonction Lambda.

  4. Pour la version de la fonction Lambda, choisissez Alias : TempMonitor GG_.

  5. Choisissez Ajouter une fonction Lambda.

Étape 7 : Ajouter des abonnements au groupe Greengrass

Au cours de cette étape, vous ajoutez un abonnement qui permet à la fonction Lambda d'envoyer des données d'entrée au connecteur. Le connecteur définit les rubriques MQTT auxquelles il est abonné, de sorte que cet abonnement utilise l'une des rubriques. Il s'agit de la même rubrique dans laquelle l'exemple de fonction effectue la publication.

Pour ce didacticiel, vous devez également créer des abonnements qui permettent à la fonction de recevoir des relevés de température simulés AWS IoT et de AWS IoT recevoir des informations d'état depuis le connecteur.

  1. Sur la page de configuration du groupe, choisissez l'onglet Abonnements, puis choisissez Ajouter un abonnement.

  2. Sur la page Créer un abonnement, configurez la source et la cible comme suit :

    1. Pour Type de source, choisissez Fonction Lambda, puis choisissez TempMonitor.

    2. Pour Type de cible, choisissez Connector, puis choisissez Twilio Notifications.

  3. Pour le filtre thématique, choisisseztwilio/txt.

  4. Choisissez Créer un abonnement.

  5. Répétez les étapes 1 à 4 pour créer un abonnement qui permet AWS IoT de publier des messages dans la fonction.

    1. Pour Type de source, choisissez Service, puis IoT Cloud.

    2. Pour Sélectionner une cible, choisissez Fonction Lambda, puis choisissez TempMonitor.

    3. Pour Filtre de rubrique, tapez temperature/input.

  6. Répétez les étapes 1 à 4 pour créer un abonnement qui permet au connecteur de publier des messages dans AWS IoT.

    1. Pour Type de source, choisissez Connector, puis choisissez Twilio Notifications.

    2. Pour Type de cible, choisissez Service, puis IoT Cloud.

    3. Pour Topic filter, twilio/message/status est entré pour vous. Il s'agit de la rubrique prédéfinie dans laquelle le connecteur effectue la publication.

Étape 8 : Déployer le groupe Greengrass

Déployer le groupe sur l'appareil principal (noyau)

  1. Assurez-vous que le AWS IoT Greengrass noyau fonctionne. Dans la fenêtre de terminal de votre Raspberry Pi, exécutez les commandes suivantes, si nécessaire.

    1. Pour vérifier si le démon est en cours d'exécution :

      ps aux | grep -E 'greengrass.*daemon'

      Si la sortie contient une entrée root pour /greengrass/ggc/packages/ggc-version/bin/daemon, le démon est en cours d'exécution.

      Note

      La version indiquée dans le chemin dépend de la version du logiciel AWS IoT Greengrass Core installée sur votre appareil principal.

    2. Pour démarrer le démon :

      cd /greengrass/ggc/core/ sudo ./greengrassd start
  2. Sur la page de configuration du groupe, choisissez Déployer.

    1. Dans l'onglet Fonctions Lambda, dans la section Fonctions Lambda du système, sélectionnez Détecteur IP, puis sélectionnez Modifier.

    2. Dans la boîte de dialogue Modifier les paramètres du détecteur IP, sélectionnez Détecter et remplacer automatiquement les points de terminaison du courtier MQTT.

    3. Choisissez Enregistrer.

      Les appareils peuvent ainsi acquérir automatiquement des informations de connectivité pour le noyau, telles que l'adresse IP, le DNS et le numéro de port. La détection automatique est recommandée, mais elle prend AWS IoT Greengrass également en charge les points de terminaison spécifiés manuellement. Vous êtes uniquement invité à indiquer la méthode de découverte lors du déploiement initial du groupe.

      Note

      Si vous y êtes invité, accordez l'autorisation de créer le rôle de service Greengrass et associez-le Compte AWS à votre rôle actuel Région AWS. Ce rôle permet d'accéder AWS IoT Greengrass à vos ressources dans les AWS services.

      La page Déploiements indique l'horodatage, l'ID de version et l'état du déploiement. Une fois terminé, le statut affiché pour le déploiement doit être Terminé.

      Pour bénéficier d'une aide à la résolution des problèmes, consultez Résolution des problèmes AWS IoT Greengrass.

Note

Un groupe Greengrass ne peut contenir qu'une seule version du connecteur à la fois. Pour de plus amples informations sur la mise à niveau d'une version de connecteur, veuillez consulter Mise à niveau des versions du connecteur.

Tester la solution

  1. Sur la page d'accueil de la AWS IoT console, choisissez Tester.

  2. Pour S'abonner à la rubrique, utilisez les valeurs suivantes, puis choisissez S'abonner. Le connecteur Twilio Notifications publie des informations d'état dans cette rubrique.

    Propriété

    Value

    rubrique abonnement

    twilio/message/statut

    Affichage de la charge utile MQTT

    Affichage des charges utiles sous forme de chaînes

  3. Pour Publier dans la rubrique, utilisez les valeurs suivantes, puis choisissez Publier pour appeler la fonction.

    Propriété

    Value

    Rubrique

    temperature/input

    Message

    recipient-nameRemplacez-le par le nom et recipient-phone-number le numéro de téléphone du destinataire du message texte. Exemple : +12345000000

    { "to_name": "recipient-name", "to_number": "recipient-phone-number", "temperature": 31 }

    Si vous utilisez un compte d'essai, vous devez ajouter les numéros de téléphone non destinataires de Twilio à une liste de numéros de téléphone vérifiés. Pour plus d'informations, voir Vérifier votre numéro de téléphone personnel.

    En cas de réussite, le destinataire reçoit le SMS et la console affiche le statut success depuis les données de sortie.

    Maintenant, passez la temperature dans le message d'entrée à 29 et publiez. Comme ce chiffre est inférieur à 30, la TempMonitor fonction ne déclenche pas de message Twilio.

Consultez aussi