Implemente el SDK de Hub con systemd - Integraciones gestionadas para AWS IoT Device Management

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Implemente el SDK de Hub con systemd

importante

Siga las instrucciones del readme.md hubSystemdSetup directorio del archivo release.tgz para ver las actualizaciones más recientes.

En esta sección se describen los scripts y los procesos para implementar y configurar los servicios en un dispositivo hub basado en Linux.

Descripción general

El proceso de despliegue consta de dos scripts principales:

  • copy_to_hub.sh: Se ejecuta en la máquina host para copiar los archivos necesarios al hub

  • setup_hub.sh: Se ejecuta en el hub para configurar el entorno e implementar los servicios

Además, systemd/deploy_iotshd_services_on_hub.sh gestiona la secuencia de arranque del proceso y la gestión de los permisos del proceso, y se activa automáticamente mediantesetup_hub.sh.

Requisitos previos

Los requisitos previos enumerados son necesarios para una implementación exitosa.

  • El servicio systemd está disponible en el hub

  • Acceso SSH al dispositivo hub

  • Privilegios de sudo en el dispositivo hub

  • scputilidad instalada en la máquina host

  • sedutilidad instalada en la máquina host

  • utilidad de descompresión instalada en la máquina host

Estructura de archivos

La estructura de archivos está diseñada para facilitar la organización y administración de sus diversos componentes, lo que permite un acceso y una navegación eficientes del contenido.

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

En el archivo tgz de la versión del SDK, la estructura general de archivos es la siguiente:

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

Configuración inicial de

Extraiga el paquete del SDK

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

Navegue hasta el directorio extraído y prepare el paquete:

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

Agregue los archivos de configuración del dispositivo

Siga los dos pasos que se indican para crear los archivos de configuración del dispositivo y cópielos en el hub.

  1. Añada los archivos de configuración del dispositivo para crear los archivos de configuración del dispositivo necesarios. El SDK usa este archivo para su función.

  2. Copie los archivos de configuración para copiar los archivos de configuración creados en el hub.

Copie los archivos al hub

Ejecute el script de despliegue desde su máquina host:

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

Esto copia:

  • El archivo del paquete (renombrado a package.zip en el hub)

  • Archivos de configuración

  • Certificados

  • Archivos de servicio de Systemd

Configurar hub

Una vez copiados los archivos, accede al hub por SSH y ejecuta el script de configuración:

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

Configuraciones de usuario y grupo

De forma predeterminada, utilizamos el centro de usuarios y el centro de grupos para los componentes del SDK. Hay varias formas de configurarlos:

  • Usa un usuario/grupo personalizado:

    sudo ./setup_hub.sh --user=USERNAME --group=GROUPNAME
  • Créelos manualmente antes de ejecutar el script de configuración:

    sudo groupadd -f GROUPNAME
    sudo useradd -r -g GROUPNAME USERNAME
  • Añada los comandossetup_hub.sh.

Administración de servicios de

Para reiniciar todos los servicios, ejecute el siguiente script desde el hub:

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

El script de configuración creará los directorios necesarios, establecerá los permisos adecuados e implementará los servicios automáticamente. Si no utiliza SSH/SCP, debe modificarlo según su método de implementación copy_to_hub.sh específico. Asegúrese de que todos los archivos de certificado y las configuraciones estén correctamente configurados antes de la implementación.