使用 systemd 部署 Hub SDK - 的受管整合 AWS IoT Device Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 systemd 部署 Hub SDK

重要

請遵循 release.tgz 檔案readme.mdhubSystemdSetup目錄中的 以取得最新的更新。

本節說明在 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

初始設定

解壓縮 SDK 套件

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

管理 服務

若要重新啟動所有 服務,請從中樞執行下列指令碼:

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

設定指令碼將建立必要的目錄、設定適當的許可,以及自動部署 服務。如果您不是使用 SSH/SCP,則必須copy_to_hub.sh針對特定部署方法修改 。在部署之前,請確定所有憑證檔案和組態都已正確設定。