新闻中心
PRESS CENTEREG边缘计算网关可以从现场设备采集数据,并通过MQTT协议将数据上报到云平台,实现设备的远程管理和监控。纵横云物联网平台为用户提供了一个强大的云端平台,用于接收、处理和可视化这些数据。本教程将介绍如何使用EG边缘计算网关通过MQTT协议连接纵横云物联网平台,实现数据采集和上传。
本章节主要实现一个流程:EG8000采集的数据,组装成JSON格式,并通过MQTT上报应用平台;同时能够接收应用平台下发的控制命令,实现远程开关。要实现此流程,需要提前准备好以下材料:
要采集的PLC的IP端口以及点位表,例如:
PLC | S7-200 Smart | ||
IP | 192.168.0.30/102 | ||
地址 | 数据类型 | 属性 | 名称 |
I0.0 | Boolean | 只读 | MotorState1 |
I0.1 | Boolean | 只读 | MotorState2 |
V0.4 | Boolean | 读写 | MotorControl1 |
V0.5 | Boolean | 读写 | MotorControl2 |
VD100 | Float | 只读 | voltage |
VD200 | Float | 只读 | current |
VW300 | Uint16 | 只读 | frequency |
VW302 | Uint16 | 只读 | frequencySetValue |
MQTT通信相关参数及JSON数据格式要求,例如:
1.网关配置:
第一步:采集PLC数据
第二步:拼接Json
第三步:MQTT上报
第四步:下行MQTT订阅
第五步:解析下行Json写入PLC
2.平台配置:
第一步:添加设备
第二步:添加数据点
第三步:绑定标志
第四步:测试
1.网关配置
第一步:采集PLC数据
此处为采集PLC数据,不在过多赘述,可参考其他案例。采集到PLC的流程如下:
此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/org-wiki-iotrouter-rlzwv5/eg8000/hh3gq8an371h7xiw
第二步:拼接Json
此处报文将数据按照需求概述拼接成Json格式,需要注意的是平台限制每包数据上传间隔必须大于1S,这里使用缓存队列节点来实现数据有序发送:
平台3.0有数据接收长度限制,所以本案例通过函数节点对采集的数据做了拆分上传处理
PLC节点输出JSON | 描述 | MQTT上报JSON |
{ "MotorState1": false, "voltage": 50, } | 将左侧PLC节点输出的JSON转换成右侧输出的JSON | { "sensorDatas": [{ "flag": "MotorState1", "switcher": 0 }, { "flag": "voltage", "value": 50 }] } |
第三步:MQTT上报
配置MQTT发布节点,用于将采集到的数据上传平台3.0:
此处为语雀视频卡片,点击链接查看:MQTT连接.mp4
第四步:下行MQTT订阅
配置MQTT订阅节点,用于接收平台3.0下发的控制指令:
此处为语雀视频卡片,点击链接查看:下行配置.mp4
第五步:解析Json并写入到PLC
因为平台3.0的下发的报文格式不满足PLC的要求,所以,此处需要将收到的JSON格式进行格式转换。这里我们需要使用函数计算节点,通过编程将它进行处理转换,再给到PLC进行写的操作:
MQTT下发JSON | 描述 | PLC节点需要的JSON |
{ "sensorDatas": [{ "sensorsId": 4503840, "switcher": 0, "flag": "MotorControl2" }], "down": "down" } | 将左侧PLC节点输出的JSON转换成右侧输出的JSON | { "MotorControl2": false } |
此处为语雀视频卡片,点击链接查看:下行解包.mp4
2.平台配置
第一步:添加设备
设备管理->添加设备->填入网关SN:GIF
第二步:添加数据点
设备管理找到刚才添加的设备,进入编辑设备
找到传感器添加数据点
根据本案例中的数据点添加,4个开关型变量,4个数值型变量,其他小数位以及单位根据自己的需求设定(添加完成后需要下滑到底部点击创建设备)
第三步:绑定标志
设备管理找到刚才添加的设备,点击设置连接
填入读写标识(需要和网关PLC节点的第三列配置一致)
第四步:测试
此处为语雀视频卡片,点击链接查看:测试.mp4
MQTT配置节点导出时,不会携带用户名和密码。因此导入时需要重新录入用户名和密码