Déployer le SDK Hub avec systemd - Intégrations gérées pour AWS IoT Device Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déployer le SDK Hub avec systemd

Important

Suivez le hubSystemdSetup répertoire readme.md du fichier release.tgz pour obtenir les dernières mises à jour.

Cette section décrit les scripts et les processus de déploiement et de configuration des services sur un périphérique hub basé sur Linux.

Présentation

Le processus de déploiement comprend deux scripts principaux :

  • copy_to_hub.sh: s'exécute sur la machine hôte pour copier les fichiers nécessaires sur le hub

  • setup_hub.sh: s'exécute sur le hub pour configurer l'environnement et déployer les services

En outre, systemd/deploy_iotshd_services_on_hub.sh gère la séquence d'amorçage des processus et la gestion des autorisations de processus, et est automatiquement déclenché parsetup_hub.sh.

Prérequis

Les conditions requises répertoriées sont requises pour un déploiement réussi.

  • le service systemd est disponible sur le hub

  • Accès SSH au périphérique hub

  • Privilèges Sudo sur le périphérique du hub

  • scputilitaire installé sur la machine hôte

  • sedutilitaire installé sur la machine hôte

  • utilitaire de décompression installé sur la machine hôte

Structure de fichier

La structure du fichier est conçue pour faciliter l'organisation et la gestion de ses différents composants, en permettant un accès et une navigation efficaces dans le contenu.

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

Dans le fichier tgz de la version SDK, la structure globale du fichier est la suivante :

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

Configuration initiale

Extraire le package du SDK

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

Accédez au répertoire extrait et préparez le package :

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

Ajouter des fichiers de configuration de l'appareil

Suivez les deux étapes répertoriées pour créer les fichiers de configuration de l'appareil et copiez-les dans le hub.

  1. Ajoutez des fichiers de configuration de périphérique pour créer les fichiers de configuration de périphérique nécessaires. Le SDK utilise ce fichier pour sa fonction.

  2. Copiez les fichiers de configuration pour copier les fichiers de configuration créés sur le hub.

Copier des fichiers sur le hub

Exécutez le script de déploiement depuis votre machine hôte :

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

Cela copie :

  • Le fichier du package (renommé package.zip sur le hub)

  • Fichiers de configuration

  • Certificats

  • fichiers de service Systemd

Configurer le hub

Une fois les fichiers copiés, connectez-vous au hub en SSH et exécutez le script de configuration :

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

Configurations des utilisateurs et des groupes

Par défaut, nous utilisons le hub utilisateur et le hub de groupe pour les composants du SDK. Il existe plusieurs manières de les configurer :

  • Utilisez un utilisateur/un groupe personnalisé :

    sudo ./setup_hub.sh --user=USERNAME --group=GROUPNAME
  • Créez-les manuellement avant d'exécuter le script de configuration :

    sudo groupadd -f GROUPNAME
    sudo useradd -r -g GROUPNAME USERNAME
  • Ajoutez les commandessetup_hub.sh.

Gérez les services

Pour redémarrer tous les services, exécutez le script suivant depuis le hub :

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

Le script de configuration créera les répertoires nécessaires, définira les autorisations appropriées et déploiera les services automatiquement. Si vous n'utilisez pas SSH/SCP, vous devez le modifier en fonction de votre méthode de copy_to_hub.sh déploiement spécifique. Assurez-vous que tous les fichiers de certificats et toutes les configurations sont correctement configurés avant le déploiement.