
本指南将帮助您将Shelly设备与AWS IoT Core进行设置,实现通过MQTT进行通信。
概述
本指南将帮助您将Shelly设备与AWS IoT Core进行设置,实现通过MQTT进行通信。请仔细按照这些说明操作,以确保您的设备安全且正确地连接。
先决条件
免费A启用 IoT Core 服务的 AWS 账户,目前也免费。最新固件
AShelly Gen2+ 设备(例如,Shelly 1 G3)已连接到具有互联网访问权限的网络。
具备 AWS IoT Core 和 MQTT 的基础知识。
确保您的 Shelly 设备拥有 已安装。逐步操作指南
第1部分 - AWS 设置
按照以下步骤配置 AWS IoT Core,创建设备(Thing),并生成必要的安全凭证。
登录 AWS 控制台并创建新的 AWS IoT 设备
打开 AWS 管理控制台,使用搜索栏导航到
IoT Core 服务。在左侧的
IoT Core 仪表板 中,点击 管理 > 所有设备 >设备 进入后,在右侧你会看到一个橙色按钮 .
-
创建设备,点击它。 选择

-
创建单个设备 并点击 下一步此步骤需要填写以下字段:.

名称
你的设备名称(例如,Shelly1-G3)。可选地,分配一个
设备类型(例如,继电器、插头、灯泡)以便于管理。如果决定分配,请参见第二张图片。
选择
无影子点击
下一步可选(添加类型)


生成证书。
在此页面,选择
自动生成新证书 (推荐选项)并点击 下一步这里会要求你分配策略,虽然显示“.

可选”,但我们强烈建议点击 创建策略 来创建一个。.

会弹出一个窗口,输入以下值:
策略名称点击
JSON输入以下内容:
JSON
这将允许所有 IoT 操作(连接、发布、接收、订阅、保留发布、列出保留消息、获取保留消息),适用于所有资源。 填写完毕后点击
创建现在你会看到新创建的策略:.

选择新策略
点击
创建设备现在你会看到一个页面,提供多个文件下载,我们需要的是:

设备证书
私钥
根 CA
请注意,向导可能还会要求你下载公钥。你可以重命名这些文件以便使用。完成后点击
完成 现在我们已经创建了 .

设备,并且可以看到我们为其创建的 类型。现在导航到

测试 > 并展开 MQTT 测试客户端连接详情记下
客户端 ID记下
端点稍后在本指南的
部分我们会用到这两个值!在 Shelly主题过滤器 中输入 并点击 #订阅导航到 。这将使我们能够看到来自我们 Shelly 设备的所有消息。

第 2 部分 - Shelly 设置
Shelly 设备的电源和网络配置
-
将您的 Shelly 设备(例如,Shelly 1 G3)连接电源,并确保其已加入您的本地网络。
确保您的 Shelly 设备已连接到可访问互联网(WAN)的网络。该网络必须允许外部连接。
-
Shelly 设备的 Firmware 更新
进入 Shelly 设备的网页界面。
并确保你的设备运行的是 设置 > Firmware最新固件版本当前稳定版本是 1.4.2,我们已经安装。此信息可见于第1步的第二张截图。.
请注意以下几点!
如果想检查更新,点击
检查更新
按钮。如果有可用更新,会列出,如第3步所示。请注意,测试版和 Beta 版本也会显示,我们只需要稳定版!测试与 AWS IoT Core 的网络连接


-
运行 ping 测试以检查与 AWS IoT 端点的网络连接(端点可在 AWS 设置部分最后一步找到,记得之前记下的值吗?我们的例子是):
在与 Shelly 使用同一网络的设备上打开终端或命令提示符。
BASH
如果收到响应,说明你的网络已正确配置以支持 AWS IoT Core 通信。 导航到

在Shelly设备上配置TLS设置
通过在浏览器中输入其 IP 地址访问 Shelly 的网页界面。
设置 > 向下滚动到底部,进入 在 TLS 配置.

上传我们在 AWS 设置部分下载的证书。TLS 配置请注意,上传证书的顺序应与此处显示的顺序一致,从上到下:
-
首先是 CA 证书
:Amazon Root CA 1 或你重命名的名称。其次是设备证书
:或你重命名的名称。最后是私钥
:与设备证书关联的私钥。分别点击每个证书的
上传 保存配置,成功时会显示 保存成功!。上传证书
并输入以下值:
在Shelly设备上配置MQTT设置
-
在 Shelly 界面中,进入 设置 > MQTT连接类型:
服务器:默认 TLS.
勾选所有可用选项以启用所需的 MQTT 选项。
a370ypdmp7t0up-ats.iot.eu-central-1.amazonaws.com(替换为你的 AWS IoT 端点,可在 AWS IoT 控制台找到)。客户端 ID:
客户端 ID 应该是唯一的,例如设备/设备名称。客户端 ID 是连接到代理(本例中为 AWS IoT Core)时使用的标识。保存 配置后,点击右上角出现的 是 MQTT 客户端(在本例中为您的 Shelly 设备立即重启 按钮。)
AWS IoT Core 控制台导航到 在 主题过滤器
测试 MQTT 连接
重启 Shelly 设备后,返回 字段中输入了 .
,允许订阅所有主题。下面的示例显示了不同的主题 测试 > MQTT 测试客户端.
shelly1g3-54320459fb8c/status/switch:0 ,只显示继电器的切换状态。从 # 打开继电器以发布消息,确认设备已成功连接。测试连接我们重视您的反馈!
感谢您花时间阅读我们的文章!内容是否有帮助或有趣?Shelly 的网页界面您的见解能帮助我们改进。若您有时间,
请通过以下邮箱与我们分享您的反馈:
Integration@shelly.com
使用的设备
您的意见可以帮助我们改进。我们非常感谢您的反馈。如果您有时间,
请通过以下邮箱与我们分享: