使用系统部署 Hub SDK - 的托管集成 AWS IoT Device Management

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用系统部署 Hub SDK

重要

请按readme.md照 release.tgz 文件hubSystemdSetup目录中的内容获取最新更新。

本节介绍在基于 Linux 的中心设备上部署和配置服务的脚本和过程。

概览

部署过程由两个主要脚本组成:

  • copy_to_hub.sh: 在主机上运行以将必要文件复制到集线器

  • setup_hub.sh: 在集线器上运行以配置环境和部署服务

此外,还systemd/deploy_iotshd_services_on_hub.sh处理进程引导顺序和进程权限管理,并由setup_hub.sh自动触发。

先决条件

成功部署需要满足列出的先决条件。

  • 集线器上有 systemd 服务可用

  • 通过 SSH 访问中心设备

  • 集线器设备上的 Sudo 权限

  • scp安装在主机上的实用程序

  • sed安装在主机上的实用程序

  • 主机上安装了 unzip 实用程序

文件结构

文件结构旨在便于组织和管理其各个组成部分,从而实现内容的高效访问和导航。

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

在 SDK 发行版 tgz 文件中,总体文件结构为:

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

初始 设置

解压软件开发工具包包

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

导航到解压缩的目录并准备软件包:

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

添加设备配置文件

按照列出的两个步骤创建设备配置文件并将其复制到集线器。

  1. 添加设备配置文件以创建所需的设备配置文件。SDK 使用此文件来实现其功能。

  2. 复制配置文件以将创建的配置文件复制到集线器。

将文件复制到集线器

从您的主机运行部署脚本:

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

这复制了:

  • 软件包文件(在集线器上重命名为 package.zip)

  • 配置文件

  • 证书

  • 系统服务文件

设置集线器

复制文件后,通过 SSH 连接到集线器并运行安装脚本:

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

用户和群组配置

默认情况下,我们将用户中心和群组中心用于 SDK 组件。有多种方法可以对其进行配置:

  • 使用自定义用户/群组:

    sudo ./setup_hub.sh --user=USERNAME --group=GROUPNAME
  • 在运行安装脚本之前手动创建它们:

    sudo groupadd -f GROUPNAME
    sudo useradd -r -g GROUPNAME USERNAME
  • 在中添加命令setup_hub.sh

管理 服务

要重新启动所有服务,请从 hub 运行以下脚本:

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

安装脚本将创建必要的目录、设置适当的权限并自动部署服务。如果您不使用 SSH/SCP,则必须copy_to_hub.sh针对您的特定部署方法进行修改。在部署之前,请确保所有证书文件和配置均已正确设置。