Stellen Sie das Hub-SDK mit systemd bereit - Verwaltete Integrationen für AWS IoT Device Management

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.

Stellen Sie das Hub-SDK mit systemd bereit

Wichtig

Folgen Sie den Anweisungen readme.md im hubSystemdSetup Verzeichnis der Datei release.tgz für die neuesten Updates.

In diesem Abschnitt werden die Skripts und Prozesse für die Bereitstellung und Konfiguration von Diensten auf einem Linux-basierten Hub-Gerät beschrieben.

Übersicht

Der Bereitstellungsprozess besteht aus zwei Hauptskripten:

  • copy_to_hub.sh: Wird auf dem Host-Computer ausgeführt, um die erforderlichen Dateien auf den Hub zu kopieren

  • setup_hub.sh: Wird auf dem Hub ausgeführt, um die Umgebung zu konfigurieren und Dienste bereitzustellen

Verwaltet außerdem systemd/deploy_iotshd_services_on_hub.sh die Prozess-Bootstrap-Sequenz und die Verwaltung von Prozessberechtigungen und wird automatisch ausgelöst durchsetup_hub.sh.

Voraussetzungen

Die aufgeführten Voraussetzungen sind für eine erfolgreiche Bereitstellung erforderlich.

  • Der Systemd-Dienst ist auf dem Hub verfügbar

  • SSH-Zugriff auf das Hub-Gerät

  • Sudo-Rechte auf dem Hub-Gerät

  • scpAuf dem Host-Computer installiertes Hilfsprogramm

  • sedAuf dem Host-Computer installiertes Hilfsprogramm

  • Auf dem Host-Computer installiertes Hilfsprogramm zum Entpacken

Dateistruktur

Die Dateistruktur ist so konzipiert, dass sie die Organisation und Verwaltung der verschiedenen Komponenten erleichtert und so einen effizienten Zugriff und eine effiziente Navigation auf den Inhalt ermöglicht.

hubSystemdSetup/ ├── README.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh

In der TGZ-Datei der SDK-Version lautet die gesamte Dateistruktur wie folgt:

IoT-managed-integrations-Hub-SDK-aarch64-v1.0.0.tgz ├──package/ ├──greengrass/ ├──artifacts/ ├──recipes/ ├──hubSystemdSetup/ ├── REAME.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh

Erstes Einrichten

Extrahieren Sie das SDK-Paket

tar -xzf managed-integrations-Hub-SDK-vVersion-linux-aarch64-timestamp.tgz

Navigieren Sie zum entpackten Verzeichnis und bereiten Sie das Paket vor:

# Create package.zip containing required artifacts
zip -r package.zip package/greengrass/artifacts
# Move package.zip to the hubSystemdSetup directory
mv package.zip ../hubSystemdSetup/

Fügen Sie Gerätekonfigurationsdateien hinzu

Folgen Sie den beiden aufgeführten Schritten, um die Gerätekonfigurationsdateien zu erstellen, und kopieren Sie sie auf den Hub.

  1. Fügen Sie Gerätekonfigurationsdateien hinzu, um die benötigten Gerätekonfigurationsdateien zu erstellen. Das SDK verwendet diese Datei für seine Funktion.

  2. Kopieren Sie die Konfigurationsdateien, um die erstellten Konfigurationsdateien auf den Hub zu kopieren.

Kopieren Sie Dateien auf den Hub

Führen Sie das Bereitstellungsskript von Ihrem Host-Computer aus:

chmod +x copy_to_hub.sh
./copy_to_hub.sh hub_ip_address package_file
Beispiel
./copy_to_hub.sh 192.168.50.223 ~/Downloads/EAR3-package.zip

Dies kopiert:

  • Die Paketdatei (auf dem Hub in package.zip umbenannt)

  • Konfigurationsdateien

  • Zertifikate

  • Systemd-Dienstdateien

Hub einrichten

Nachdem die Dateien kopiert wurden, stellen Sie eine SSH-Verbindung zum Hub her und führen Sie das Setup-Skript aus:

ssh hub@hub_ip
chmod +x setup_hub.sh
sudo ./setup_hub.sh

Benutzer- und Gruppenkonfigurationen

Standardmäßig verwenden wir den Benutzer-Hub und den Gruppen-Hub für die SDK-Komponenten. Es gibt mehrere Möglichkeiten, sie zu konfigurieren:

  • Verwenden Sie einen benutzerdefinierten Benutzer/eine benutzerdefinierte Gruppe:

    sudo ./setup_hub.sh --user=USERNAME --group=GROUPNAME
  • Erstellen Sie sie manuell, bevor Sie das Setup-Skript ausführen:

    sudo groupadd -f GROUPNAME
    sudo useradd -r -g GROUPNAME USERNAME
  • Fügen Sie die Befehle hinzusetup_hub.sh.

Dienste verwalten

Um alle Dienste neu zu starten, führen Sie das folgende Skript vom Hub aus aus:

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

Das Setup-Skript erstellt die erforderlichen Verzeichnisse, legt die entsprechenden Berechtigungen fest und stellt die Dienste automatisch bereit. Wenn Sie SSH/SCP nicht verwenden, müssen Sie es an Ihre spezifische Bereitstellungsmethode anpassencopy_to_hub.sh. Stellen Sie vor der Bereitstellung sicher, dass alle Zertifikatsdateien und Konfigurationen ordnungsgemäß eingerichtet sind.