Schritt 4: Bereitstellen und Testen der Komponente auf einem Core-Gerät - AWS IoT Greengrass

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.

Schritt 4: Bereitstellen und Testen der Komponente auf einem Core-Gerät

In diesem Abschnitt stellen Sie die Komponente auf dem Core-Gerät bereit, um ihre Funktionalität zu testen. Auf dem Core-Gerät erstellen Sie die Datei mit dem virtuellen Batteriestand, um eine echte Batterie zu imitieren. Anschließend erstellen Sie zusätzliche Bereitstellungen und beobachten die Komponentenprotokolldateien auf dem Core-Gerät, um die Komponentenverzögerung zu sehen und Updates zu bestätigen.

So stellen Sie die Hello-World-Komponente bereit und testen sie, die Updates verzögert
  1. Verwenden Sie einen Texteditor, um eine Datei mit virtuellem Batteriestand zu erstellen. Diese Datei imitiert eine echte Batterie.

    • Erstellen Sie auf Linux-Core-Geräten eine Datei mit dem Namen /home/ggc_user/virtual_battery.json. Führen Sie den Texteditor mit -sudoBerechtigungen aus.

    • Erstellen Sie auf Windows-Core-Geräten eine Datei mit dem Namen C:\Users\ggc_user\virtual_battery.json. Führen Sie den Texteditor als Administrator aus.

    Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um GNU Nano zum Erstellen der Datei zu verwenden.

    sudo nano /home/ggc_user/virtual_battery.json

    Kopieren Sie den folgenden JSON-Code in die Datei .

    { "battery_level": 50 }
  2. Stellen Sie die Hello-World-Komponente auf dem Core-Gerät bereit. Gehen Sie wie folgt vor:

    1. Wählen Sie im Navigationsmenü der AWS IoT GreengrassKonsole Komponenten aus.

    2. Wählen Sie auf der Seite Komponenten die Registerkarte Meine Komponenten und dann auscom.example.BatteryAwareHelloWorld.

    3. Wählen Sie auf der com.example.BatteryAwareHelloWorld Seite Bereitstellen aus.

    4. Wählen Sie unter Zu Bereitstellung hinzufügen eine vorhandene Bereitstellung aus, die Sie überarbeiten möchten, oder wählen Sie aus, um eine neue Bereitstellung zu erstellen, und wählen Sie dann Weiter aus.

    5. Wenn Sie eine neue Bereitstellung erstellen möchten, wählen Sie das Ziel-Core-Gerät oder die Objektgruppe für die Bereitstellung aus. Wählen Sie auf der Seite Ziel angeben unter Bereitstellungsziel ein Core-Gerät oder eine Objektgruppe und dann Weiter aus.

    6. Überprüfen Sie auf der Seite Komponenten auswählen, ob die com.example.BatteryAwareHelloWorld Komponente ausgewählt ist, und wählen Sie Weiter aus.

    7. Wählen Sie auf der Seite Komponenten konfigurieren die Option aus com.example.BatteryAwareHelloWorldund gehen Sie dann wie folgt vor:

      1. Wählen Sie Komponente konfigurieren aus.

      2. Geben Sie im Feld Modal konfigurieren com.example.BatteryAwareHelloWorld unter Konfigurationsaktualisierung unter Konfiguration zum Zusammenführen von das folgende Konfigurationsupdate ein.

        { "BatteryThreshold": 70 }
      3. Wählen Sie Bestätigen, um das Modal zu schließen, und wählen Sie dann Weiter aus.

    8. Vergewissern Sie sich auf der Seite Erweiterte Einstellungen bestätigen im Abschnitt Bereitstellungsrichtlinien unter Komponentenaktualisierungsrichtlinie, dass Komponenten benachrichtigen ausgewählt ist. Benachrichtigen von Komponenten ist standardmäßig ausgewählt, wenn Sie eine neue Bereitstellung erstellen.

    9. Wählen Sie auf der Seite Review (Prüfen) die Option Deploy (Bereitstellen) aus.

      Die Bereitstellung kann bis zu einer Minute dauern.

  3. Die AWS IoT Greengrass Core-Software speichert stdout aus Komponentenprozessen in Protokolldateien im logs Ordner . Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Hello-World-Komponente ausgeführt wird und Statusmeldungen druckt.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Sie sollten Meldungen ähnlich dem folgenden Beispiel sehen.

    Hello, World! Battery level (50) is below threshold (70), so the component will defer updates.
    Anmerkung

    Wenn die Datei nicht vorhanden ist, ist die Bereitstellung möglicherweise noch nicht abgeschlossen. Wenn die Datei nicht innerhalb von 30 Sekunden existiert, ist die Bereitstellung wahrscheinlich fehlgeschlagen. Dies kann beispielsweise der Fall sein, wenn das Core-Gerät nicht über die Berechtigung verfügt, die Artefakte der Komponente aus dem S3-Bucket herunterzuladen. Führen Sie den folgenden Befehl aus, um die Protokolldatei der -AWS IoT GreengrassCore-Software anzuzeigen. Diese Datei enthält Protokolle aus dem Bereitstellungsservice des Greengrass-Core-Geräts.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.log

    Der type Befehl schreibt den Inhalt der Datei in das Terminal. Führen Sie diesen Befehl mehrmals aus, um Änderungen in der Datei zu beobachten.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  4. Erstellen Sie eine neue Bereitstellung auf dem Core-Gerät, um zu überprüfen, ob die Komponente das Update aufschiebt. Gehen Sie wie folgt vor:

    1. Wählen Sie im Navigationsmenü der AWS IoT Greengrass Konsole Bereitstellungen aus.

    2. Wählen Sie die Bereitstellung aus, die Sie zuvor erstellt oder überarbeitet haben.

    3. Wählen Sie auf der Bereitstellungsseite Überarbeiten aus.

    4. Wählen Sie im Modal Bereitstellung überarbeiten die Option Bereitstellung überarbeiten aus.

    5. Wählen Sie bei jedem Schritt Weiter und dann Bereitstellen aus.

  5. Führen Sie den folgenden Befehl aus, um die Protokolle der Komponente erneut anzuzeigen und zu überprüfen, ob die Aktualisierung verzögert wird.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Sie sollten Meldungen ähnlich dem folgenden Beispiel sehen. Die Komponente verschiebt die Aktualisierung um 30 Sekunden, sodass die Komponente diese Meldung wiederholt ausgibt.

    Deferred update for deployment 50722a95-a05f-4e2a-9414-da80103269aa.
  6. Verwenden Sie einen Texteditor, um die Datei mit dem virtuellen Batteriestand zu bearbeiten und den Batteriestand auf einen Wert über dem Schwellenwert zu ändern, damit die Bereitstellung fortgesetzt werden kann.

    • Bearbeiten Sie auf Linux-Core-Geräten die Datei mit dem Namen /home/ggc_user/virtual_battery.json. Führen Sie den Texteditor mit -sudoBerechtigungen aus.

    • Bearbeiten Sie auf Windows-Core-Geräten die Datei mit dem Namen C:\Users\ggc_user\virtual_battery.json. Führen Sie den Texteditor als Administrator aus.

    Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um GNU Nano zum Erstellen der Datei zu verwenden.

    sudo nano /home/ggc_user/virtual_battery.json

    Ändern Sie den Batteriestand auf 80.

    { "battery_level": 80 }
  7. Führen Sie den folgenden Befehl aus, um die Protokolle der Komponente erneut anzuzeigen und zu überprüfen, ob die Aktualisierung bestätigt wurde.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Sie sollten Meldungen ähnlich den folgenden Beispielen sehen.

    Hello, World! Battery level (80) is above threshold (70), so the component will acknowledge updates. Acknowledged update for deployment f9499eb2-4a40-40a7-86c1-c89887d859f1.