随着中国经济的持续快速发展,城市进程和工业化进程的不断增加,环境污染日益严重,国家对环保的重视程度也越来越高。近年来,由于国家加大了环保基础设施的建设投资,有力拉动了相关产业的市场需求,环保产业总体规模迅速扩大,产业水平明显提升。
为了响应国家环境保护的需求号召,上海博取仪器有限公司研发了一款能够实时监测水质的变化情况的水质监测仪,能够监测包括氨氮、总磷、总氮、PH、溶解氧、电导率等多种水质参数,并且支持将水质检测数据上报至华为ROMA平台,搭建了一套针对于变电站油水混合物及外派水质监测解决方案
1. 水质检测主机目前仅支持现场查看水质数据,无法实现远程数据监测,人员必须到现场才能了解水质情况,导致运维服务成本高,人工成本大,急需对接一款边缘计算网关,能够实现远程数据监测和上报。
2. 项目要求将检测水质监测数据对接至国网湖北电科院所使用的华为ROMA平台,通过MQTT协议进行数据上报,经过沟通后,发现ROMA平台所需要的数据格式特定格式,比较复杂,市场上其他厂家网关无法满足ROMA平台的要求。
3. 由于研发企业对平台技术并不了解,对接ROMA平台有很大的困难,进行因此希望网关厂商能够提供专业的对接方案,希望能够在短时间内实现数据对接。
了解项目需求后,我们推荐使用蓝蜂LF220网关,与水质检测主机进行设备对接,实现远程数据监测和上报。
蓝蜂LF220网关作为一款支持MQTT协议的边缘计算网关,南向支持Modbus协议和其他多种PLC,北向支持MQTT协议,可将采集到的水质监测数据转换为MQTT协议,上报给云平台,可通过脚本功能控制数据上报格式,满足复杂的数据上报要求
平台对接方面,通过查看ROMA平台相关文档和说明,与项目人员沟通后,我方制定了针对于ROMA平台的上报数据协议格式,能够在短时间内实现低成本,高效率的数据对接
(系统架构图)
1. 水质分析主机控制柜中安装蓝蜂网关,使用4G卡进行联网通信
2. 蓝蜂网关使用RS485端口与水质分析主机进行连接,通过Modbus协议与设备进行通讯,通过客户提供的点位表设置对应变量,实现边缘侧采集数据。
3. 网关上电后,网关通过MQTT协议将采集到的数据通过4G卡上报至华为ROMA平台,实现远程数据监测和上报
1. 我方与ROMA平台方约定好MQTT服务器的对接的服务器地址,账号,用户名密码,以及报文传输协议,经过测试,顺利通过MQTT协议进行数据上报
3.我方提供蓝蜂MQTT网关配置工具,通过蓝蜂MQTT配置工具,能够快速调试网关的相关MQTT参数,包括服务器用户名,地址,账号,上报数据主题,可支持远程方式进行参数的配置和调试。
水质分析仪支持Modbus协议,蓝蜂网关使用RS485端口与水质分析主机进行连接,通过Modbus协议与设备进行通讯
通过蓝蜂MQTT网关配置工具,进行驱动配置,可创建Modbus协议驱动,选择RS485通讯口进行配置,连接至水质检测主机。
根据项目需求,需要通过网关采集如下数据包括:COD、氨氮、总磷、总氮、PH、溶解氧、电导率、浊度、温度、空调温度、空调湿度、液位等参数
根据客户提供的监测水质的点位表,在蓝蜂MQTT网关配置工具中点击变量管理功能,通过配置对应的变量,用于网关进行数据的采集和上报
添加变量功能中,允许用户根据点位表,自行定义寄存器类型,数据类型,小数位数,读写类型
根据与平台方的沟通,平台方提供了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"
}]
}]
}
通过蓝蜂MQTT配置工具,可根据需要进行配置上报主题和上报数据内容,按照平台方要求的数据格式,可使用脚本代码编写上报数据业务逻辑,匹配平台方通信协议格式
为了匹配平台方上报数据需求,做出如下配置:
按照平台方要求的数据格式,编写对应脚本,将采集到的数据转换为对应的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);
}
通过第三方工具,订阅数据上报的主题,可以看到网关已经将采集到的数据按照通信协议格式上报给ROMA云平台了
全部0条评论
快来发表一下你的评论吧 !