

Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS wird der Support für eingestellt. AWS IoT Greengrass Version 1 Nach dem 7. Oktober 2026 können Sie nicht mehr auf die Ressourcen zugreifen. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter [Migrieren von AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Modul 4: Interaktion mit Client-Geräten in einer AWS IoT Greengrass Gruppe
<a name="module4"></a>

Dieses Modul zeigt Ihnen, wie lokale IoT-Geräte, sogenannte *Client-Geräte* oder *Geräte*, eine Verbindung zu einem AWS IoT Greengrass Kerngerät herstellen und mit diesem kommunizieren können. Client-Geräte, die eine Verbindung zu einem AWS IoT Greengrass Core herstellen, sind Teil einer AWS IoT Greengrass Gruppe und können am AWS IoT Greengrass Programmierparadigma teilnehmen. In diesem Modul sendet ein Client-Gerät eine Hello World-Nachricht an ein anderes Client-Gerät in der Greengrass-Gruppe.

![\[AWS IoT mit einem AWS IoT Greengrass Core verbunden, der mit dem Client-Gerät #1 und dem Client-Gerät #2 verbunden ist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-065.5.png)


Führen Sie vor Beginn das Skript [Greengrass Device Setup](quick-start.md) aus oder schließen Sie [Modul 1](module1.md) und [Modul 2](module2.md) ab. Dieses Modul erstellt zwei simulierte Client-Geräte. Sie benötigen keine anderen Komponenten oder Geräte.

Dieses Modul sollte nicht mehr als 30 Minuten in Anspruch nehmen.

**Topics**
+ [Client-Geräte in einer AWS IoT Greengrass Gruppe erstellen](device-group.md)
+ [Konfigurieren von Abonnements](config-subs.md)
+ [Installieren Sie das AWS IoT Device SDK für Python](IoT-SDK.md)
+ [Testen der Kommunikation](test-comms.md)

# Client-Geräte in einer AWS IoT Greengrass Gruppe erstellen
<a name="device-group"></a>

In diesem Schritt fügen Sie Ihrer Greengrass-Gruppe zwei Client-Geräte hinzu. Dieser Prozess umfasst die Registrierung der Geräte als AWS IoT Dinge und die Konfiguration von Zertifikaten und Schlüsseln, mit denen sie eine Verbindung herstellen AWS IoT Greengrass können.

1. <a name="console-gg-groups"></a>Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter **Verwalten** die Option **Greengrass-Geräte** und wählen Sie dann **Gruppen (V1)** aus.

1. <a name="group-choose-target-group"></a>Wählen Sie die Zielgruppe aus.

1. <a name="gg-group-add-device"></a>Wählen Sie auf der Gruppenkonfigurationsseite die Option **Client-Geräte** und dann **Associate** aus.

1. <a name="gg-group-create-device"></a>Wählen **Sie im Modal Ein Client-Gerät mit dieser Gruppe verknüpfen** die Option **Neues Objekt erstellen AWS IoT aus**.

   Die Seite „**Dinge erstellen**“ wird auf einer neuen Registerkarte geöffnet.

1. <a name="gg-group-create-single-thing"></a>Wählen Sie auf der Seite „**Dinge erstellen**“ die Option „**Einzelnes Ding erstellen**“ und dann „**Weiter**“ aus.

1. Registrieren Sie dieses Client-Gerät auf der Seite „**Eigenschaften des Objekts angeben**“ als **HelloWorld\$1Publisher** und wählen Sie dann **Weiter** aus.

1. <a name="gg-group-create-device-configure-certificate"></a>Wählen Sie auf der Seite **Gerätezertifikat konfigurieren** die Option **Weiter** aus.

1. <a name="gg-group-create-device-attach-policy"></a>Führen Sie auf der Seite **Richtlinien an Zertifikat anhängen** einen der folgenden Schritte aus:
   + Wählen Sie eine bestehende Richtlinie aus, die Berechtigungen gewährt, die Client-Geräte benötigen, und wählen Sie dann **Ding erstellen** aus.

     Es öffnet sich ein Fenster, in dem Sie die Zertifikate und Schlüssel herunterladen können, die das Gerät für die Verbindung mit dem Core AWS Cloud und dem Core verwendet.
   + Erstellen Sie eine neue Richtlinie, die Client-Geräteberechtigungen gewährt, und fügen Sie sie an. Gehen Sie wie folgt vor:

     1. Wählen Sie **Richtlinie erstellen** aus.

        Die Seite **Create policy (Richtlinie erstellen)** wird in einer neuen Registerkarte geöffnet.

     1. Führen Sie auf der Seite **Create policy (Richtlinie erstellen)** die folgenden Schritte aus:

        1. Geben Sie als **Richtlinienname** einen Namen ein, der die Richtlinie beschreibt, z. **GreengrassV1ClientDevicePolicy** B.

        1. Wählen Sie auf der Registerkarte **Richtlinienerklärungen** unter **Richtliniendokument die** Option **JSON** aus.

        1. Geben Sie das folgende Richtliniendokument ein. Diese Richtlinie ermöglicht es dem Client-Gerät, Greengrass-Kerne zu erkennen und zu allen MQTT-Themen zu kommunizieren. Informationen darüber, wie Sie den Zugriff dieser Richtlinie einschränken können, finden Sie unter. [Geräteauthentifizierung und Autorisierung für 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. Wählen Sie **Create** (Erstellen) aus, um die Richtlinie zu erstellen.

     1. Kehren Sie zur Browser-Registerkarte zurück, auf der die Seite **Richtlinien an Zertifikat anhängen** geöffnet ist. Gehen Sie wie folgt vor:

        1. Wählen Sie in der Liste **Richtlinien** die Richtlinie aus, die Sie erstellt haben, z. **GreengrassV1ClientDevicePolicy**B.

           Wenn Sie die Richtlinie nicht sehen, klicken Sie auf die Schaltfläche „Aktualisieren“.

        1. Wählen Sie **Objekt erstellen** aus.

           Es öffnet sich ein Fenster, in dem Sie die Zertifikate und Schlüssel herunterladen können, die das Gerät für die Verbindung mit dem Core AWS Cloud und dem Core verwendet.

1. <a name="gg-group-create-device-download-certs"></a>**Laden Sie im Modal Zertifikate und Schlüssel** herunterladen die Zertifikate des Geräts herunter.
**Wichtig**  
Laden Sie die Sicherheitsressourcen herunter, bevor Sie „**Fertig**“ wählen.

   Gehen Sie wie folgt vor:

   1. Wählen Sie **unter Gerätezertifikat** die Option **Herunterladen** aus, um das Gerätezertifikat herunterzuladen.

   1. Wählen Sie unter **Datei mit öffentlichem Schlüssel** die Option **Herunterladen** aus, um den öffentlichen Schlüssel für das Zertifikat herunterzuladen.

   1. Wählen Sie unter **Datei mit privatem Schlüssel** die Option **Herunterladen** aus, um die Datei mit dem privaten Schlüssel für das Zertifikat herunterzuladen.

   1. Lesen Sie die [Serverauthentifizierung](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html) im *AWS IoT Entwicklerhandbuch* und wählen Sie das entsprechende Root-CA-Zertifikat aus. Wir empfehlen die Verwendung von Amazon Trust Services (ATS) -Endpunkten und ATS-Root-CA-Zertifikaten. Wählen Sie unter **Root-CA-Zertifikate** die Option **Herunterladen** für ein Root-CA-Zertifikat aus.

   1. Wählen Sie **Fertig** aus.

   Notieren Sie sich die Zertifikat-ID, die in den Dateinamen für das Gerätezertifikat und die Schlüssel häufig vorkommt. Sie benötigen sie später.

1. Kehren Sie zur Browser-Registerkarte zurück und öffnen **Sie das Modal Ein Client-Gerät mit dieser Gruppe verknüpfen**. Gehen Sie wie folgt vor:

   1. Wählen Sie als **Namen AWS IoT das **HelloWorld\$1Publisher****Ding aus, das Sie erstellt haben.

      Wenn Sie das Ding nicht sehen, wählen Sie die Schaltfläche „Aktualisieren“.

   1. Wählen Sie **Associate** aus.

1. Wiederholen Sie die Schritte 3 bis 10, um der Gruppe ein zweites Client-Gerät hinzuzufügen.

   Benennen Sie dieses Client-Gerät**HelloWorld\$1Subscriber**. Laden Sie die Zertifikate und Schlüssel für dieses Client-Gerät auf Ihren Computer herunter. Notieren Sie sich auch hier die ID des Zertifikats, die häufig in den Dateinamen für das HelloWorld \$1Subscriber-Gerät vorkommt.

   Sie sollten jetzt zwei Client-Geräte in Ihrer Greengrass-Gruppe haben:
   + HelloWorld\$1Herausgeber
   + HelloWorld\$1Abonnent

1. Erstellen Sie auf Ihrem Computer einen Ordner für die Sicherheitsanmeldeinformationen dieser Client-Geräte. Kopieren Sie die Zertifikate und Schlüssel in diesen Ordner.

# Konfigurieren von Abonnements
<a name="config-subs"></a>

In diesem Schritt aktivieren Sie das HelloWorld \$1Publisher-Clientgerät, um MQTT-Nachrichten an das HelloWorld \$1Subscriber-Clientgerät zu senden.

1. **Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Abonnements** und dann Hinzufügen aus.**

1. Gehen Sie auf der Seite **Abonnement erstellen** wie folgt vor, um das Abonnement zu konfigurieren:

   1. Wählen Sie als **Quelltyp** die Option **Client-Gerät** und dann **HelloWorld\$1Publisher** aus.

   1. Wählen Sie unter **Zieltyp** die Option **Client-Gerät** und dann **HelloWorld\$1Abonnent** aus.

   1. Geben Sie für **Topic filter (Themenfilter)** die Zeichenfolge **hello/world/pubsub** ein.
**Anmerkung**  
Sie können Abonnements aus den früheren Modulen löschen. Wählen Sie auf der **Abonnementseite der Gruppe die Abonnements** aus, die Sie löschen möchten, und klicken Sie dann auf **Löschen**.

   1. Wählen Sie **Create subscription** (Abonnement erstellen) aus.

1. <a name="enable-automatic-detection"></a>Stellen Sie sicher, dass die automatische Erkennung aktiviert ist, damit der Greengrass Core eine Liste seiner IP-Adressen veröffentlichen kann. Client-Geräte verwenden diese Informationen, um den Core zu ermitteln. Gehen Sie wie folgt vor:

   1. Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Lambda-Funktionen** aus.

   1. Wählen Sie unter **System-Lambda-Funktionen** die Option **IP-Detektor** und dann **Bearbeiten** aus.

   1. **Wählen **Sie unter IP-Detektoreinstellungen bearbeiten** die Option **MQTT-Broker-Endpunkte automatisch erkennen und überschreiben** und dann Speichern aus.**

1. Stellen Sie sicher, dass der Greengrass-Daemon läuft, wie unter beschrieben. [Bereitstellen von Cloud-Konfigurationen für ein Core-Gerät](configs-core.md)

1. <a name="console-actions-deploy"></a>**Wählen Sie auf der Gruppenkonfigurationsseite Deploy aus.**

Der Bereitstellungsstatus wird im Header der Seite unter dem Namen der Gruppe angezeigt. Um Einzelheiten zur Bereitstellung anzuzeigen, wählen Sie die Registerkarte **Bereitstellungen.**

# Installieren Sie das AWS IoT Device SDK für Python
<a name="IoT-SDK"></a>

Client-Geräte können AWS IoT Device SDK for Python verwenden, um mit AWS IoT und AWS IoT Greengrass Core-Geräten zu kommunizieren (unter Verwendung der Programmiersprache Python). Weitere Informationen, einschließlich der Anforderungen, finden Sie in der [Readme-Datei AWS IoT Device SDK](https://github.com/aws/aws-iot-device-sdk-python) für Python unter GitHub.

In diesem Schritt installieren Sie das SDK und erhalten die `basicDiscovery.py` Beispielfunktion, die von den simulierten Client-Geräten auf Ihrem Computer verwendet wird.

1. Um das SDK mit allen erforderlichen Komponenten auf Ihrem Computer zu installieren, wählen Sie Ihr Betriebssystem aus:

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

   1. Öffnen Sie eine [erweiterte Eingabeaufforderung](https://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx) und führen Sie den folgenden Befehl aus:

      ```
      python --version
      ```

      Wenn keine Versionsinformationen zurückgegeben werden oder wenn die Versionsnummer für Python 2 kleiner als 2.7 oder für Python 3 kleiner als 3.3 ist, installieren Sie Python 2.7\$1 oder Python 3.3\$1 gemäß den Anweisungen unter [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download). Weitere Informationen finden Sie unter [Using Python on Windows](https://docs.python.org/3.6/using/windows.html).

   1. Laden Sie die [AWS IoT Device SDK für Python](https://github.com/aws/aws-iot-device-sdk-python) als `zip` Datei herunter und extrahieren Sie sie an einen geeigneten Ort auf Ihrem Computer.

      Notieren Sie sich den Dateipfad zum extrahierten `aws-iot-device-sdk-python-master`-Ordner, der die Datei `setup.py` enthält. Im nächsten Schritt wird dieser Dateipfad durch angezeigt*path-to-SDK-folder*.

   1. Führen Sie von der erweiterten Eingabeaufforderung aus Folgendes aus:

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

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

   1. Öffnen Sie ein Terminalfenster und führen Sie den folgenden Befehl aus:

      ```
      python --version
      ```

      Wenn keine Versionsinformationen zurückgegeben werden oder wenn die Versionsnummer für Python 2 kleiner als 2.7 oder für Python 3 kleiner als 3.3 ist, installieren Sie Python 2.7\$1 oder Python 3.3\$1 gemäß den Anweisungen unter [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download). Weitere Informationen finden Sie unter [Using Python on a Macintosh](https://docs.python.org/3/using/mac.html).

   1. Führen Sie im Terminalfenster die folgenden Befehle aus, um die OpenSSL-Version zu ermitteln:

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

      Notieren Sie sich den Wert der OpenSSL-Version. 
**Anmerkung**  
Wenn Sie Python 3 ausführen, verwenden Sie **print(ssl.OPENSSL\$1VERSION)**.

      Um die Python-Shell zu schließen, führen Sie den folgenden Befehl aus:

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

      Wenn die OpenSSL Version 1.0.1 oder höher ist, gehen Sie direkt zu [Schritt c](#step-c-install-python-sdk). Führen Sie andernfalls die folgenden Schritte aus:

      1. Führen Sie im Terminalfenster den folgenden Befehl aus, um zu festzustellen, ob der Computer das Simple Python Version Management verwendet:

        ```
        which pyenv
        ```

      Wird ein Dateipfad zurückgegeben, wählen Sie die Registerkarte **Using `pyenv`** (Unter Verwendung von). Wird nichts zurückgegeben, wählen Sie die Registerkarte **Not using `pyenv`** (Nicht unter Verwendung von).

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

      1. Weitere Informationen, wie Sie die neueste stabile Python-Version bestimmen, finden Sie unter [Python Releases for Max OS X](https://www.python.org/downloads/mac-osx/) (oder ähnlich). Im folgenden Beispiel wird dieser Wert durch angezeigt*latest-Python-version*.

      1. Führen Sie im Terminalfenster die folgenden Befehle aus:

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

         Wenn beispielsweise die neueste Version für Python 2 gleich 2.7.14 ist, lauten diese Befehle:

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

      1. Schließen Sie das Terminalfenster und öffnen Sie es wieder und führen Sie dann die folgenden Befehle aus:

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

         Die OpenSSL-Version sollte 1.0.1 oder neuer sein. Wenn die Version kleiner als 1.0.1 ist, dann ist die Aktualisierung fehlgeschlagen. Überprüfen Sie die Python-Version in den Befehlen **pyenv install** und **pyenv global** und versuchen Sie es erneut.

      1. Um die Python-Shell zu schließen, führen Sie den folgenden Befehl aus:

         ```
          exit()
         ```

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

      1. Führen Sie den folgenden Befehl in einem Terminalfenster aus, um festzustellen, ob [brew](https://brew.sh/) installiert ist:

         ```
         which brew
         ```

         Wird kein Dateipfad zurückgegeben, installieren Sie `brew` wie folgt:

         ```
         /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
         ```
**Anmerkung**  
Befolgen Sie die Eingabeaufforderungen für die Installation. Der Download für die Xcode-Befehlszeilentools kann einige Zeit in Anspruch nehmen.

      1. Führen Sie die folgenden Befehle aus:

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

          AWS IoT Device SDK Für Python ist OpenSSL Version 1.0.1 (oder höher) erforderlich, die mit der ausführbaren Python-Datei kompiliert wurde. Der obige Befehl **brew install python** installiert eine ausführbare `python2`-Datei, die diese Anforderung erfüllt. Die ausführbare `python2`-Datei wird im Ordner `/usr/local/bin` installiert, das Teil der Umgebungsvariablen `PATH` sein sollte. Führen Sie zur Bestätigung den folgenden Befehl aus:

         ```
         python2 --version
         ```

         Wenn `python2`-Versionsinformationen bereitgestellt werden, gehen Sie zum nächsten Schritt über. Andernfalls fügen Sie Ihrer Umgebungsvariablen `PATH` dauerhaft den Pfad `/usr/local/bin` hinzu, indem Sie Ihrem Shell-Profil die folgende Zeile hinzufügen:

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

         Wenn Sie beispielsweise `.bash_profile` verwenden oder noch kein Shell-Profil haben, führen Sie den folgenden Code von einem Terminalfenster aus aus:

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

         Anschließend führen Sie [source](https://en.wikipedia.org/wiki/Source_(command)) für Ihr Shell-Profil aus und bestätigen, dass `python2 --version` Versionsinformationen bereitstellt. Wenn Sie z. B. `.bash_profile` verwenden, führen Sie die folgenden Befehle aus:

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

         `python2`-Versionsinformationen sollten zurückgegeben werden.

      1. Fügen Sie Ihrem Shell-Profil die folgende Zeile hinzu:

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

         Wenn Sie beispielsweise `.bash_profile` verwenden oder noch kein Shell-Profil haben, führen Sie den folgenden Code aus:

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

      1. Anschließend führen Sie [source](https://en.wikipedia.org/wiki/Source_(command)) für Ihr Shell-Profil aus. Wenn Sie z. B. `.bash_profile` verwenden, führen Sie den folgenden Befehl aus:

         ```
         source ~/.bash_profile
         ```

         Wenn der Befehl **python** aufgerufen wird, wird die Python-Programmdateien ausgeführt, in der die erforderliche OpenSSL-Version (`python2`) enthalten ist.

      1. Führen Sie die folgenden Befehle aus:

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

         Die OpenSSL-Version sollte 1.0.1 oder neuer sein.

      1. Um die Python-Shell zu schließen, führen Sie den folgenden Befehl aus:

         ```
          exit()
         ```

------

   1. <a name="step-c-install-python-sdk"></a>Führen Sie die folgenden Befehle aus, um das AWS IoT Device SDK für Python zu installieren:

      ```
      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. Führen Sie in einem Terminalfenster den folgenden Befehl aus:

      ```
      python --version
      ```

      Wenn keine Versionsinformationen zurückgegeben werden oder wenn die Versionsnummer für Python 2 kleiner als 2.7 oder für Python 3 kleiner als 3.3 ist, installieren Sie Python 2.7\$1 oder Python 3.3\$1 gemäß den Anweisungen unter [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download). Weitere Informationen finden Sie unter [Using Python on Unix-Plattformen](https://docs.python.org/3.6/using/unix.html).

   1. Führen Sie im Terminal die folgenden Befehle aus, um die OpenSSL-Version zu ermitteln:

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

      Notieren Sie sich den Wert der OpenSSL-Version. 
**Anmerkung**  
Wenn Sie Python 3 ausführen, verwenden Sie **print(ssl.OPENSSL\$1VERSION)**.

      Um die Python-Shell zu schließen, führen Sie den folgenden Befehl aus:

      ```
       exit()
      ```

      Wenn die OpenSSL Version 1.0.1 oder höher ist, gehen Sie direkt zum nächsten Schritt. Andernfalls führen Sie den Befehl/die Befehle für die Aktualisierung von OpenSSL für Ihre Verteilung aus (zum Beispiel `sudo yum update openssl`, `sudo apt-get update` usw.).

      Vergewissern Sie sich, dass die OpenSSL-Version 1.0.1 oder höher ist, indem Sie die folgenden Befehle ausführen:

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

   1. Führen Sie die folgenden Befehle aus, um das AWS IoT Device SDK für Python zu installieren:

      ```
      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. Navigieren Sie nach der Installation von AWS IoT Device SDK for Python zu dem `samples` Ordner und öffnen Sie den `greengrass` Ordner.

   Für dieses Tutorial kopieren Sie die `basicDiscovery.py`-Beispielfunktion, die die Zertifikate und Schlüssel verwendet, die Sie in [Client-Geräte in einer AWS IoT Greengrass Gruppe erstellen](device-group.md) heruntergeladen haben.

1. Kopieren Sie `basicDiscovery.py` in den Ordner, der die Gerätezertifikate und HelloWorld Schlüssel \$1Publisher und HelloWorld \$1Subscriber enthält.

# Testen der Kommunikation
<a name="test-comms"></a>

1. <a name="ping-device"></a>Stellen Sie sicher, dass Ihr Computer und das AWS IoT Greengrass Kerngerät über dasselbe Netzwerk mit dem Internet verbunden sind.

   1. Führen Sie auf dem AWS IoT Greengrass Core-Gerät den folgenden Befehl aus, um dessen IP-Adresse zu ermitteln.

      ```
      hostname -I
      ```

   1. Führen Sie auf Ihrem Computer mit der IP-Adresse des Cores den folgenden Befehl aus. Mit Ctrl \$1 C können Sie den Befehl **ping** stoppen.

      ```
      ping IP-address
      ```

      Eine Ausgabe, die der folgenden ähnelt, weist auf eine erfolgreiche Kommunikation zwischen dem Computer und dem AWS IoT Greengrass Kerngerät hin (0% Paketverlust):  
![\[Erfolgreiche Ping-Befehlsausgabe.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-075.5.png)
**Anmerkung**  
Wenn Sie eine laufende EC2 Instance nicht pingen können, stellen Sie sicher AWS IoT Greengrass, dass die Regeln für eingehende Sicherheitsgruppen für die Instance ICMP-Verkehr für [Echo-Anforderungsnachrichten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping) zulassen. Weitere Informationen finden Sie unter [Regeln zu einer Sicherheitsgruppe hinzufügen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule) im * EC2 Amazon-Benutzerhandbuch*.  
Auf Windows-Hostcomputern müssen Sie in der App „Windows-Firewall mit erweiterter Sicherheit“ möglicherweise auch eine Regel für eingehende Echoanfragen aktivieren (z. B. **Datei- und Druckerfreigabe (Echo Request — ICMPv4 -In))**, oder eine Regel erstellen.

1. Holen Sie sich Ihren Endpunkt AWS IoT .

   1. <a name="iot-settings"></a>Wählen Sie im Navigationsbereich der [AWS IoT Konsole](https://console.aws.amazon.com/iot/) **Einstellungen** aus.

   1. <a name="iot-settings-endpoint"></a>Notieren Sie sich unter **Endpunkt für Gerätedaten** den Wert von **Endpoint**. Sie verwenden diesen Wert, um den *AWS\$1IOT\$1ENDPOINT* Platzhalter in den Befehlen in den folgenden Schritten zu ersetzen.
**Anmerkung**  
Stellen Sie sicher, dass Ihre [Endpunkte Ihrem Zertifikatstyp entsprechen](gg-core.md#certificate-endpoints).

1. Öffnen Sie auf Ihrem Computer (nicht auf dem AWS IoT Greengrass Hauptgerät) zwei [Befehlszeilenfenster](https://en.wikipedia.org/wiki/Command-line_interface) (Terminal oder Eingabeaufforderung). Ein Fenster steht für das HelloWorld \$1Publisher-Clientgerät und das andere für das HelloWorld \$1Subscriber-Clientgerät.

   `basicDiscovery.py`Versucht bei der Ausführung, Informationen über den Standort des AWS IoT Greengrass Kerns an seinen Endpunkten zu sammeln. Diese Informationen werden gespeichert, nachdem das Client-Gerät den Core erkannt und erfolgreich eine Verbindung mit ihm hergestellt hat. Auf diese Weise ist künftig ein lokales Ausführen (ohne Internetverbindung) von Messaging-Funktionen und Operationen möglich.
**Anmerkung**  
Der für MQTT-Verbindungen IDs verwendete Client muss mit dem Ding-Namen des Client-Geräts übereinstimmen. Das `basicDiscovery.py` Skript setzt die Client-ID für MQTT-Verbindungen auf den Namen des Dings, den Sie bei der Ausführung des Skripts angeben.   
Führen Sie den folgenden Befehl in dem Ordner aus, der die `basicDiscovery.py` Datei enthält, um detaillierte Informationen zur Verwendung des Skripts zu erhalten:  

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

1. Führen Sie im Fenster des HelloWorld \$1Publisher-Client-Geräts die folgenden Befehle aus.
   + *path-to-certs-folder*Ersetzen Sie es durch den Pfad zu dem Ordner, der die Zertifikate, Schlüssel und `basicDiscovery.py` enthält.
   + Ersetzen Sie *AWS\$1IOT\$1ENDPOINT* durch Ihren Endpunkt.
   + Ersetzen Sie die beiden *publisherCertId* Instanzen durch die Zertifikat-ID im Dateinamen Ihres HelloWorld \$1Publisher-Client-Geräts.

   ```
   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'
   ```

   Die Ausgabe sollte ungefähr wie die folgende aussehen und kann beispielsweise die nachstehenden Einträge umfassen: `Published topic 'hello/world/pubsub': {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`.
**Anmerkung**  
Wenn das Skript eine `error: unrecognized arguments`-Nachricht zurückgibt, ändern Sie die einfachen Anführungszeichen zu doppelten Anführungszeichen für die Parameter `--topic` und `--message` und führen Sie den Befehl erneut aus.  
Um einen Verbindungsfehler zu beheben, können Sie versuchen, das Problem mithilfe der [manuellen IP-Erkennung](#corp-network-manual-detection) zu lösen.  
![\[Bildschirmfoto der Herausgeberausgabe.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-076.png)

1. Führen Sie im Fenster des HelloWorld \$1Subscriber-Client-Geräts die folgenden Befehle aus.
   + *path-to-certs-folder*Ersetzen Sie es durch den Pfad zu dem Ordner, der die Zertifikate, Schlüssel und `basicDiscovery.py` enthält.
   + Ersetzen Sie *AWS\$1IOT\$1ENDPOINT* durch Ihren Endpunkt.
   + Ersetzen Sie die beiden *subscriberCertId* Instanzen durch die Zertifikat-ID im Dateinamen Ihres HelloWorld \$1Subscriber-Client-Geräts.

   ```
   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
   ```

   Die Ausgabe sollte folgendermaßen aussehen und kann beispielsweise nachstehende Einträge umfassen: `Received message on topic hello/world/pubsub: {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`.  
![\[Bildschirmfoto der Abonnenten-Ausgabe.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-077.png)

Schließen Sie den HelloWorld\$1Publisher Fenster, um zu verhindern, dass Nachrichten im HelloWorld\$1Subscriber Fenster.

Tests in einem Unternehmensnetzwerk können die Verbindung zum Core beeinträchtigen. Um dieses Problem zu umgehen, können Sie den Endpunkt manuell eingeben. Dadurch wird sichergestellt, dass das `basicDiscovery.py` Skript eine Verbindung zur richtigen IP-Adresse des AWS IoT Greengrass Kerngeräts herstellt.

**Endpunkt manuell eingeben**

1. <a name="console-gg-groups"></a>Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter **Verwalten** die Option **Greengrass-Geräte** und wählen Sie dann **Gruppen (V1)** aus.

1. Wählen Sie unter **Greengrass-Gruppen** Ihre Gruppe aus.

1. Konfigurieren Sie den Core für die manuelle Verwaltung von MQTT-Broker-Endpunkten. Gehen Sie wie folgt vor:

   1. Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Lambda-Funktionen** aus.

   1. Wählen Sie unter **System-Lambda-Funktionen** die Option **IP-Detektor** und dann **Bearbeiten** aus.

   1. **Wählen **Sie unter IP-Detektoreinstellungen bearbeiten** die Option **MQTT-Broker-Endpunkte manuell verwalten** und dann Speichern aus.**

1. Geben Sie den MQTT-Broker-Endpunkt für den Core ein. Gehen Sie wie folgt vor:

   1. Wählen Sie unter **Übersicht** den **Greengrass-Kern** aus.

   1. **Wählen Sie unter **MQTT-Broker-Endpunkte die Option Endpunkte** verwalten aus.**

   1. Wählen Sie **Endpunkt hinzufügen** und stellen Sie sicher, dass Sie nur einen Endpunktwert haben. Dieser Wert muss der Endpunkt der IP-Adresse für Port 8883 Ihres AWS IoT Greengrass Kerngeräts sein (z. B.`192.168.1.4`).

   1. Wählen Sie **Aktualisieren**.