

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

# Raspberry Pi 上的受管整合中樞 SDK 映像
<a name="raspberrypi-device-hub-sdk"></a>

**注意**  
 在 Raspberry Pi 上實作 AWS IoT Hub SDK 是一個示範專案，僅用於學習和測試目的，不適用於生產環境。基於本示範的目的，請設定下列組態以利開發：  
 **AWS 憑證儲存**：僅用於示範用途，憑證和憑證會存放在可存取的位置，以便於測試和開發。生產環境必須使用安全儲存解決方案 AWS Secrets Manager，例如 或 Systems Manager 參數存放區。他們必須實作靜態加密，並遵循 AWS IoT 安全準則。  
 **容器權限**： 示範會以更高的權限執行，以允許不受限制地存取主機資源並簡化開發工作流程。在生產環境中，容器應以最低的必要權限運作。  
 **網路橋接器組態**：示範使用網路橋接器組態來公開內部網路流量，以便於偵錯和監控。在生產環境中，實作適當的網路隔離和分割，以防止未經授權存取內部網路流量。  
 **USB 裝置許可**：啟用不受限制的 USB 裝置存取，以便輕鬆連接開發周邊裝置和測試裝置。針對生產環境，實作嚴格的 USB 裝置控制和驗證，以防止裝置詐騙攻擊。  
 這些組態可讓您直接進行測試，且不得用於生產環境。部署至生產環境時，請遵循安全最佳實務，以防止主機系統入侵和未經授權存取登入資料。

## 先決條件
<a name="deployment-prerequisites"></a>

部署 Raspberry Pi 映像之前，請先完成這些要求：
+ 下載並安裝 [Raspberry Pi 成像器](https://www.raspberrypi.com/software/)。
+ 取得 [SD 卡](https://www.amazon.com/dp/B0CWPPDS3D?ref=ppx_yo2ov_dt_b_fed_asin_title)。
+ [使用 2.4Ghz 64 位元四核心 CPU (8GB RAM) 設定 Raspberry Pi 5。](https://www.amazon.com/CanaKit-Raspberry-Starter-Kit-PRO/dp/B0CRSNCJ6Y/)
+ 連接 [Sonoff Zigbee USB Dongle](https://www.amazon.com/Plus-ZBDongle-Interface-Pre-Installed-Coordinated-Zigbee2MQTT/dp/B0B6P22YJC/)。
+ [Sonoff Zigbee USB 硬體鎖的快閃記憶體韌體](supported-raspberry.md#sonoff-zigbee-firmware-flashing).
+ 連接 [Silicon Labs SLUSB001A Dongle](https://www.digikey.com/en/products/detail/silicon-labs/SLUSB001A/9867108)。
+ [註冊 AWS 帳戶](https://docs.aws.amazon.com/iot-mi/latest/devguide/setting-up.html#sign-up-for-aws)。
+ [AWS CLI 從 受管整合 AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/)安裝最新版本的 。

## 在新的 SD 卡上刷新 Raspberry Pi 映像
<a name="image-deployment"></a>

使用下列步驟，將受管整合映像快閃至 SD 卡：

1. 下載 [Managed Integrations Raspberry Pi Hub SDK 映像](https://d2no7dt1utuyzo.cloudfront.net/IotMI-HubSDK-RaspberryPi/1.0.0/IotMI-HubSDK-RPi-Image-v1.0.0.img.gz)。

1. 在桌面上啟動 Raspberry Pi Imager。

1. 將 SD 卡插入電腦的內建 SD 讀卡機或外部 USB 讀卡機。

1. 選取**選擇裝置** → Raspberry Pi 5。

1. 選取**選擇作業系統** → 使用自訂 → 尋找 IotMI-HubSDK-RPi-Image-v1.0.0.img.gz 檔案 → Open。

1. 選取**選擇儲存**體 → 選取 SD 讀卡機。

1. 確認您的組態符合下列畫面：  
![Raspberry Pi Imager 組態畫面顯示裝置、作業系統和儲存選擇](https://docs.aws.amazon.com/zh_tw/iot-mi/latest/devguide/images/raspberry-pi-imager-config.png)

1. 按一下 **Next (下一步)**。

1. 設定作業系統自訂設定：
   + **主機名稱：**選取 **raspberrypi**。
   + **使用者名稱和密碼：**
     + 啟用**設定使用者名稱和密碼**：
     + 針對**使用者名稱：**，輸入 `hub123456`。
     + 對於**密碼：**，輸入 `sh123456`。
   + **無線 LAN：**
     + 啟用**設定無線 LAN**。
     + 輸入路由器的 **SSID** 和**密碼**。

       範例設定：
       + **SSID**：`iotmi-tplink`
       + **密碼**：`********`（至少 8 個字元）
     + 將**國家/地區：** 設定為 `US`。
   + **設定地區設定：**
     + 將**時區：** 設定為 `America/Los Angeles`。
     + 將**鍵盤配置：** 設定為 `US`。
   + **SSH：**
     + 選擇**服務**索引標籤。
     + 勾選**啟用 SSH**。
     + 選擇**使用密碼身分驗證**。

1. 確認作業系統自訂和資料清除的所有快顯視窗。

1. 等待寫入程序完成。

1. 使用以下畫面確認成功完成：  
![Raspberry Pi Imager 成功畫面顯示已完成的寫入操作](https://docs.aws.amazon.com/zh_tw/iot-mi/latest/devguide/images/raspberry-pi-write-success.png)

1. 按一下 **Continue (繼續)**。

1. 移除 SD 卡並將其插入 Raspberry Pi。

## 在 Raspberry Pi 上執行 Hub SDK
<a name="hub-sdk-execution"></a>

在設定的 Raspberry Pi 上啟動 Hub SDK 服務：

1. 將備妥的 SD 卡插入 Raspberry Pi 5 裝置。

1. 將 Sonoff Zigbee USB 加密狗和 Silicon Labs SLUSB001A 加密狗連接到 Raspberry Pi。

1. 開啟 Raspberry Pi 的電源。

1. 確保 Raspberry Pi 和您的電腦 （您 SSH 的來源） 位於相同的網路上。

1. 使用您在映像部署期間設定的登入資料，將 SSH 傳送至 Raspberry Pi。

   ```
   ssh username@hostname
   ```

1. 導覽至中樞 SDK 目錄：

   ```
   cd /data/aws/iotmi
   ```

1. 完成 [Hub 加入設定](https://docs.aws.amazon.com/iot-mi/latest/devguide/managedintegrations-sdk-v2-cookbook-hubsetup.html)以新增身分驗證和組態資料。
**注意**  
您必須位於 `YUL`或 `DUB` 區域才能執行此步驟。

1. 執行 Hub SDK：

   ```
   cd /data/aws/iotmi
   bash start_hub_sdk.sh
   ```

系統會顯示下列成功啟動 Hub SDK 的回應：

```
-------Stopping SDK running processes---
-------Starting Hub 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-----------
-------Staring Log Daemon---
-------Starting Event Manager-----------
-------Starting Zigbee Service----------
--Checking Zigbee network information--
-------Starting Zwave Service----------
/data/aws/iotmi/middleware/AceZwave/bin /data/aws/iotmi
/data/aws/iotmi
-------Starting CDMB--------------------
-------Starting Agent--------------------
-------Starting Provisioner--------------
-------Checking SDK status---------------
hub1234+    1780  0.2  0.1 1093936 16368 pts/1   Sl+  16:34   0:00 ./iotmi_mqtt_proxy -C /data/aws/iotmi/config/iotmi_config.json
Process 'iotmi_mqtt_proxy' is running.
hub1234+    1884  0.0  0.0 236272  2624 pts/1    Sl+  16:34   0:00 ./middleware/AceCommon/bin/ace_eventmgr
Process 'ace_eventmgr' is running.
hub1234+    1892  9.1  0.1 393040  8352 pts/1    Sl+  16:34   0:04 ./middleware/AceZigbee/bin/ace_zigbee_service
Process 'ace_zigbee_service' is running.
hub1234+    1923  0.0  0.1 1570736 12736 pts/1   Sl+  16:34   0:00 ./zwave_svc
Process 'zwave_svc' is running.
hub1234+    1958  0.0  0.0 1067632 5776 pts/1    Sl+  16:34   0:00 ./iotmi_cdmb
Process 'iotmi_cdmb' is running.
hub1234+    2001  0.2  0.2 2017712 21264 pts/1   Sl+  16:35   0:00 ./iotmi_device_agent
Process 'iotmi_device_agent' is running.
hub1234+    2045  0.0  0.1 1457824 12624 pts/1   Sl+  16:35   0:00 ./iotmi_lpw_provisioner
Process 'iotmi_lpw_provisioner' is running.
hub1234+    1813  0.0  0.0 875152  6848 pts/1    Sl+  16:34   0:00 ./iotmi_log_daemon
Process 'iotmi_log_daemon' is running.
------Successfully Started Hub SDK----
```

## 後續步驟
<a name="next-steps"></a>

成功啟動 Hub SDK 後，請前往 繼續進行裝置加入和管理[使用者引導設定以加入和操作裝置](managedintegrations-sdk-v2-cookbook-ugs.md)。