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
-
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 mitsudo
Berechtigungen 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 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 }
-
-
Stellen Sie die Hello World-Komponente auf dem Kerngerät bereit. Gehen Sie wie folgt vor:
-
Wählen Sie im Navigationsmenü der AWS IoT Greengrass Konsole
die Option Komponenten aus. -
Wählen Sie auf der Seite Komponenten die Registerkarte Meine Komponenten und wählen Sie dann com.example.BatteryAwareHelloWorld.
-
Auf der com.example.BatteryAwareHelloWorldWählen Sie auf der Seite Deploy aus.
-
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.
-
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.
-
Vergewissern Sie sich auf der Seite „Komponenten auswählen“, dass com.example.BatteryAwareHelloWorldDie Komponente ist ausgewählt, wählen Sie Weiter.
-
Wählen Sie auf der Seite Komponenten konfigurieren com.example.BatteryAwareHelloWorld, und gehen Sie dann wie folgt vor:
-
Wählen Sie Komponente konfigurieren aus.
-
In der Konfiguration com.example.BatteryAwareHelloWorldModal, unter Konfigurationsupdate, unter Konfiguration zum Zusammenführen, geben Sie das folgende Konfigurationsupdate ein.
{ "BatteryThreshold": 70 }
-
Wählen Sie Bestätigen, um das Modal zu schließen, und wählen Sie dann Weiter.
-
-
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.
-
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.
-
-
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.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.
-
Erstellen Sie eine neue Bereitstellung auf dem Kerngerät, um sicherzustellen, dass die Komponente das Update verzögert. Gehen Sie wie folgt vor:
-
Wählen Sie im Navigationsmenü der AWS IoT Greengrass Konsole
die Option Deployments aus. -
Wählen Sie die Bereitstellung aus, die Sie zuvor erstellt oder überarbeitet haben.
-
Wählen Sie auf der Bereitstellungsseite die Option Überarbeiten aus.
-
Wählen Sie im Modus Bereitstellung überarbeiten die Option Bereitstellung überarbeiten aus.
-
Wählen Sie bei jedem Schritt Weiter und anschließend Bereitstellen aus.
-
-
Führen Sie den folgenden Befehl aus, um die Protokolle der Komponente erneut anzuzeigen und sicherzustellen, dass das Update verzögert wird.
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.
-
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 mitsudo
Berechtigungen 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 die Datei mit GNU Nano zu erstellen.
sudo nano /home/ggc_user/virtual_battery.json
Ändern Sie den Akkuladestand auf.
80
{ "battery_level": 80 }
-
-
Führen Sie den folgenden Befehl aus, um die Protokolle der Komponente erneut einzusehen und zu überprüfen, ob das Update bestätigt wurde.
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.