Implemente o Hub SDK com systemd - Integrações gerenciadas para AWS IoT Device Management

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implemente o Hub SDK com systemd

Importante

Siga o readme.md no hubSystemdSetup diretório do arquivo release.tgz para obter as atualizações mais recentes.

Esta seção descreve os scripts e processos para implantar e configurar serviços em um dispositivo hub baseado em Linux.

Visão geral

O processo de implantação consiste em dois scripts principais:

  • copy_to_hub.sh: é executado na máquina host para copiar os arquivos necessários para o hub

  • setup_hub.sh: é executado no hub para configurar o ambiente e implantar serviços

Além disso, systemd/deploy_iotshd_services_on_hub.sh gerencia a sequência de inicialização do processo e o gerenciamento de permissões do processo e é acionado automaticamente pelosetup_hub.sh.

Pré-requisitos

Os pré-requisitos listados são necessários para uma implantação bem-sucedida.

  • o serviço systemd está disponível no hub

  • Acesso SSH ao dispositivo hub

  • Privilégios de Sudo no dispositivo hub

  • scputilitário instalado na máquina host

  • sedutilitário instalado na máquina host

  • utilitário de descompactação instalado na máquina host

Estrutura do arquivo

A estrutura de arquivos foi projetada para facilitar a organização e o gerenciamento de seus diversos componentes, permitindo o acesso e a navegação eficientes do conteúdo.

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

No arquivo tgz da versão do SDK, a estrutura geral do arquivo é:

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

Configuração inicial do

Extraia o pacote SDK

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

Navegue até o diretório extraído e prepare o pacote:

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

Adicionar arquivos de configuração do dispositivo

Siga as duas etapas listadas para criar os arquivos de configuração do dispositivo e copiá-los para o hub.

  1. Adicione arquivos de configuração do dispositivo para criar os arquivos de configuração do dispositivo necessários. O SDK usa esse arquivo para sua função.

  2. Copie os arquivos de configuração para copiar os arquivos de configuração criados para o hub.

Copiar arquivos para o hub

Execute o script de implantação em sua máquina host:

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

Isso copia:

  • O arquivo do pacote (renomeado para package.zip no hub)

  • Arquivos de configuração

  • Certificados

  • Arquivos de serviço Systemd

Configurar hub

Depois que os arquivos forem copiados, faça o SSH no hub e execute o script de configuração:

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

Configurações de usuários e grupos

Por padrão, usamos o hub do usuário e o hub do grupo para os componentes do SDK. Há várias maneiras de configurá-las:

  • Use um usuário/grupo personalizado:

    sudo ./setup_hub.sh --user=USERNAME --group=GROUPNAME
  • Crie-os manualmente antes de executar o script de configuração:

    sudo groupadd -f GROUPNAME
    sudo useradd -r -g GROUPNAME USERNAME
  • Adicione os comandos emsetup_hub.sh.

Gerenciar serviços da

Para reiniciar todos os serviços, execute o seguinte script no hub:

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

O script de configuração criará os diretórios necessários, definirá as permissões apropriadas e implantará os serviços automaticamente. Se você não estiver usando SSH/SCP, deverá modificar seu método de implantação copy_to_hub.sh específico. Certifique-se de que todos os arquivos e configurações do certificado estejam configurados corretamente antes da implantação.