

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

# 使用指令碼部署 Hub SDK
<a name="managedintegrations-sdk-v2-cookbook-deployment-nogg"></a>

使用安裝指令碼手動部署受管整合 Hub SDK 元件，然後驗證部署。本節說明指令碼執行步驟和驗證程序。

**Topics**
+ [準備您的環境](#managedintegrations-sdk-v2-cookbook-runscript-prereq)
+ [執行 Hub SDK 指令碼](#managedintegrations-sdk-v2-cookbook-runscript-run)
+ [驗證中樞佈建](#managedintegrations-sdk-v2-cookbook-odm-validation-hub)
+ [驗證代理程式操作](#managedintegrations-sdk-v2-cookbook-odm-validation-agent)
+ [驗證 LPW-Provisioner 操作](#managedintegrations-sdk-v2-cookbook-odm-validation-provisioner)

## 準備您的環境
<a name="managedintegrations-sdk-v2-cookbook-runscript-prereq"></a>

在執行 SDK 安裝指令碼之前，請先完成以下步驟：

1. 在 資料夾`middleware`內建立名為 的`artifacts`資料夾。

1. 將您的中樞中介軟體檔案複製到 `middleware` 資料夾。

1. 在啟動 SDK 之前執行初始化命令。
**重要**  
每次中樞重新啟動後，重複初始化命令。

   ```
   #Get the current user
   _user=$(whoami)
   
   #Get the current group
   _grp=$(id -gn)
   
   #Display the user and group
   echo "Current User: $_user"
   echo "Current Group: $_grp"
   
   sudo mkdir -p /dev/aipc/
   sudo chown -R $_user:$_grp /dev/aipc
   sudo mkdir -p /data/ace/kvstorage
   sudo chown -R $_user:$_grp /data/ace/kvstorage
   ```

## 執行 Hub SDK 指令碼
<a name="managedintegrations-sdk-v2-cookbook-runscript-run"></a>

導覽至成品目錄並執行`start_iotmi_sdk.sh`指令碼。此指令碼會以正確的順序啟動中樞 SDK 元件。檢閱下列範例日誌以確認成功啟動：

**注意**  
您可以在 `artifacts/logs` 資料夾中找到所有執行中元件的日誌。

```
hub@hub-293ea release_Oct_17$ ./start_iotmi_sdk.sh
-------Stopping SDK running processes---
DeviceAgent: no process found
------Starting SDK-------
-------Creating logs directory----------
Logs directory created.
-------Verifying Middleware paths-------
All middleware libraries exist
-------Verifying Middleware pre reqs---
AIPC and KVstroage directories exist
-------Starting HubOnboarding-----------
-------Starting MQTT Proxy-----------
-------Starting Event Manager-----------
-------Starting Zigbee Service----------
-------Starting Zwave Service----------
/data/release_Oct_17/middleware/AceZwave/bin /data/release_Oct_17
/data/release_Oct_17
-------Starting CDMB--------------------
-------Starting Agent--------------------
-------Starting Provisioner--------------
-------Checking SDK status---------------
hub         6199  1.7  0.7 1004952 15568 pts/2   Sl+  21:41   0:00 ./iotmi_mqtt_proxy -C /data/aws/iotmi/config/iotmi_config.json
Process 'iotmi_mqtt_proxy' is running.
hub         6225  0.0  0.1 301576  2056 pts/2    Sl+  21:41   0:00 ./middleware/AceCommon/bin/ace_eventmgr
Process 'ace_eventmgr' is running.
hub         6234  104  0.2 238560  5036 pts/2    Sl+  21:41   0:38 ./middleware/AceZigbee/bin/ace_zigbee_service
Process 'ace_zigbee_service' is running.
hub         6242  0.4  0.7 1569372 14236 pts/2   Sl+  21:41   0:00 ./zwave_svc
Process 'zwave_svc' is running.
hub         6275  0.0  0.2 1212744 5380 pts/2    Sl+  21:41   0:00 ./DeviceCdmb
Process 'DeviceCdmb' is running.
hub         6308  0.6  0.9 1076108 18204 pts/2   Sl+  21:41   0:00 ./IoTManagedIntegrationsDeviceAgent
Process 'DeviceAgent' is running.
hub         6343  0.7  0.7 1388132 13812 pts/2   Sl+  21:42   0:00 ./iotmi_lpw_provisioner
Process 'iotmi_lpw_provisioner' is running.
------Successfully Started SDK----
```

## 驗證中樞佈建
<a name="managedintegrations-sdk-v2-cookbook-odm-validation-hub"></a>

檢查 中的 `iot_provisioning_state` 欄位`/data/aws/iotmi/config/iotmi_config.json`是否設定為 `PROVISIONED`。

## 驗證代理程式操作
<a name="managedintegrations-sdk-v2-cookbook-odm-validation-agent"></a>

檢查日誌檔案是否有客服人員啟動訊息和初始化成功。

```
tail -f -n 100 logs/agent_logs.txt
```

範例

```
[2024-09-06 02:31:54.413758906][Device_Agent][info] Successfully subscribed to topic: south/bF|gi_044F8821D0193608C8D5BF80858E20A56E3A8490/control
[2024-09-06 02:31:54.513956059][Device_Agent][info] Successfully subscribed to topic: south/bF|gi_044F8821D0193608C8D5BF80858E20A56E3A8490/setup
```

**注意**  
檢查您的 `artifacts`目錄中是否存在`iotmi.db`資料庫。

## 驗證 LPW-Provisioner 操作
<a name="managedintegrations-sdk-v2-cookbook-odm-validation-provisioner"></a>

檢查日誌檔案是否有`LPW-Provisioner`啟動訊息和初始化成功。

```
tail -f -n 100 logs/provisioner_logs.txt
```

下列代碼顯示了範例。

```
[2024-09-06 02:33:22.068898877][LPWProvisionerCore][info] Successfully subscribed to topic: south/bF|gi_044F8821D0193608C8D5BF80858E20A56E3A8490/setup
```