

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

# 使用 安裝 Hub 開發套件 AWS IoT Greengrass
<a name="managedintegrations-sdk-v2-cookbook-deployment-gg"></a>

使用 AWS IoT Greengrass (Java 版本） 部署裝置的受管整合 Hub SDK 元件。

**注意**  
您必須已設定 並了解 AWS IoT Greengrass。如需詳細資訊，請參閱*AWS IoT Greengrass 開發人員指南文件中*[的內容 AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html)。

 AWS IoT Greengrass 使用者必須具有修改下列目錄的許可：
+ `/dev/aipc`
+ `/data/aws/iotmi/config`
+ `/data/ace/kvstorage`

**Topics**
+ [在本機部署元件](#managedintegrations-sdk-v2-cookbook-deployment-local)
+ [雲端部署](#managedintegrations-sdk-v2-cookbook-deployment-cloud)
+ [驗證中樞佈建](#managedintegrations-sdk-v2-cookbook-validation-hub)
+ [驗證 CDMB 操作](#managedintegrations-sdk-v2-cookbook-validation-cdmb)
+ [驗證 LPW-Provisioner 操作](#managedintegrations-sdk-v2-cookbook-validation-provisioner)

## 在本機部署元件
<a name="managedintegrations-sdk-v2-cookbook-deployment-local"></a>

在您的裝置上使用 [CreateDeployment](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateDeployment.html) AWS IoT Greengrass API 來部署 Hub SDK 元件。版本編號不是靜態的，可能會根據您當時使用的版本而有所不同。針對 使用下列格式**version**：com.amazon.IoTManagedIntegrationsDevice.AceCommon=`0.2.0`。

```
/greengrass/v2/bin/greengrass-cli deployment create \
--recipeDir recipes \
--artifactDir artifacts \
-m "com.amazon.IoTManagedIntegrationsDevice.AceCommon=version" \
-m "com.amazon.IoTManagedIntegrationsDevice.HubOnboarding=version" \
-m "com.amazon.IoTManagedIntegrationsDevice.AceZigbee=version" \
-m "com.amazon.IoTManagedIntegrationsDevice.LPW-Provisioner=version" \
-m "com.amazon.IoTManagedIntegrationsDevice.Agent=version" \
-m "com.amazon.IoTManagedIntegrationsDevice.MQTTProxy=version" \
-m "com.amazon.IoTManagedIntegrationsDevice.CDMB=version" \
-m "com.amazon.IoTManagedIntegrationsDevice.AceZwave=version"
```

## 雲端部署
<a name="managedintegrations-sdk-v2-cookbook-deployment-cloud"></a>

請依照[AWS IoT Greengrass 開發人員指南](https://docs.aws.amazon.com/greengrass/v2/developerguide/upload-first-component.html)中的指示執行下列步驟：

1. 將成品上傳至 Amazon S3。

1. 更新配方以包含 Amazon S3 成品位置。

1. 為新元件建立對裝置的雲端部署。

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

檢查您的組態檔案以確認成功佈建。開啟 `/data/aws/iotmi/config/iotmi_config.json` 檔案並確認狀態設定為 `PROVISIONED`。

## 驗證 CDMB 操作
<a name="managedintegrations-sdk-v2-cookbook-validation-cdmb"></a>

檢查日誌檔案是否有 CDMB 啟動訊息和初始化成功。*日誌檔案*位置可能會因 AWS IoT Greengrass 安裝的位置而有所不同。

```
tail -f -n 100 /greengrass/v2/logs/com.amazon.IoTManagedIntegrationsDevice.CDMB.log
```

範例

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

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

檢查日誌檔案是否有 LPW-Provisioner 啟動訊息並成功初始化。*日誌檔案*位置可能會因 AWS IoT Greengrass 安裝的位置而有所不同。

```
tail -f -n 100 /greengrass/v2/logs/com.amazon.IoTManagedIntegrationsDevice.LPW-Provisioner.log
```

範例

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