

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

# Raspberry Pi 上的托管集成中心 SDK 图片
<a name="raspberrypi-device-hub-sdk"></a>

**注意**  
 Raspberry Pi 上的 AWS IoT Hub SDK 的实现是一个演示项目，仅用于学习和测试目的，不打算在生产环境中使用。在本演示中，为了便于开发，请设置以下配置：  
 **AWS 凭证存储**：仅出于演示目的，凭证和证书存储在可访问的位置，便于测试和开发。生产环境必须使用安全的存储解决方案 AWS Secrets Manager，例如或 Systems Manager Parameter Store。他们必须实现静态加密，并遵循 AWS IoT 安全准则。  
 **容器权限**：该演示以提升的权限运行，允许不受限制地访问主机资源并简化开发工作流程。在生产环境中，容器应以最低要求的权限运行。  
 **网桥配置**：该演示使用网络桥接配置，该配置可公开内部网络流量，便于调试和监控。在生产环境中，实施适当的网络隔离和分段，以防止未经授权访问内部网络流量。  
 **USB 设备权限**：启用不受限制的 USB 设备访问权限，便于轻松连接开发外围设备和测试设备。在生产环境中，实施严格的 USB 设备控制和验证，以防止设备欺骗攻击。  
 这些配置支持直接测试，不得在生产环境中使用。部署到生产环境时，请遵循安全最佳实践，以防止主机系统受损和未经授权访问凭证。

## 先决条件
<a name="deployment-prerequisites"></a>

在部署 Raspberry Pi 镜像之前，请完成以下要求：
+ 下载并安装 [Raspberry Pi 成像器。](https://www.raspberrypi.com/software/)
+ 获取 S [D 卡](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](https://www.amazon.com/Plus-ZBDongle-Interface-Pre-Installed-Coordinated-Zigbee2MQTT/dp/B0B6P22YJC/) USB 加密狗。
+ [将固件刷入 Sonoff Zigbee USB 加密狗](supported-raspberry.md#sonoff-zigbee-firmware-flashing).
+ 连接 [Silicon Labs SLUSB001A 加密狗](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. 下载[托管集成 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. 选择**选择设备** → 树莓派 5。

1. 选择 “**选择操作系统**” → “使用自定义” → “查找 IotMI-HubSDK-RPi-Image-v1.0.0.img.gz 文件” → “打开”。

1. 选择**选择存储** → 选择您的 SD 读卡器。

1. 验证您的配置是否与以下屏幕相匹配：  
![Raspberry Pi Imager 配置屏幕显示设备、操作系统和存储选择](https://docs.aws.amazon.com/zh_cn/iot-mi/latest/devguide/images/raspberry-pi-imager-config.png)

1. 单击**下一步**。

1. 配置操作系统自定义设置：
   + **主机名：选择 r** **aspberrypi**。
   + **用户名和密码：**
     + 启用**设置用户名和密码**：
     + 在**用户名:**中，输入`hub123456`。
     + 在 “**密码:”** 中，输入`sh123456`。
   + **无线局域网：**
     + 启用 **“配置无线局域网**”。
     + 输入路由器的 **SSID** 和**密码**。

       设置示例：
       + **SSID：**`iotmi-tplink`
       + **密码**：`********`（至少 8 个字符）
     + 将 “**国家:**” 设置为`US`。
   + **设置区域设置：**
     + 将 “**时区:**” 设置为`America/Los Angeles`。
     + 将 “**键盘布局:**” 设置为`US`。
   + **SSH：**
     + 选择 “**服务**” 选项卡。
     + 选中**启用 SSH**。
     + 选择 “**使用密码身份验证”**。

1. 确认所有弹出窗口以进行操作系统自定义和数据删除。

1. 等待写入过程完成。

1. 使用以下屏幕验证成功完成：  
![Raspberry Pi Imager 成功屏幕显示完成的写入操作](https://docs.aws.amazon.com/zh_cn/iot-mi/latest/devguide/images/raspberry-pi-write-success.png)

1. 单击**继续**。

1. 取出 SD 卡并将其插入 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 从中获得 SSH）在同一个网络上。

1. 使用您在映像部署期间设置的凭据 SSH 到 Raspberry Pi。

   ```
   ssh username@hostname
   ```

1. 导航到 hub 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)