

Avis de fin de support : le 7 octobre 2026, AWS le support de. 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](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# Module 4 : Interaction avec les appareils clients dans un AWS IoT Greengrass groupe
<a name="module4"></a>

Ce module vous montre comment les appareils IoT locaux, appelés *appareils clients* ou *appareils*, peuvent se connecter et communiquer avec un appareil AWS IoT Greengrass principal. Les appareils clients qui se connectent à un AWS IoT Greengrass cœur font partie d'un AWS IoT Greengrass groupe et peuvent participer au paradigme AWS IoT Greengrass de programmation. Dans ce module, un appareil client envoie un message Hello World à un autre appareil client du groupe Greengrass.

![\[AWS IoT connecté à un AWS IoT Greengrass cœur, qui est connecté au dispositif client #1 et au dispositif client #2.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-065.5.png)


Avant de commencer, exécutez le script de [configuration de l'appareil Greengrass](quick-start.md) ou complétez le [Module 1](module1.md) et le [Module 2](module2.md). Ce module crée deux appareils clients simulés. Vous n'avez pas besoin d'autres composants ou appareils.

Le module dure approximativement 30 minutes.

**Topics**
+ [Création d'appareils clients dans un AWS IoT Greengrass groupe](device-group.md)
+ [Configuration des abonnements](config-subs.md)
+ [Installez le Kit SDK des appareils AWS IoT pour Python](IoT-SDK.md)
+ [Test des communications](test-comms.md)

# Création d'appareils clients dans un AWS IoT Greengrass groupe
<a name="device-group"></a>

Au cours de cette étape, vous ajoutez deux appareils clients à votre groupe Greengrass. Ce processus inclut l'enregistrement des appareils en tant qu' AWS IoT objets et la configuration des certificats et des clés pour leur permettre de se connecter AWS IoT Greengrass.

1. <a name="console-gg-groups"></a>Dans le volet de navigation de la AWS IoT console, sous **Gérer**, développez les **appareils Greengrass**, puis choisissez **Groups (V1)**.

1. <a name="group-choose-target-group"></a>Choisissez le groupe cible.

1. <a name="gg-group-add-device"></a>Sur la page de configuration du groupe, choisissez **Appareils clients**, puis sélectionnez **Associer**.

1. <a name="gg-group-create-device"></a>Dans le mode **Associer un appareil client à ce groupe**, choisissez **Create new AWS IoT thing**.

   La page **Créer des objets** s'ouvre dans un nouvel onglet.

1. <a name="gg-group-create-single-thing"></a>Sur la page **Créer des objets**, choisissez **Créer un objet unique**, puis cliquez sur **Suivant**.

1. Sur la page **Spécifier les propriétés de l'objet**, enregistrez ce périphérique client en tant que**HelloWorld\$1Publisher**, puis choisissez **Next**.

1. <a name="gg-group-create-device-configure-certificate"></a>Sur la page **Configurer le certificat de l'appareil**, choisissez **Next**.

1. <a name="gg-group-create-device-attach-policy"></a>Sur la page **Attacher des politiques au certificat**, effectuez l'une des opérations suivantes :
   + Sélectionnez une politique existante qui accorde les autorisations requises par les appareils clients, puis choisissez **Create thing**.

     Un modal s'ouvre dans lequel vous pouvez télécharger les certificats et les clés que l'appareil utilise pour se connecter au AWS Cloud et au noyau.
   + Créez et joignez une nouvelle politique qui accorde des autorisations aux appareils clients. Procédez comme suit :

     1. Choisissez **Create Policy** (Créer une politique).

        La page **Créer une stratégie** s'ouvre dans un nouvel onglet.

     1. Sur la page **Create policy** (Créer une stratégie), procédez comme suit :

        1. Dans **Nom de la stratégie**, entrez un nom qui décrit la stratégie, tel que**GreengrassV1ClientDevicePolicy**.

        1. Dans l'onglet **Déclarations de politique**, sous **Document de stratégie**, sélectionnez **JSON**.

        1. Entrez le document de politique suivant. Cette politique permet à l'appareil client de découvrir les cœurs de Greengrass et de communiquer sur tous les sujets MQTT. Pour plus d'informations sur la façon de restreindre l'accès à cette politique, consultez[Authentification et autorisation de l'appareil pour AWS IoT Greengrass](device-auth.md).

------
#### [ JSON ]

****  

           ```
           {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Connect",
                   "iot:Receive"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "greengrass:*"
                 ],
                 "Resource": [
                   "*"
                 ]
               }
             ]
           }
           ```

------

        1. Choisissez **Create (Créer)** pour créer la politique.

     1. Retournez à l'onglet du navigateur avec la page **Joindre les politiques au certificat** ouverte. Procédez comme suit :

        1. Dans la liste des **politiques**, sélectionnez la politique que vous avez créée, telle que **GreengrassV1ClientDevicePolicy**.

           Si vous ne voyez pas la politique, cliquez sur le bouton d'actualisation.

        1. Choisissez **Créer objet**.

           Un modal s'ouvre dans lequel vous pouvez télécharger les certificats et les clés que l'appareil utilise pour se connecter au AWS Cloud et au noyau.

1. <a name="gg-group-create-device-download-certs"></a>Dans le modal **Télécharger les certificats et les clés**, téléchargez les certificats de l'appareil.
**Important**  
Avant de choisir **OK**, téléchargez les ressources de sécurité.

   Procédez comme suit :

   1. Pour le **certificat de l'appareil**, choisissez **Télécharger** pour télécharger le certificat de l'appareil.

   1. Pour **le fichier de clé publique**, choisissez **Télécharger** pour télécharger la clé publique du certificat.

   1. Pour **Fichier de clé privée**, choisissez **Télécharger** pour télécharger le fichier de clé privée pour le certificat.

   1. Passez en revue [l'authentification du serveur](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html) dans le *guide du AWS IoT développeur* et choisissez le certificat CA racine approprié. Nous vous recommandons d'utiliser les points de terminaison Amazon Trust Services (ATS) et les certificats CA racine ATS. Sous **Certificats de l'autorité de certification racine**, choisissez **Télécharger** pour un certificat de l'autorité de certification racine.

   1. Sélectionnez **Exécuté**.

   Notez l'ID de certificat commun aux noms de fichiers du certificat et des clés de l'appareil. Vous en aurez besoin ultérieurement.

1. Retournez à l'onglet du navigateur avec le modal **Associer un appareil client à ce groupe** ouvert. Procédez comme suit :

   1. Pour le **nom de l'AWS IoT objet**, choisissez l'**HelloWorld\$1Publisher**objet que vous avez créé.

      Si vous ne le voyez pas, cliquez sur le bouton d'actualisation.

   1. Choisissez **Associer**.

1. Répétez les étapes 3 à 10 pour ajouter un deuxième appareil client au groupe.

   Nommez cet appareil client**HelloWorld\$1Subscriber**. Téléchargez les certificats et les clés de cet appareil client sur votre ordinateur. Encore une fois, notez l'ID du certificat qui est courant dans les noms de fichiers de l'appareil HelloWorld \$1Subscriber.

   Vous devriez maintenant avoir deux appareils clients dans votre groupe Greengrass :
   + HelloWorld\$1Éditeur
   + HelloWorld\$1Abonné

1. Créez un dossier sur votre ordinateur pour les informations d'identification de sécurité de ces appareils clients. Copiez les certificats et les clés dans ce dossier.

# Configuration des abonnements
<a name="config-subs"></a>

Au cours de cette étape, vous autorisez le périphérique client HelloWorld \$1Publisher à envoyer des messages MQTT au périphérique client HelloWorld \$1Subscriber.

1. Sur la page de configuration du groupe, choisissez l'onglet **Abonnements**, puis sélectionnez **Ajouter**.

1. Sur la page **Créer un abonnement**, procédez comme suit pour configurer l'abonnement :

   1. Pour **Type de source**, choisissez **Appareil client**, puis choisissez **HelloWorld\$1Publisher**.

   1. Sous **Type de cible**, choisissez **Appareil client**, puis sélectionnez **HelloWorld\$1Subscriber**.

   1. Pour **Filtre de rubrique**, tapez **hello/world/pubsub**.
**Note**  
Vous pouvez supprimer les abonnements des modules précédents. Sur la page **Abonnements** du groupe, sélectionnez les abonnements à supprimer, puis choisissez **Supprimer**.

   1. Choisissez **Create subscription** (Créer un abonnement).

1. <a name="enable-automatic-detection"></a>Assurez-vous que la détection automatique est activée afin que le noyau Greengrass puisse publier une liste de ses adresses IP. Les appareils clients utilisent ces informations pour découvrir le cœur. Procédez comme suit :

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

   1. **Sous **Fonctions Lambda du système**, sélectionnez **Détecteur IP**, puis Modifier.**

   1. **Dans les **paramètres Modifier le détecteur IP**, choisissez **Détecter et remplacer automatiquement les points de terminaison du broker MQTT**, puis sélectionnez Enregistrer.**

1. Assurez-vous que le daemon Greengrass est en cours d'exécution, comme décrit dans. [Déploiement des configurations cloud sur un appareil Core](configs-core.md)

1. <a name="console-actions-deploy"></a>Sur la page de configuration du groupe, choisissez **Deploy**.

L'état du déploiement s'affiche sous le nom du groupe dans l'en-tête de la page. Pour voir les détails du déploiement, cliquez sur l'onglet **Déploiements**.

# Installez le Kit SDK des appareils AWS IoT pour Python
<a name="IoT-SDK"></a>

Les appareils clients peuvent utiliser le Kit SDK des appareils AWS IoT for Python pour communiquer avec AWS IoT les périphériques AWS IoT Greengrass principaux (à l'aide du langage de programmation Python). Pour plus d'informations, y compris les exigences, consultez le [fichier Readme Kit SDK des appareils AWS IoT](https://github.com/aws/aws-iot-device-sdk-python) pour Python sur GitHub.

Au cours de cette étape, vous installez le SDK et obtenez l'`basicDiscovery.py`exemple de fonction utilisé par les appareils clients simulés sur votre ordinateur.

1. Pour installer le kit SDK sur votre ordinateur, avec tous les composants nécessaires, choisissez votre système d'exploitation :

------
#### [ Windows ]

   1. Ouvrez une [invite de commande de niveau élevé](https://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx) et exécutez la commande suivante :

      ```
      python --version
      ```

      Si aucune information de version n'est renvoyée ou si le numéro de version est inférieur à 2.7 pour Python 2 ou à 3.3 pour Python 3, suivez les instructions indiquées à la page [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download) pour installer Python 2.7\$1 ou Python 3.3\$1. Pour plus d'informations, consultez la page [Using Python on Windows](https://docs.python.org/3.6/using/windows.html).

   1. Téléchargez le fichier [Kit SDK des appareils AWS IoT pour Python](https://github.com/aws/aws-iot-device-sdk-python) sous forme de `zip` fichier et extrayez-le vers un emplacement approprié sur votre ordinateur.

      Notez le chemin d'accès au dossier `aws-iot-device-sdk-python-master` extrait qui contient le fichier `setup.py`. À l'étape suivante, ce chemin de fichier est indiqué par*path-to-SDK-folder*.

   1. À partir d'une invite de commande de niveau élevé, exécutez la commande suivante :

      ```
      cd path-to-SDK-folder
      python setup.py install
      ```

------
#### [ macOS ]

   1. Ouvrez une fenêtre de terminal et exécutez la commande suivante :

      ```
      python --version
      ```

      Si aucune information de version n'est renvoyée ou si le numéro de version est inférieur à 2.7 pour Python 2 ou à 3.3 pour Python 3, suivez les instructions indiquées à la page [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download) pour installer Python 2.7\$1 ou Python 3.3\$1. Pour plus d'informations, consultez la page [Using Python on a Macintosh](https://docs.python.org/3/using/mac.html).

   1. Dans la fenêtre de terminal, exécutez les commandes suivantes pour déterminer la version OpenSSL :

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      Notez la valeur de la version OpenSSL. 
**Note**  
Si vous exécutez Python 3, utilisez **print(ssl.OPENSSL\$1VERSION)**.

      Pour fermer le shell Python, exécutez la commande suivante :

      ```
      >>>exit()
      ```

      Si la version OpenSSL est postérieure à 1.0.1, passez directement à l'[étape 3](#step-c-install-python-sdk). Sinon, suivez ces étapes :

      1. Depuis la fenêtre de terminal, exécutez la commande suivante afin de déterminer si l'ordinateur utilise Simple Python Version Management :

        ```
        which pyenv
        ```

      Si un chemin d'accès est renvoyé, choisissez l'onglet **Using (Utilise) `pyenv`**. Si aucun chemin n'est renvoyé, choisissez l'onglet **Not using (N'utilise pas) `pyenv`**.

------
#### [ Using pyenv ]

      1. Consultez la page des [versions Python pour Mac OS X](https://www.python.org/downloads/mac-osx/) (ou similaire) pour déterminer la version stable de Python la plus récente. Dans l'exemple suivant, cette valeur est indiquée par*latest-Python-version*.

      1. À partir de la fenêtre de terminal, exécutez les commandes suivantes :

         ```
         pyenv install latest-Python-version
         pyenv global latest-Python-version
         ```

         Par exemple, si la version la plus récente de Python 2 est 2.7.14, ces commandes seront les suivantes :

         ```
         pyenv install 2.7.14
         pyenv global 2.7.14
         ```

      1. Fermez, puis rouvrez une fenêtre de terminal et exécutez les commandes suivantes :

         ```
         python
         >>>import ssl
         >>>print ssl.OPENSSL_VERSION
         ```

         La version OpenSSL doit être au minimum 1.0.1. Si la version est inférieure à 1.0.1, la mise à jour a échoué. Vérifiez la version de Python utilisée dans les commandes **pyenv install** et **pyenv global**, puis réessayez.

      1. Pour quitter le shell Python, exécutez la commande suivante :

         ```
          exit()
         ```

------
#### [ Not using pyenv ]

      1. À partir d'une fenêtre de terminal, exécutez la commande suivante pour déterminer si [brew](https://brew.sh/) est installé :

         ```
         which brew
         ```

         Si aucun chemin d'accès n'est renvoyé, installez `brew` comme suit :

         ```
         /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
         ```
**Note**  
Suivez les invites d'installation. Le téléchargement des outils de ligne de commande Xcode peut prendre un certain temps.

      1. Exécutez les commandes suivantes :

         ```
         brew update
         brew install openssl
         brew install python@2
         ```

          Kit SDK des appareils AWS IoT Pour Python, la version 1.0.1 (ou ultérieure) d'OpenSSL doit être compilée avec l'exécutable Python. La commande **brew install python** installe un fichier exécutable `python2` qui répond à cette exigence. Le fichier exécutable `python2` est installé dans le répertoire `/usr/local/bin`, qui doit faire partie de la variable d'environnement `PATH`. Pour confirmer cela, exécutez la commande suivante :

         ```
         python2 --version
         ```

         Si des informations sur la version `python2` sont fournies, passez directement à l'étape suivante. Dans le cas contraire, ajoutez de façon définitive le chemin `/usr/local/bin` à votre variable d'environnement `PATH` en ajoutant la ligne suivante à votre profil shell :

         ```
         export PATH="/usr/local/bin:$PATH"
         ```

         Par exemple, si vous utilisez `.bash_profile` ou si vous ne possédez pas encore de profil shell, exécutez la commande suivante à partir d'une fenêtre de terminal :

         ```
         echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
         ```

         Ensuite, définissez la [source](https://en.wikipedia.org/wiki/Source_(command)) de votre profil shell et confirmez que les informations de version sont fournies par `python2 --version`. Par exemple, si vous utilisez `.bash_profile`, exécutez les commandes suivantes :

         ```
         source ~/.bash_profile
         python2 --version
         ```

         Les informations de version `python2` doivent être renvoyées.

      1. Ajoutez la ligne suivante à votre profil shell :

         ```
         alias python="python2"
         ```

         Par exemple, si vous utilisez `.bash_profile` ou si vous ne possédez pas encore de profil shell, exécutez la commande suivante :

         ```
         echo 'alias python="python2"' >> ~/.bash_profile
         ```

      1. Ensuite, définissez la [source](https://en.wikipedia.org/wiki/Source_(command)) de votre profil shell. Par exemple, si vous utilisez `.bash_profile`, exécutez la commande suivante :

         ```
         source ~/.bash_profile
         ```

         L'appel de la commande **python** a pour effet de lancer le fichier exécutable Python contenant la version OpenSSL requise (`python2`).

      1. Exécutez les commandes suivantes :

         ```
         python
          import ssl
          print ssl.OPENSSL_VERSION
         ```

         La version OpenSSL doit être 1.0.1 ou une version ultérieure.

      1. Pour quitter le shell Python, exécutez la commande suivante :

         ```
          exit()
         ```

------

   1. <a name="step-c-install-python-sdk"></a>Exécutez les commandes suivantes pour installer le Kit SDK des appareils AWS IoT pour Python :

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------
#### [ UNIX-like system ]

   1. À partir d'une fenêtre de terminal , exécutez la commande suivante :

      ```
      python --version
      ```

      Si aucune information de version n'est renvoyée ou si le numéro de version est inférieur à 2.7 pour Python 2 ou à 3.3 pour Python 3, suivez les instructions indiquées à la page [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download) pour installer Python 2.7\$1 ou Python 3.3\$1. Pour plus d'informations, consultez la page [Using Python on Unix platforms](https://docs.python.org/3.6/using/unix.html).

   1. Dans la fenêtre de terminal, exécutez les commandes suivantes pour déterminer la version OpenSSL :

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      Notez la valeur de la version OpenSSL. 
**Note**  
Si vous exécutez Python 3, utilisez **print(ssl.OPENSSL\$1VERSION)**.

      Pour fermer le shell Python, exécutez la commande suivante :

      ```
       exit()
      ```

      Si la version OpenSSL est postérieure à 1.0.1, passez directement à l'étape suivante. Dans le cas contraire, exécutez la ou les commandes pour mettre à jour OpenSSL pour votre distribution (par exemple, `sudo yum update openssl`, `sudo apt-get update`, etc.).

      Confirmez que la version OpenSSL est bien 1.0.1 ou une version ultérieure en exécutant les commandes suivantes :

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      >>>exit()
      ```

   1. Exécutez les commandes suivantes pour installer le Kit SDK des appareils AWS IoT pour Python :

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------

1. Une fois le Kit SDK des appareils AWS IoT for Python installé, accédez au `samples` dossier et `greengrass` ouvrez-le.

   Pour ce didacticiel, vous copiez l'exemple de fonction `basicDiscovery.py`, qui utilise les certificats et les clés que vous avez téléchargés dans [Création d'appareils clients dans un AWS IoT Greengrass groupe](device-group.md).

1. Copiez `basicDiscovery.py` dans le dossier contenant les certificats et clés des appareils HelloWorld \$1Publisher et HelloWorld \$1Subscriber.

# Test des communications
<a name="test-comms"></a>

1. <a name="ping-device"></a>Assurez-vous que votre ordinateur et le périphérique AWS IoT Greengrass principal sont connectés à Internet via le même réseau.

   1. Sur le périphérique AWS IoT Greengrass principal, exécutez la commande suivante pour trouver son adresse IP.

      ```
      hostname -I
      ```

   1. Sur votre ordinateur, exécutez la commande suivante à l'aide de l'adresse IP du noyau. Vous pouvez utilisez Ctrl \$1 C pour arrêter la commande **ping**.

      ```
      ping IP-address
      ```

      Une sortie similaire à la suivante indique une communication réussie entre l'ordinateur et le périphérique AWS IoT Greengrass principal (0 % de perte de paquets) :  
![\[Sortie de commande ping réussie.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-075.5.png)
**Note**  
Si vous ne parvenez pas à envoyer un ping à une EC2 instance en cours d'exécution AWS IoT Greengrass, assurez-vous que les règles du groupe de sécurité entrant pour l'instance autorisent le trafic ICMP pour les messages de [demande Echo](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping). Pour plus d'informations, consultez la section [Ajouter des règles à un groupe de sécurité](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule) dans le *guide de EC2 l'utilisateur Amazon*.  
Sur les ordinateurs hôtes Windows, dans l'application Windows Firewall with Advanced Security, vous devrez peut-être également activer une règle entrante autorisant les demandes d'écho entrantes (par exemple, **partage de fichiers et d'imprimantes (Echo Request - ICMPv4 -In))**, ou en créer une.

1. Obtenez votre AWS IoT terminal.

   1. <a name="iot-settings"></a>Dans le volet de navigation de la [AWS IoT console](https://console.aws.amazon.com/iot/), sélectionnez **Paramètres**.

   1. <a name="iot-settings-endpoint"></a>Sous Point de **terminaison des données de l'appareil**, notez la valeur du **point de terminaison**. Vous utilisez cette valeur pour remplacer l'*AWS\$1IOT\$1ENDPOINT*espace réservé dans les commandes au cours des étapes suivantes.
**Note**  
Assurez-vous que vos [points de terminaison correspondent à votre type de certificat](gg-core.md#certificate-endpoints).

1. Sur votre ordinateur (et non sur le périphérique AWS IoT Greengrass principal), ouvrez deux fenêtres de [ligne de commande](https://en.wikipedia.org/wiki/Command-line_interface) (terminal ou invite de commande). Une fenêtre représente l'appareil client HelloWorld \$1Publisher et l'autre le périphérique client HelloWorld \$1Subscriber.

   Lors de l'exécution, `basicDiscovery.py` tente de collecter des informations sur l'emplacement du AWS IoT Greengrass noyau à ses extrémités. Ces informations sont stockées une fois que le périphérique client a découvert le cœur et s'y est connecté avec succès. Cela permet d'exécuter localement la messagerie et les opérations à venir (sans avoir besoin d'une connexion Internet).
**Note**  
Le client IDs utilisé pour les connexions MQTT doit correspondre au nom de l'objet du périphérique client. Le `basicDiscovery.py` script définit l'ID client pour les connexions MQTT sur le nom d'objet que vous spécifiez lorsque vous exécutez le script.   
Exécutez la commande suivante depuis le dossier qui contient le `basicDiscovery.py` fichier pour obtenir des informations détaillées sur l'utilisation du script :  

   ```
   python basicDiscovery.py --help
   ```

1. Dans la fenêtre de l'appareil client HelloWorld \$1Publisher, exécutez les commandes suivantes.
   + Remplacez *path-to-certs-folder* par le chemin d'accès au dossier contenant les certificats, les clés et`basicDiscovery.py`.
   + *AWS\$1IOT\$1ENDPOINT*Remplacez-le par votre terminal.
   + Remplacez les deux *publisherCertId* instances par l'ID du certificat dans le nom de fichier de votre appareil client HelloWorld \$1Publisher.

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert publisherCertId-certificate.pem.crt --key publisherCertId-private.pem.key --thingName HelloWorld_Publisher --topic 'hello/world/pubsub' --mode publish --message 'Hello, World! Sent from HelloWorld_Publisher'
   ```

   La sortie obtenue doit être similaire à la suivante, qui inclut des entrées comme `Published topic 'hello/world/pubsub': {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`.
**Note**  
Si le script renvoie un message `error: unrecognized arguments`. Remplacez les guillemets simples par des guillemets doubles pour les paramètres `--topic` et `--message`, puis exécutez à nouveau la commande.  
Pour résoudre un problème de connexion, vous pouvez essayer d'utiliser la [détection manuelle des IP](#corp-network-manual-detection).  
![\[Capture d'écran de la sortie de l'éditeur.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-076.png)

1. Dans la fenêtre de l'appareil client HelloWorld \$1Subscriber, exécutez les commandes suivantes.
   + Remplacez *path-to-certs-folder* par le chemin d'accès au dossier contenant les certificats, les clés et`basicDiscovery.py`.
   + *AWS\$1IOT\$1ENDPOINT*Remplacez-le par votre terminal.
   + Remplacez les deux *subscriberCertId* instances par l'ID du certificat dans le nom de fichier de votre appareil client HelloWorld \$1Subscriber.

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert subscriberCertId-certificate.pem.crt --key subscriberCertId-private.pem.key --thingName HelloWorld_Subscriber --topic 'hello/world/pubsub' --mode subscribe
   ```

   La sortie suivante doit s'afficher. Elle inclut des entrées comme `Received message on topic hello/world/pubsub: {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`.  
![\[Capture d'écran de la sortie de l'abonné.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-077.png)

Fermez le HelloWorld\$1Publisher fenêtre pour empêcher l'accumulation de messages dans le HelloWorld\$1Subscriber fenêtre.

Les tests sur un réseau d'entreprise peuvent interférer avec la connexion au noyau. Pour contourner ce problème, vous pouvez entrer le point de terminaison. Cela garantit que le `basicDiscovery.py` script se connecte à l'adresse IP correcte du périphérique AWS IoT Greengrass principal.

**Pour entrer manuellement le point de terminaison**

1. <a name="console-gg-groups"></a>Dans le volet de navigation de la AWS IoT console, sous **Gérer**, développez les **appareils Greengrass**, puis choisissez **Groups (V1)**.

1. Sous **Groupes Greengrass**, choisissez votre groupe.

1. Configurez le noyau pour gérer manuellement les points de terminaison du broker MQTT. Procédez comme suit :

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

   1. **Sous **Fonctions Lambda du système**, sélectionnez **Détecteur IP**, puis Modifier.**

   1. **Dans les **paramètres Modifier le détecteur IP**, choisissez **Gérer manuellement les points de terminaison du broker MQTT**, puis sélectionnez Enregistrer.**

1. Entrez le point de terminaison du broker MQTT pour le noyau. Procédez comme suit :

   1. Sous **Vue d'ensemble**, choisissez le noyau **Greengrass**.

   1. Sous Points de terminaison du **broker MQTT, sélectionnez **Gérer** les points de terminaison**.

   1. Choisissez **Ajouter un point de terminaison** et assurez-vous de n'avoir qu'une seule valeur de point de terminaison. Cette valeur doit être le point de terminaison de l'adresse IP pour le port 8883 de votre appareil AWS IoT Greengrass principal (par exemple,`192.168.1.4`).

   1. Choisissez **Mettre à jour**.