View a markdown version of this page

Testen der Kommunikation - AWS IoT Greengrass

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 werden Sie nicht mehr auf die Ressourcen zugreifen können. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter Migrieren von AWS IoT Greengrass Version 1.

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.

Testen der Kommunikation

  1. Stellen Sie sicher, dass Ihr Computer und das AWS IoT Greengrass Hauptgerät über dasselbe Netzwerk mit dem Internet verbunden sind.

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

      hostname -I
    2. Führen Sie auf Ihrem Computer mit der IP-Adresse des Cores den folgenden Befehl aus. Mit Ctrl + C können Sie den Befehl ping stoppen.

      ping IP-address

      Eine Ausgabe ähnlich der folgenden weist auf eine erfolgreiche Kommunikation zwischen dem Computer und dem AWS IoT Greengrass Kerngerät hin (0% Paketverlust):

      Erfolgreiche Ping-Befehlsausgabe.
      Anmerkung

      Wenn Sie eine laufende EC2-Instance nicht anpingen können AWS IoT Greengrass, stellen Sie sicher, dass die Regeln für eingehende Sicherheitsgruppen für die Instance ICMP-Verkehr für Echo-Anforderungsnachrichten zulassen. Weitere Informationen finden Sie unter Hinzufügen von Regeln zu einer Sicherheitsgruppe im Amazon EC2-Benutzerhandbuch.

      Auf Windows-Hostcomputern müssen Sie in der App „Windows-Firewall mit erweiterter Sicherheit“ möglicherweise auch eine Regel für eingehenden Datenverkehr aktivieren, die eingehende Echoanforderungen zulässt (z. B. Datei- und Druckerfreigabe (Echoanforderung - ICMPv4-In)), oder eine erstellen.

  2. Holen Sie sich Ihren Endpunkt AWS IoT .

    1. Wählen Sie im Navigationsbereich der AWS IoT Konsole die Option Einstellungen aus.

    2. Notieren Sie sich unter Endpunkt der Gerätedaten den Wert von Endpunkt. In den folgenden Schritten verwenden Sie diesen Wert, um den AWS_IOT_ENDPOINT Platzhalter in den Befehlen zu ersetzen.

      Anmerkung
  3. Öffnen Sie auf Ihrem Computer (nicht auf dem AWS IoT Greengrass Hauptgerät) zwei Befehlszeilenfenster (Terminal oder Eingabeaufforderung). Ein Fenster steht für das HelloWorld _Publisher-Clientgerät und das andere für das HelloWorld _Subscriber-Clientgerät.

    basicDiscovery.pyVersucht bei der Ausführung, Informationen über die Position des AWS IoT Greengrass Cores an seinen Endpunkten zu sammeln. Diese Informationen werden gespeichert, nachdem das Client-Gerät den Core erkannt und erfolgreich eine Verbindung hergestellt hat. Auf diese Weise ist künftig ein lokales Ausführen (ohne Internetverbindung) von Messaging-Funktionen und Operationen möglich.

    Anmerkung

    Die für MQTT-Verbindungen verwendeten Client-IDs müssen mit dem Dingnamen des Client-Geräts übereinstimmen. Das basicDiscovery.py Skript setzt die Client-ID für MQTT-Verbindungen auf den Dingnamen, 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
  4. Führen Sie im Fenster des HelloWorld _Publisher-Clientgeräts die folgenden Befehle aus.

    • path-to-certs-folderErsetzen Sie durch den Pfad zu dem Ordner, der die Zertifikate, Schlüssel und basicDiscovery.py enthält.

    • Ersetzen Sie AWS_IOT_ENDPOINT durch Ihren Endpunkt.

    • Ersetzen Sie die beiden publisherCertId Instanzen durch die Zertifikat-ID im Dateinamen für Ihr HelloWorld _Publisher-Clientgerät.

    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 zu lösen.

    Bildschirmfoto der Herausgeberausgabe.
  5. Führen Sie im Fenster des HelloWorld _Subscriber-Clientgeräts die folgenden Befehle aus.

    • path-to-certs-folderErsetzen Sie durch den Pfad zu dem Ordner, der die Zertifikate, Schlüssel und basicDiscovery.py enthält.

    • Ersetzen Sie AWS_IOT_ENDPOINT durch Ihren Endpunkt.

    • Ersetzen Sie die beiden subscriberCertId Instanzen durch die Zertifikat-ID im Dateinamen für Ihr HelloWorld _Subscriber-Clientgerät.

    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.

Schließen Sie das HelloWorld_Publisher Fenster, um zu verhindern, dass Nachrichten im Fenster erscheinen. HelloWorld_Subscriber

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. Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter Verwalten die Option Greengrass-Geräte und wählen Sie dann Gruppen (V1) aus.

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

  3. 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.

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

    3. Wählen Sie in den Einstellungen des IP-Detektors bearbeiten die Option MQTT-Broker-Endpunkte manuell verwalten aus, und klicken Sie dann auf Speichern.

  4. 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.

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

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

    4. Wählen Sie Aktualisieren.