Testen der Kommunikation (Gerätesynchronisierungen deaktiviert) - AWS IoT Greengrass

AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.

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 (Gerätesynchronisierungen deaktiviert)

  1. 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
    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, 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.
      Anmerkung

      Wenn Sie eine laufende EC2-Instance nicht pingen 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 EC2-Benutzerhandbuch.

      Möglicherweise müssen Sie auf Windows-Host-Computern in der App „Windows-Firewall mit erweiterter Sicherheit“ eine eingehende Regel aktivieren, die eingehende Echo-Anfragen (z. B. File and Printer Sharing (Echo Request - ICMPv4-In) (Datei- und Druckerfreigabe [Echo-Anfrage – ICMPv4-In])) zulässt oder selber eine erstellen.

  2. Holen Sie sich Ihren AWS IoT Endpunkt.

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

    2. Notieren Sie sich unter Endpunkt für Gerätedaten den Wert von Endpoint. Sie verwenden diesen Wert, um die AWS_IOT_ENDPOINT-Platzhalter in den Befehlen der folgenden Schritten zu ersetzen.

      Anmerkung

      Stellen Sie sicher, dass Ihre Endpunkte Ihrem Zertifikatstyp entsprechen.

  3. Öffnen Sie auf Ihrem Computer (nicht auf dem AWS IoT Greengrass Hauptgerät) zwei Befehlszeilenfenster (Terminal oder Befehlszeile). Ein Fenster steht für das GG_Switch-Client-Gerät und das andere für das GG_-Client-Gerät. TrafficLight

    1. Führen Sie im Fenster des GG_Switch-Client-Geräts die folgenden Befehle aus.

      • Ersetzen Sie path-to-certs-folder mit dem Pfad zu dem Ordner, in dem sich die Zertifikate, Schlüssel und die Python-Dateien befinden.

      • Ersetzen Sie AWS_IOT_ENDPOINT mit Ihrem Endpunkt.

      • Ersetzen Sie die beiden CertIdSwitch-Instanzen durch die Zertifikat-ID im Dateinamen Ihres GG_Switch-Client-Geräts.

      cd path-to-certs-folder python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch
    2. Führen Sie im Fenster des TrafficLight GG_-Client-Geräts die folgenden Befehle aus.

      • Ersetzen Sie path-to-certs-folder mit dem Pfad zu dem Ordner, in dem sich die Zertifikate, Schlüssel und die Python-Dateien befinden.

      • Ersetzen Sie AWS_IOT_ENDPOINT mit Ihrem Endpunkt.

      • Ersetzen Sie die beiden CertIdLight-Instances durch die Zertifikat-ID im Dateinamen Ihres TrafficLight GG_-Client-Geräts.

      cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight

      Alle 20 Sekunden aktualisiert der Schalter den Schattenzustand mit „G”, „Y” und „R” und die Lampe zeigt ihren neuen Zustand an, wie nachfolgend dargestellt.

      GG_Switch Ausgabe:

      Bildschirm der Ausgabe im Zusammenhang mit GG_Switch.

      TrafficLight GG_-Ausgabe:

      Screenshot der Ausgabe, die mit TrafficLight GG_ verknüpft ist.

    Bei der ersten Ausführung führt jedes Client-Geräteskript den AWS IoT Greengrass Erkennungsdienst aus, um eine Verbindung zum AWS IoT Greengrass Core herzustellen (über das Internet). Nachdem ein Client-Gerät den AWS IoT Greengrass Core erkannt und erfolgreich mit ihm verbunden hat, können future Operationen lokal ausgeführt werden.

    Anmerkung

    Die Skripts trafficLight.py und lightController.py speichern Verbindungsinformationen im Ordner groupCA. Dieser wird im selben Ordner wie die Skripts erstellt. Wenn Sie Verbindungsfehler erhalten, stellen Sie sicher, dass die IP-Adresse in der ggc-host Datei mit dem IP-Adressendpunkt für Ihren Core übereinstimmt.

  4. Wählen Sie in der AWS IoT Konsole Ihre AWS IoT Greengrass Gruppe aus, klicken Sie auf die Registerkarte Client-Geräte und dann auf GG_, TrafficLight um die Seite mit den Ding-Details des AWS IoT Client-Geräts zu öffnen.

  5. Wählen Sie den Tab „Geräteschatten“. Nachdem der GG_Switch den Status geändert hat, sollte dieser Shadow nicht mehr aktualisiert werden. Das liegt daran, dass GG_ auf „Schattensynchronisierung mit der Cloud deaktivieren“ eingestellt TrafficLight ist.

  6. Drücken Sie Ctrl + C im Fenster des GG_Switch (lightController.py) -Client-Geräts. Sie sollten sehen, dass das GG_ TrafficLight (trafficLight.py) -Fenster keine Statusänderungsnachrichten mehr empfängt.

    Schließen Sie diese Fenster nicht, damit Sie die Befehle im nächsten Abschnitt erneut ausführen können.