项目简介
本项目基于C语言,借助Azure SDK和Automation Runtime 4.27,在X20CP1586 PLC上运行简单的AMQP示例,实现了X20CP1586 PLC与Azure IoT Hub的连接,可进行设备数据上传及与云服务的交互。
项目的主要特性和功能
- 连接Azure IoT Hub:可建立与Azure IoT Hub的连接,实现设备数据上传和云服务交互。
- 设备数据上传:支持将设备数据上传到Azure Blob存储服务,用于后续数据分析和处理。
- 日志记录:利用日志系统记录关键信息和错误消息,便于调试和监控。
- 线程管理:使用线程API管理非循环线程,保证程序正常运行和资源合理分配。
安装使用步骤
前提条件
- 完成 [Azure IoT Hub 的设置][lnk-setup-iot-hub]。
- 完成 [设备配置并获取凭证][lnk-manage-iot-hub]。
- 准备一台 X20CP1586 设备。
- 安装 Automation Studio 4.2.7 或更高版本,Automation Runtime 4.27 或更高版本。
准备设备
此步骤文档未详细说明,可按常规设备准备操作进行。
构建并运行示例
- 构建 SDK 和示例
- 下载移植到 Automation Runtime 的 Microsoft Azure IoT 设备 SDK。
- 使用 Automation Runtime 4.27 或更高版本创建一个新的 Automation Studio 项目。
- 将 AzureSDK 库作为现有库插入到新项目中,并放置在 Libraries 下。
- 自动插入 AzureSDK 依赖的库,此时应有相应的库集合。
- 在“Project/Change Runtime Versions../Build”菜单下,为项目设置包含目录。
- 使用对象目录工具箱添加一个新程序。
- 在软件配置的“Program/Properties/Build”中,为新程序设置编译器选项为 C99(-std=gnu99)。
- 在“Project/Settings..”中勾选“Enable declaration of PLC variables”,以激活从代码创建 _LOCAL 和 _GLOBAL 变量。
- 向 IoT Hub 发送设备事件
- 从以下地址获取运行 AMQP 消息示例所需的文件。
- 将这些文件复制到你的程序中(可通过从资源管理器拖放或使用对象目录 - 现有文件的方式),需替换 Main.cpp。
- 接收来自 IoT Hub 的消息
- 参考 [Manage IoT Hub][lnk-manage-iot-hub] 学习如何向应用程序发送云到设备的消息。
- 只要 g_continueRunning 标志设置(保持线程存活),示例应用程序将在日志中输出所有接收到的消息。可通过设备资源管理器发送“quit”远程关闭线程,这将把 g_continueRunning 标志设置为 FALSE。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】