Skip to main content

示例:使用 AWS IoT Core 客户端 SL 库

产品CODESYS IIOT 库 SL

描述

这个例子 AWS IoT Core Client SL Example.project 演示如何使用该库 AWS IoT Core Client SL

AWSDeviceShadow 应用程序展示了如何写入和读取“设备影子”。

AWSPubSub 应用程序展示了如何使用包含的功能块来发布和订阅消息。

AWS_JSON_DeviceShadow 应用程序展示了如何使用 JSONBuilder 来更新“设备影子”。

入门

安装客户证书

使用对设备进行身份验证 AWS IoT Core 是使用客户证书完成的。客户端证书可以通过 AWS Web 界面生成,下载并安装在相应的设备上

. 生成此类证书的方法有两种:
  • 在控制器上生成 CSR 文件(证书签名请求)。然后使用此文件生成证书。

    您可以在下一节中找到有关如何执行此操作的说明。

  • 证书和私钥通过 AWS 创建、下载并安装在设备上。

    有关更多信息,请参阅:Import of client certificates with private key

使用 CSR 文件生成证书

. 准备
  • 这个包裹 CODESYS Security Agent 必须安装在您的计算机上。

    有关更多信息,请参阅: CODESYS 安全代理

  • 您需要一个 AWS 账户。

过程. 通过 CSR 创建和导入客户证书
  1. 插入设备 (Thing) 在 AWS IoT Core 通过网络界面。

    你可以使用你的设备(Things) 在下面的导航侧面板中 Manage > All Devices > Things查看和管理。

    _ex_img_aws_iot_thing.png
  2. 在示例项目中,打开 AWSPubSub 应用。

  3. 将端点设置为 AWSIoTClient.sHostname 输入。

    例子: xxxxxxxxxxxxxxx.iot.yyyyyyyy.amazonaws.com)

    你可以在导航侧面板中找到你的终端节点 Connect > Domain configurations。如有必要,您还可以在那里创建新的端点。

  4. 将先前分配的设备名称(“事物名称”)设置为输入 AWSIoTClient.sClientId

    使用输入 AWSIoTClient.sCertCNPrefixClientId 主机名相同。这样可以防止加载不正确的证书(例如, WebServer)。

    提示

    如果未显示输入,则执行 重置引脚 命令。

    例子:

    sCertCNPrefix := 'AWSClient', sClientId := 'MyHostname';

    证书的“通用名称”(CN) 是 AWSClient@MyHostname

  5. 将应用程序加载到控制器上并启动它。

    该应用程序现在将尝试建立与 AWS 的加密连接,但由于缺少证书,这将失败。尽管如此,这个设置实验在下面是相关的。

  6. 设置旗帜 xEnableAWSIoTClientTRUE

  7. 在设备编辑器中,选择选项卡 SPS 外壳

  8. 运行以下命令:

    cert-getapplist

    输出显示了具有指定设备名称和编号的组件。

    注意:如果您之前没有尝试连接到 AWS,则不会显示该设备(步骤 5)。

  9. 运行以下命令:

    cert-createcsr <number> encoding=Base64

    <number> 替换为步骤 8 中获得的号码。生成 CSR 文件可能需要几秒钟。

    在设备编辑器中,在 “类别” 下 日志,则在生成后输出相应的消息。

    _example_img_aws_iot_core_client.png
  10. 在设备编辑器中,选择选项卡 文件

    从以下位置复制 CSR 文件 cert/export 目录到本地文件系统。

    _example_img_aws_iot_core_clien_filest.png
  11. 使用生成的 CSR 文件,您现在可以通过 AWS Web 界面创建证书。

    在导航侧面板中,你可以使用Security > Certificates 获取所有证书的管理概览。

    通过命令创建 Add certificate > Create certificate 带有导出的 CSR 文件的新证书。

    _ex_img_aws_iot_create_certificate.png
  12. 下载证书和根证书。

  13. 在里面选择 CODESYS 菜单命令 查看-> 安全屏幕

  14. 将您的客户证书安装在 你自己的证书

  15. 将根证书安装在 可信证书

    _example_img_aws_iot_core_client_trusted_certificat.png
  16. 点击 在线 → 冷重置 并启动应用程序。

    再次尝试设置功能模块的连接 AWSIoTClient 现在是输出吗 AWSIoTClient.xConnectedToBrokerTRUE 设置。

    连接已正确建立。

重要

如果您从控制器上卸载通过 CSR 创建的证书,则重新安装该证书后它将不再起作用。

这是因为卸载时私钥信息会被删除。在这种情况下,必须为设备创建新证书。

系统要求和限制

编程系统

CODESYS Development System 版本 3.5.18.0 或更高版本

运行时系统

CODESYS Control Win 版本 3.5.18.0 或更高版本

注意:使用免费的 Device Reader 项目(可在 CODESYS Store International)找出控制器支持的功能。

附加组件

-

其他要求

AWS 账户(AWS IoT 核心)

注意

_example_icon.png 下載 项目