Schritt 4: Bereitstellen und Testen der Komponente auf einem Kerngerä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 Kerngerät

In diesem Abschnitt stellen Sie die Komponente auf dem Kerngerät bereit, um deren Funktionalität zu testen. Auf dem Kerngerät erstellen Sie die virtuelle Batteriestanddatei, um eine echte Batterie nachzuahmen. Anschließend erstellen Sie weitere Bereitstellungen und beobachten die Komponentenprotokolldateien auf dem Kerngerät, um zu sehen, ob die Komponenten Aktualisierungen zurückstellen und bestätigen.

Um die Hello World-Komponente bereitzustellen und zu testen, die Updates verzögert
  1. Verwenden Sie einen Texteditor, um eine virtuelle Batteriestanddatei zu erstellen. Diese Datei ahmt eine echte Batterie nach.

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

    • Erstellen Sie auf Windows Core-Geräten eine Datei mit dem NamenC:\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 die Datei mit GNU Nano zu erstellen.

    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 Kerngerät bereit. Gehen Sie wie folgt vor:

    1. Wählen Sie im Navigationsmenü der AWS IoT Greengrass Konsole die Option Komponenten aus.

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

    3. Auf der com.example.BatteryAwareHelloWorldWählen Sie auf der Seite Deploy aus.

    4. Wählen Sie unter Zur Bereitstellung hinzufügen eine vorhandene Bereitstellung aus, die Sie überarbeiten möchten, oder erstellen Sie eine neue Bereitstellung und klicken Sie dann auf Weiter.

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

    6. Vergewissern Sie sich auf der Seite „Komponenten auswählen“, dass com.example.BatteryAwareHelloWorldDie Komponente ist ausgewählt, wählen Sie Weiter.

    7. Wählen Sie auf der Seite Komponenten konfigurieren com.example.BatteryAwareHelloWorld, und gehen Sie dann wie folgt vor:

      1. Wählen Sie Komponente konfigurieren aus.

      2. In der Konfiguration com.example.BatteryAwareHelloWorldModal, unter Konfigurationsupdate, unter Konfiguration zum Zusammenführen, geben Sie das folgende Konfigurationsupdate ein.

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

    8. Vergewissern Sie sich, dass auf der Seite Erweiterte Einstellungen bestätigen im Abschnitt Bereitstellungsrichtlinien unter Richtlinie für Komponenten-Updates die Option Komponenten benachrichtigen ausgewählt ist. Die Option Komponenten benachrichtigen ist standardmäßig ausgewählt, wenn Sie eine neue Einrichtung erstellen.

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

      Es kann bis zu einer Minute dauern, bis die Bereitstellung abgeschlossen ist.

  3. Die AWS IoT Greengrass Core-Software speichert Standarddaten von 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 ausgibt.

    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 sehen, die dem folgenden Beispiel ähneln.

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

    Wenn die Datei nicht existiert, 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 Kerngerät nicht berechtigt ist, die Artefakte der Komponente aus dem S3-Bucket herunterzuladen. Führen Sie den folgenden Befehl aus, um die Protokolldatei der AWS IoT Greengrass Core-Software anzuzeigen. Diese Datei enthält Protokolle vom Bereitstellungsdienst 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 auf 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 Kerngerät, um sicherzustellen, dass die Komponente das Update verzögert. Gehen Sie wie folgt vor:

    1. Wählen Sie im Navigationsmenü der AWS IoT Greengrass Konsole die Option Deployments aus.

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

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

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

    5. Wählen Sie bei jedem Schritt Weiter und anschließend Bereitstellen aus.

  5. Führen Sie den folgenden Befehl aus, um die Protokolle der Komponente erneut anzuzeigen und sicherzustellen, dass das Update 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 sehen, die dem folgenden Beispiel ähneln. Die Komponente verzögert das Update für 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 Akkuladestand zu bearbeiten und den Akkustand 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 sudo Berechtigungen aus.

    • Bearbeiten Sie auf Windows Core-Geräten die Datei mit dem NamenC:\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 die Datei mit GNU Nano zu erstellen.

    sudo nano /home/ggc_user/virtual_battery.json

    Ändern Sie den Akkuladestand auf. 80

    { "battery_level": 80 }
  7. Führen Sie den folgenden Befehl aus, um die Protokolle der Komponente erneut einzusehen und zu überprüfen, ob das Update 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 sehen, die den folgenden Beispielen ähneln.

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