AWS IoT Core 客户端 - 入门
查看我们的 CODESYS Store 产品:AWS IoT Core 客户端
如何开始
-
从我们的CODESYS 商店安装“安全代理”插件
-
从此列表中选择要安装的 openssl 二进制文件:https ://wiki.openssl.org/index.php/Binaries -第一个条目在测试中运行良好
-
前往aws.amazon.com并注册
使用 Amazon 阅读所有文档!
我们遵循略有不同的步骤。
-
单击“所有服务”和 IOT Core
-
点击“管理”
-
点击“注册一个东西”
-
单击“创建单个事物”并将其命名为“ jackicpi3lcd ”
-
创建类型“ CODESYS ”/“与 CODESYS 相关的事物”
不要打扰组,跳过所有可选的东西并点击“下一步”
-
创建没有证书的“事物”,然后点击“完成”
-
打开你的“ Thing ”并转到“Interact”
-
复制 HTTPS 下的其余 API 端点, 例如“ xxxxxxxxxxxxx-ats.iot.us-east-2.amazonaws.com ”
-
返回 AWS IoT 的主菜单, 在菜单“Secure > Policies”下,按“ Create new policy ”。
您的账户ID与上述Rest API中的URL不同! 它在您创建策略时作为默认资源提供。
-
将其命名为LetJackPubAndSub
-
您希望能够与客户端 ID 连接, 发布主题,最后将订阅主题,然后,一旦订阅,您还希望接收来自主题的消息。
-
行动 =物联网:连接
-
资源 ARN = arn:aws:iot:[AWS Region]:[AccountID,与 Rest API URL 不同]:client/ jackicpi3lcd
-
效果 = 允许
-
单击添加语句
-
行动 =物联网:发布
-
资源 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
-
效果 = 允许
-
单击添加语句
-
行动 =物联网:订阅
-
资源 ARN = arn:aws:iot:[AWS Region]:[AccountID,与 Rest API URL 不同]:topicfilter/hello/aws
-
效果 = 允许
-
单击添加语句
-
动作 = iot.Receive
-
资源 ARN = arn:aws:iot:[AWS Region]:[AccountID,与 Rest API URL 不同]:topic/hello/aws
-
效果 = 允许
-
点击创建 例子:

-
CODESYS IDE:从 C:\Users[USERNAME]\AWS IoT Core Client[VERSION]\ AWS_IoT_Core_Client_Example.project 运行已安装的示例
-
右键单击设备树中的设备,选择“更新设备...”,然后选择您的目标 PLC,然后点击确定
每个示例项目的重要步骤!
-
在名为 AWSPubSub 的应用程序下,打开 PLC_PRG 并在下面的屏幕截图中更改这些设置以匹配之前创建的“ Thing ”
a. 将“ Device2 ”的两个实例更改为“ jackicpi3lcd ” b. 将主机名更改为您从交互选项卡复制的主机名 之前的例子:

-
下载并运行
-
打开可视化并为 AWSIoTClient 选择“ xEnable ”。
它不会显示它是 xConnectedToBroker,因为我们还没有配置权限。
-
打开 PLC Shell: 设备 -> PLC-Shell (OLH)
-
指定cert-getapplist -> 显示具有指定设备名称和编号的组件。 你想要那个写着“ jackicpi3lcd ”的
-
指定cert-createcsr [number] 并使用上一步中的数字。
CSR 文件的创建可能需要几秒钟。 创建后,相应的消息将显示在设备日志中(设备 ->日志 (OLH))。
-
打开 (Device -> Files (OLH) ) 并将 CSR 文件从 cert/export 目录复制到本地文件系统。
-
例子:

- 打开命令提示符并键入如下内容:
openssl.exe req -in "D:/prj/WIP/AWS IOT CORE/6_jackicpi3lcd.csr" -inform der -out "D:/prj/WIP/AWS IOT CORE/jackicpi3lcd.csr"
-
返回 AWS 管理控制台
-
打开你的“ Thing ”并转到安全控制台
-
点击“查看其他选项”
-
点击“用csr创建”
-
使用上述 openssl 命令的输出(“ jackicpi3lcd.csr ”)
-
点击“上传文件”。 如果 10 秒后仍未显示成功,则说明您抓取了错误的文件。
-
下载它给你的证书
根据您的浏览器,出于某种原因实际上会另存为 .txt。
-
点击链接下载根证书。 获取 Amazon 根 ca1、根 CA3 和 startfield 根 CA 证书。
-
按激活。
-
按附加政策
-
选择您之前创建的策略
-
现在由于某种原因它不会将证书添加到事物中..
-
返回主菜单并选择 Secure > Certificates,选择您创建的新证书。
-
操作 > 激活
-
操作 > 附加事物 > jackicpi3lcd > 附加
-
所以现在如果你去 Manage > Thing > jackicpi3lcd,它应该有一个安全证书。 如果单击它应该在策略下有一个策略,并且证书应该有“活动”一词。
-
例子:

-
现在返回 CODESYS IDE
-
安全屏幕 > 设备> 点击刷新 > 点击“自己的证书”
-
按下 Owned certificates 左侧的按钮,该按钮看起来像带有绿色向下箭头的 PLC。
-
例子:

-
将文件过滤器更改为所有文件。 将您下载的文件的扩展名从 .txt 更改为 .crt,然后选择它并点击打开。
-
现在转到受信任的证书文件夹,并从亚马逊安装所有三个根证书(相同的按钮)。 同样,如果需要,更换过滤器。
-
冷重置控制器以获取新证书。
-
打开可视化,再次为AWSIoTClient打开xEnable。你应该得到一个绿色的“连接到经纪人”灯。
-
打开xEnable AWSIoTSubscribe _
-
启用AWSIoTPublish
-
现在你应该得到值了,一切都很好! 您通过 Publish 发送的主题和负载应该在PLC_PRG.AWSIoTSubscribe_0中看到
-
例子:

