变电站油水混合物及外排水质MQTT应用案例

描述

 

一、项目介绍

随着中国经济的持续快速发展,城市进程和工业化进程的不断增加,环境污染日益严重,国家对环保的重视程度也越来越高。近年来,由于国家加大了环保基础设施的建设投资,有力拉动了相关产业的市场需求,环保产业总体规模迅速扩大,产业水平明显提升

为了响应国家环境保护的需求号召,上海博取仪器有限公司研发了一款能够实时监测水质的变化情况的水质监测仪,能够监测包括氨氮、总磷、总氮、PH、溶解氧、电导率等多种水质参数,并且支持将水质检测数据上报至华为ROMA平台,搭建了一套针对于变电站油水混合物及外派水质监测解决方案

二、项目痛点和问题

1. 水质检测主机目前仅支持现场查看水质数据,无法实现远程数据监测,人员必须到现场才能了解水质情况,导致运维服务成本高,人工成本大,急需对接一款边缘计算网关,能够实现远程数据监测和上报。

2. 项目要求将检测水质监测数据对接至国网湖北电科院所使用的华为ROMA平台,通过MQTT协议进行数据上报,经过沟通后,发现ROMA平台所需要的数据格式特定格式,比较复杂,市场上其他厂家网关无法满足ROMA平台的要求。

3. 由于研发企业对平台技术并不了解,对接ROMA平台有很大的困难,进行因此希望网关厂商能够提供专业的对接方案,希望能够在短时间内实现数据对接。

三、方案总体设计

了解项目需求后,我们推荐使用蓝蜂LF220网关,与水质检测主机进行设备对接,实现远程数据监测和上报。

MQTT

蓝蜂LF220网关作为一款支持MQTT协议的边缘计算网关,南向支持Modbus协议和其他多种PLC,北向支持MQTT协议,可将采集到的水质监测数据转换为MQTT协议,上报给云平台,可通过脚本功能控制数据上报格式,满足复杂的数据上报要求

平台对接方面,通过查看ROMA平台相关文档和说明,与项目人员沟通后,我方制定了针对于ROMA平台的上报数据协议格式,能够在短时间内实现低成本高效率的数据对接

四、详细方案说明

MQTT

(系统架构图)

4.1 硬件部署

1. 水质分析主机控制柜中安装蓝蜂网关,使用4G卡进行联网通信

2. 蓝蜂网关使用RS485端口与水质分析主机进行连接,通过Modbus协议与设备进行通讯,通过客户提供的点位表设置对应变量,实现边缘侧采集数据。

3. 网关上电后,网关通过MQTT协议将采集到的数据通过4G卡上报至华为ROMA平台,实现远程数据监测和上报

4.2对接华为ROMA平台

1. 我方与ROMA平台方约定好MQTT服务器的对接的服务器地址,账号,用户名密码,以及报文传输协议,经过测试,顺利通过MQTT协议进行数据上报

3.我方提供蓝蜂MQTT网关配置工具,通过蓝蜂MQTT配置工具,能够快速调试网关的相关MQTT参数,包括服务器用户名,地址,账号,上报数据主题,可支持远程方式进行参数的配置和调试。

MQTT

4.3 配置驱动和变量点位

4.3.1 通过Modbus协议对接水质检测主机

水质分析仪支持Modbus协议,蓝蜂网关使用RS485端口与水质分析主机进行连接,通过Modbus协议与设备进行通讯

通过蓝蜂MQTT网关配置工具,进行驱动配置,可创建Modbus协议驱动,选择RS485通讯口进行配置,连接至水质检测主机。

MQTT

 

4.3.2 配置变量

根据项目需求,需要通过网关采集如下数据包括:COD、氨氮、总磷、总氮、PH、溶解氧、电导率、浊度、温度、空调温度、空调湿度、液位等参数

根据客户提供的监测水质的点位表,在蓝蜂MQTT网关配置工具中点击变量管理功能,通过配置对应的变量,用于网关进行数据的采集和上报

MQTT

 

添加变量功能中,允许用户根据点位表,自行定义寄存器类型,数据类型,小数位数,读写类型

MQTT

4.4 数据上报

4.4.1 约定数据上报格式

根据与平台方的沟通,平台方提供了MQTT协议通信规范,要求按通信协议规范规定的主题和数据格式进行数值上报

主题Topic

Topic/v1/devices/{gatewayId}/datas
消息发送方边设备
消息接收方物联网平台

参数说明

字段名必选/可选类型参数描述
devices必选DeviceS[]设备数据。

DeviceS结构体说明

字段名必选/可选类型参数描述
deviceId必选String(256)平台生成的设备唯一标识,对应设备客户端ID。
services必选List服务列表。

Services结构体说明

字段名必选/可选类型参数描述
serviceId必选String(256)服务ID。
data必选ObjectNode服务数据。
eventTime必选String(256)时间格式:yyyyMMdd’T’HHmmss’Z’ 如: 20151212T121212Z。

 

JSON格式示例

{

       "devices": [{

              "deviceId": "D68NZxB4",

              "services": [{

                     "data": {

                            "key": "value"

                     },

                     "eventTime": "20191023T173625Z",

                     "serviceId": "serviceName"

              }]

       }]

}

  1. 配置数据上报主题

通过蓝蜂MQTT配置工具,可根据需要进行配置上报主题和上报数据内容,按照平台方要求的数据格式,可使用脚本代码编写上报数据业务逻辑,匹配平台方通信协议格式

MQTT

 

为了匹配平台方上报数据需求,做出如下配置:

  1. 主题内容:/v1/devices/${sn}/datas
  2. 上报方式:选择定时上报,时间间隔为30秒
  3. 选择自定义脚本加工方式,匹配数据上报格式

4.4.3 编写脚本匹配上报数据格式要求

按照平台方要求的数据格式,编写对应脚本,将采集到的数据转换为对应的JSON格式进行数据上报,脚本代码如下:

function reportToJson(signalArray, system){

  var data = {}

  for(var i=0; i

    var signal = signalArray[i];

    data[signal.key] = signal.value

  }

  var dateStr = new Date().toISOString()

  dateStr = dateStr.replace(/-/g, "")

  dateStr = dateStr.replace(/:/g, "")

  dateStr = dateStr.substr(0,15) + 'Z'

  var json ={

    devices: [{

      deviceId: system.deviceId,

      services: [{

        data: data,

        eventTime: dateStr,

        serviceId: system.serviceId

      }]

    }]

  }

  return JSON.stringify(json);

}

 

4.4.4 查看上报结果

通过第三方工具,订阅数据上报的主题,可以看到网关已经将采集到的数据按照通信协议格式上报给ROMA云平台了

MQTT

五、方案总结

5.1方案优势

  1. 蓝蜂LF220为边缘侧计算网关,相比传统的透传网关,能够实现自主采集,自主上报,数据格式自动转换,相比市场上其他网关,能够完全满足数据远程监控的需求。
  2. 通过蓝蜂MQTT网关脚本加工功能,能够对接ROMA平台的MQTT通信协议,将复杂的数据上报格式
  3. LF220网关性能稳定,功能强大,客户端软件操作简单容易上手,方便操作人员无需花费过多时间,即可使用熟练,提升工作效率

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分