Kbsa 将 Shelly 1 G3 设备连接到 Aws Iot Co

使用MQTT将Shelly 1 G3设备连接到AWS IoT Core
Connecting a Shelly 1 G3 Device to AWS IoT Core Using MQTT.jpg

本指南将帮助您将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 管理控制台,使用搜索栏导航到

  1. IoT Core 服务。在左侧的

  2. IoT Core 仪表板 中,点击 管理 > 所有设备 >设备 进入后,在右侧你会看到一个橙色按钮 .

  3. 创建设备,点击它。 选择

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

    2.jpg
  5. 名称

  • 你的设备名称(例如,Shelly1-G3)。可选地,分配一个

  • 设备类型(例如,继电器、插头、灯泡)以便于管理。如果决定分配,请参见第二张图片。

  • 选择

  • 无影子点击

  • 下一步可选(添加类型)

3.jpg
4.jpg

生成证书。

  1. 在此页面,选择

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

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

6.jpg
  1. 会弹出一个窗口,输入以下值:

  • 策略名称点击

  • JSON输入以下内容:

  • JSON

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*" } ] }
这将允许所有 IoT 操作(连接、发布、接收、订阅、保留发布、列出保留消息、获取保留消息),适用于所有资源。
  • 填写完毕后点击

  • 创建现在你会看到新创建的策略:.

7.jpg
  1. 选择新策略

  • 点击

  • 创建设备现在你会看到一个页面,提供多个文件下载,我们需要的是:

8.jpg

  1. 设备证书

  • 私钥

  • 根 CA

  • 请注意,向导可能还会要求你下载公钥。你可以重命名这些文件以便使用。完成后点击

完成 现在我们已经创建了 .

9.jpg

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

10.jpg

测试 > 并展开 MQTT 测试客户端连接详情记下

  • 客户端 ID记下

  • 端点稍后在本指南的

部分我们会用到这两个值!在 Shelly主题过滤器 中输入 并点击 #订阅导航到 。这将使我们能够看到来自我们 Shelly 设备的所有消息。

11.jpg

第 2 部分 - Shelly 设置

Shelly 设备的电源和网络配置

  1. 将您的 Shelly 设备(例如,Shelly 1 G3)连接电源,并确保其已加入您的本地网络。

    • 确保您的 Shelly 设备已连接到可访问互联网(WAN)的网络。该网络必须允许外部连接。

  2. Shelly 设备的 Firmware 更新

    • 进入 Shelly 设备的网页界面。

    • 并确保你的设备运行的是 设置 > Firmware最新固件版本当前稳定版本是 1.4.2,我们已经安装。此信息可见于第1步的第二张截图。.

请注意以下几点!

  • 如果想检查更新,点击

  • 检查更新 按钮。如果有可用更新,会列出,如第3步所示。请注意,测试版和 Beta 版本也会显示,我们只需要稳定版!

  • 测试与 AWS IoT Core 的网络连接

12.jpg
13.jpg

  1. 运行 ping 测试以检查与 AWS IoT 端点的网络连接(端点可在 AWS 设置部分最后一步找到,记得之前记下的值吗?我们的例子是):

    • 在与 Shelly 使用同一网络的设备上打开终端或命令提示符。

    • BASH

ping a370ypdmp7t0up-ats.iot.eu-central-1.amazonaws.com
如果收到响应,说明你的网络已正确配置以支持 AWS IoT Core 通信。

导航到

14.jpg
  1. 在Shelly设备上配置TLS设置

  • 通过在浏览器中输入其 IP 地址访问 Shelly 的网页界面。

  • 设置 > 向下滚动到底部,进入 TLS 配置.

15.jpg

上传我们在 AWS 设置部分下载的证书。TLS 配置请注意,上传证书的顺序应与此处显示的顺序一致,从上到下:

  • 首先是 CA 证书

    • :Amazon Root CA 1 或你重命名的名称。其次是设备证书

    • :或你重命名的名称。最后是私钥

    • :与设备证书关联的私钥。分别点击每个证书的

  • 上传 保存配置,成功时会显示 保存成功!上传证书

并输入以下值:

  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 控制台导航到 主题过滤器

  1. 测试 MQTT 连接

  • 重启 Shelly 设备后,返回 字段中输入了 .

  • ,允许订阅所有主题。下面的示例显示了不同的主题 测试 > MQTT 测试客户端.

  • shelly1g3-54320459fb8c/status/switch:0 ,只显示继电器的切换状态。# 打开继电器以发布消息,确认设备已成功连接。测试连接我们重视您的反馈!

  • 感谢您花时间阅读我们的文章!内容是否有帮助或有趣?Shelly 的网页界面您的见解能帮助我们改进。若您有时间,

请通过以下邮箱与我们分享您的反馈:

Integration@shelly.com

使用的设备

您的意见可以帮助我们改进。我们非常感谢您的反馈。如果您有时间,

请通过以下邮箱与我们分享:

Integration@shelly.com

使用的设备