AWS IoT Core 客户端 - 入门


查看我们的 CODESYS Store 产品:AWS IoT Core 客户端

如何开始

  1. 从我们的CODESYS 商店安装“安全代理”插件

  2. 从此列表中选择要安装的 openssl 二进制文件:https ://wiki.openssl.org/index.php/Binaries -第一个条目在测试中运行良好

  3. 前往aws.amazon.com并注册

使用 Amazon 阅读所有文档! 图1

我们遵循略有不同的步骤。

  1. 单击“所有服务”和 IOT Core

  2. 点击“管理”

  3. 点击“注册一个东西”

  4. 单击“创建单个事物”并将其命名为“ jackicpi3lcd ”

  5. 创建类型“ CODESYS ”/“与 CODESYS 相关的事物”

不要打扰组,跳过所有可选的东西并点击“下一步”

  1. 创建没有证书的“事物”,然后点击“完成”

  2. 打开你的“ Thing ”并转到“Interact”

  3. 复制 HTTPS 下的其余 API 端点, 例如“ xxxxxxxxxxxxx-ats.iot.us-east-2.amazonaws.com ”

  4. 返回 AWS IoT 的主菜单, 在菜单“Secure > Policies”下,按“ Create new policy ”。

您的账户ID与上述Rest API中的URL不同! 它在您创建策略时作为默认资源提供。

  1. 将其命名为LetJackPubAndSub

  2. 您希望能够与客户端 ID 连接, 发布主题,最后将订阅主题,然后,一旦订阅,您还希望接收来自主题的消息。

  3. 行动 =物联网:连接

  4. 资源 ARN = arn:aws:iot:[AWS Region]:[AccountID,与 Rest API URL 不同]:client/ jackicpi3lcd

  5. 效果 = 允许

  6. 单击添加语句

  7. 行动 =物联网:发布

  8. 资源 ARN = arn:aws:iot:[AWS Region]:[AccountID, not same as Rest API URL]:topic/hello/aws, arn:aws:iot:[AWS Region]:[AccountID, not same as Rest API URL]:topic/ jackicpi3lcd /lastwill

  9. 效果 = 允许

  10. 单击添加语句

  11. 行动 =物联网:订阅

  12. 资源 ARN = arn:aws:iot:[AWS Region]:[AccountID,与 Rest API URL 不同]:topicfilter/hello/aws

  13. 效果 = 允许

  14. 单击添加语句

  15. 动作 = iot.Receive

  16. 资源 ARN = arn:aws:iot:[AWS Region]:[AccountID,与 Rest API URL 不同]:topic/hello/aws

  17. 效果 = 允许

  18. 点击创建 例子:

图2

  1. CODESYS IDE:从 C:\Users[USERNAME]\AWS IoT Core Client[VERSION]\ AWS_IoT_Core_Client_Example.project 运行已安装的示例

  2. 右键单击设备树中的设备,选择“更新设备...”,然后选择您的目标 PLC,然后点击确定

每个示例项目的重要步骤!

  1. 在名为 AWSPubSub 的应用程序下,打开 PLC_PRG 并在下面的屏幕截图中更改这些设置以匹配之前创建的“ Thing ”

    a. 将“ Device2 ”的两个实例更改为“ jackicpi3lcd ” b. 将主机名更改为您从交互选项卡复制的主机名 之前的例子:

    图3

  2. 下载并运行

  3. 打开可视化并为 AWSIoTClient 选择“ xEnable ”。

它不会显示它是 xConnectedToBroker,因为我们还没有配置权限。

  1. 打开 PLC Shell: 设备 -> PLC-Shell (OLH)

  2. 指定cert-getapplist -> 显示具有指定设备名称和编号的组件。 你想要那个写着“ jackicpi3lcd ”的

  3. 指定cert-createcsr [number] 并使用上一步中的数字。

CSR 文件的创建可能需要几秒钟。 创建后,相应的消息将显示在设备日志中(设备 ->日志 (OLH))。

  1. 打开 (Device -> Files (OLH) ) 并将 CSR 文件从 cert/export 目录复制到本地文件系统。

  2. 例子:

图4

  1. 打开命令提示符并键入如下内容:

openssl.exe req -in "D:/prj/WIP/AWS IOT CORE/6_jackicpi3lcd.csr" -inform der -out "D:/prj/WIP/AWS IOT CORE/jackicpi3lcd.csr"

  1. 返回 AWS 管理控制台

  2. 打开你的“ Thing ”并转到安全控制台

  3. 点击“查看其他选项”

  4. 点击“用csr创建”

  5. 使用上述 openssl 命令的输出(“ jackicpi3lcd.csr ”)

  6. 点击“上传文件”。 如果 10 秒后仍未显示成功,则说明您抓取了错误的文件。

  7. 下载它给你的证书

根据您的浏览器,出于某种原因实际上会另存为 .txt。

  1. 点击链接下载根证书。 获取 Amazon 根 ca1、根 CA3 和 startfield 根 CA 证书。

  2. 按激活。

  3. 按附加政策

  4. 选择您之前创建的策略

  5. 现在由于某种原因它不会将证书添加到事物中..

  6. 返回主菜单并选择 Secure > Certificates,选择您创建的新证书。

  7. 操作 > 激活

  8. 操作 > 附加事物 > jackicpi3lcd > 附加

  9. 所以现在如果你去 Manage > Thing > jackicpi3lcd,它应该有一个安全证书。 如果单击它应该在策略下有一个策略,并且证书应该有“活动”一词。

  10. 例子:

图5

  1. 现在返回 CODESYS IDE

  2. 安全屏幕 > 设备> 点击刷新 > 点击“自己的证书”

  3. 按下 Owned certificates 左侧的按钮,该按钮看起来像带有绿色向下箭头的 PLC。

  4. 例子:

图6

  1. 将文件过滤器更改为所有文件。 将您下载的文件的扩展名从 .txt 更改为 .crt,然后选择它并点击打开。

  2. 现在转到受信任的证书文件夹,并从亚马逊安装所有三个根证书(相同的按钮)。 同样,如果需要,更换过滤器。

  3. 冷重置控制器以获取新证书。

  4. 打开可视化,再次为AWSIoTClient打开xEnable。你应该得到一个绿色的“连接到经纪人”灯。

  5. 打开xEnable AWSIoTSubscribe _

  6. 启用AWSIoTPublish

  7. 现在你应该得到值了,一切都很好! 您通过 Publish 发送的主题和负载应该在PLC_PRG.AWSIoTSubscribe_0中看到

  8. 例子:

图7