• EG边缘计算网关连接纵横云3.0物联网平台(MQTT协议)


    上文: EG边缘计算网关连接中移ONENET物联网平台(MQTT协议)

    更多可见:成都纵横智控

    需求概述

    本章节主要实现一个流程:EG8000采集的数据,组装成JSON格式,并通过TCP上报应用平台;同时能够接收应用平台下发的控制命令,实现远程开关。要实现此流程,需要提前准备好以下材料:

    要采集的PLC的IP端口以及点位表,例如:

    PLC

    S7-200 Smart

    IP

    192.168.0.34/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. JSON格式:
    2. {
    3. "sensorDatas":
    4. [
    5. {
    6. "flag":"MotorState1",
    7. "switcher":1
    8. },
    9. {
    10. "flag":"MotorState2",
    11. "switcher":1
    12. },
    13. {
    14. "flag":"MotorControl1",
    15. "switcher":1
    16. },
    17. {
    18. "flag":"MotorControl2",
    19. "switcher":1
    20. },
    21. {
    22. "flag":"voltage",
    23. "value":220.0
    24. },
    25. {
    26. "flag":"current",
    27. "value":10.2
    28. },
    29. {
    30. "flag":"frequency",
    31. "value":50
    32. },
    33. {
    34. "flag":"frequencySetValue",
    35. "value":50
    36. },
    37. ]
    38. }

    需求分析

    网关配置:

    第一步:采集PLC数据

    第二步:拼接Json

    第三步:MQTT上报

    第四步:下行MQTT订阅

    第五步:解析下行Json写入PLC

    平台配置:

    第一步:添加设备

    第二步:添加数据点

    第三步:绑定标志

    第四步:测试

    需求实现

    网关配置

    第一步:采集PLC数据

    此处为采集PLC数据,不在过多赘述,可参考其他案例。采集到PLC的流程如下:

    此处为语雀内容卡片,点击链接查看:PLC Item · IOTRouter

    第二步:拼接Json

    此处报文将数据按照需求概述拼接成Json格式,需要注意的是平台限制每包数据上传间隔必须大于1S,这里使用缓存队列节点来实现数据有序发送:

    💡平台3.0有数据接收长度限制,所以本案例通过函数节点对采集的数据做了拆分上传处理

    第三步:MQTT上报
    1. 新增MQTT发布节点,连接信息如下:
    2. IP域名:1883.dtuip.com
    3. 端口:1883
    4. 客户端ID:网关SN(序列号)
    5. 用户名:平台3.0登录账号
    6. 密码:平台3.0登录密码
    7. 发布主题:网关SN(序列号)

    配置MQTT发布节点,用于将采集到的数据上传平台3.0:

    第四步:下行MQTT订阅
    1. 新增MQTT订阅节点:
    2. 连接信息:使用发布节点配置的连接信息
    3. 订阅主题:网关SN/+

    配置MQTT订阅节点,用于接收平台3.0下发的控制指令:

    第五步:解析Json并写入到PLC

    因为平台3.0的下发的报文格式不满足PLC的要求,所以,此处需要将收到的JSON格式进行格式转换。这里我们需要使用函数计算节点,通过编程将它进行处理转换,再给到PLC进行写的操作:

    平台配置

    第一步:添加设备

    设备管理->添加设备->填入网关SN

    第二步:添加数据点
      1. 设备管理找到刚才添加的设备,进入编辑设备

      1. 找到传感器添加数据点

      1. 根据本案例中的数据点添加,4个开关型变量,4个数值型变量,其他小数位以及单位根据自己的需求设定(添加完成后需要下滑到底部点击创建设备)

    第三步:绑定标志
      1. 设备管理找到刚才添加的设备,点击设置连接

      1. 填入读写标识(需要和网关PLC Item节点的Name配置一致)

    第四步:测试

    注意

    💡MQTT配置节点导出时,不会携带用户名和密码。因此导入时需要重新录入用户名和密码

  • 相关阅读:
    JavaScript进阶知识点——函数和对象详解
    【JVM技术专题】针对于Class字节码的文件分析和研究指南 「 进阶篇」
    File类与IO流相关面试知识(一)
    【CSDN竞赛第五期】比赛小结
    12、FPGA程序的固化和下载
    8.0、软件测试——缺陷(定义和标准)
    Flink—读Hive表数据写入Kafka
    域对象共享数据
    JavaScript DOM中获取元素、事件基础、操作元素、节点操作
    【自然语言处理(NLP)】基于Skip-gram实现Word2Vec
  • 原文地址:https://blog.csdn.net/zonghengzhikong/article/details/142142293