新闻中心

PRESS CENTER 纵横智控
你的位置: 首页 新闻 行业资讯
纵横智控

如何通过MQTT对接中移ONENET物联网平台-EG边缘计算网关

2024-08-13 11:20:36 阅读: 发布人:纵横智控

ONENET物联网平台是中国移动打造的物联网开放平台,可以让开发人员快速实现物联网设备的接入与管理,集合移动特色功能例如专网专号、移动短彩信、视频服务、位置服务、公有云等服务,实现海量设备接入、设备在线监控、数据存储、消息分发、事件告警、数据分析等功能。目前已被成功应用于多个领域,例如环境监控、智能家电、节能减排、车联网、工业控制等。


边缘计算网关是一种物联网中常用的设备,它是集成了边缘计算能力的网关,具有网络连接、数据采集与预处理、协议转换、逻辑编辑等功能。它处于物联网4层架构中的网络层,属于连接终端设备与云服务器的中间桥梁。纵横智控推出的EG系列边缘计算网关,不仅具有边缘计算网关的所有功能,而且支持的协议特别多,包含99%的PLC协议、行业协议、物联网协议等,可以非常轻松的对接各类设备与第三方云平台。不仅如此,它还能支持Node-RED可视化编程,极大地方便了对网关功能的二次开发。


通过将边缘计算网关与ONENET物联网平台对接,可完成数据上传、在线监控、事件预警、数据分析等可视化操作与管理。下面,我们以EG8200mini边缘计算网关来采集Modbus RTU数据,并通过MQTT协议连接到中移ONENET物联网平台,一起来看看实现过程吧。


要采集的Modbus点位表:


边缘计算网关/物联网平台/网关模块/纵横智控



实现步骤


1. 网关配置


第一步:采集Modbus从机的数据 

注意:Modbus RTU采集此处不做过多赘述,可参考串口读取Modbus传感器数据。默认已经采集到Modbus RTU数据。


第二步:拼接Json


参考ONENETonJson协议MQTT数据格式以及平台配置第二步的物模型设置。将网关配置第一步采集的数据JSON格式化。

上行Json示例:

{
	"id": "123",
	"version": "1.0",
	"params": {
		"Power": {
			"value": "on",
			"time": 1524448722123
		},
		"WF": {
			"value": 23.6,
			"time": 1524448722123
		}
	}
}



平台下行反馈Json示例:

{
	"id": "123",
	"code": 200,
	"msg": "xxxx"
}


边缘计算网关/物联网平台/网关模块/纵横智控

边缘计算网关/物联网平台/网关模块/纵横智控

边缘计算网关/物联网平台/网关模块/纵横智控

边缘计算网关/物联网平台/网关模块/纵横智控


边缘计算网关/物联网平台/网关模块/纵横智控


函数源码:

var RS485_RECV = msg.payload
var time = Date.now()


var pid = "31ACZV4snl"
var deviceName = "device001"
var topic = `$sys/${pid}/${deviceName}/thing/property/post`
msg.topic = topic
var mqttSend = {
	"id": "123",
	"version": "1.0",
	"params": {
		"DO1": {
			"value": RS485_RECV.MotorControl1 ? true : false,
			"time": time
		},
		"DO2": {
			"value": RS485_RECV.MotorControl2 ? true : false,
			"time": time
		},
		"frequency1": {
			"value": RS485_RECV.Requency1,
			"time": time
		},
		"frequency2": {
			"value": RS485_RECV.Requency2,
			"time": time
		}
	}
}

msg.payload = JSON.stringify(mqttSend)
return msg;


第三步:MQTT上报

使用MQTT发布节点,参考平台配置第四步的内容填写MQTT连接参数:

pid:产品ID

device-name:设备名称

设备属性上报Topic:$sys/{pid}/{device-name}/thing/property/post

上报响应订阅topic:$sys/{pid}/{device-name}/thing/property/post/reply



2. 平台配置

第一步:添加产品

进入ONENET物联网平台

产品开发->创建产品:

所属地址:自由选择

节点类型:网关设备

协议类型:MQTT

数据格式:oneJson

联网方式:自定义

开发方案:自定义方案

产品厂商:自定义

产品型号:自定义

品牌名称:自定义















第二步:添加物模型

产品开发->设置物模型->添加自定义模型:














第三步:添加设备

设备接入管理->设备管理->添加设备:

所属产品:选择第一步创建的产品

设备名称:自定义

设备描述:自定义














第四步:激活设备

参考文档MQTT设备连接


MQTT连接参数:


连接地址:mqtts.heclouds.com
端口:1883
clientId:设备名称
username:产品ID
password:计算后的token(参考下一步说明)



Token计算参考文档Token计算


res:products/31ACZV4snl                              (规则products/{产品ID})
et:1721859317                                        (失效时间)
key:awGbZ4HLsXkvaxOlixv/642tOZM3dXUzf+Xd6UnV098=     (产品key)


边缘计算网关/物联网平台/网关模块/纵横智控


根据上述步骤获取的连接参数:


地址:mqtts.heclouds.com
端口:1883
clientId:device001
username:31ACZV4snl
password:version=2018-10-31&res=products%2F31ACZV4snl&et=1721791062&method=md5&sign=iDH4WvVwIGlpRkFlBC1Eow%3D%3D


将MQTT连接参数配置到MQTT发布节点:













此时可以看到设备已经在线:


边缘计算网关/物联网平台/网关模块/纵横智控


第五步:数据展示

设备管理->详情->属性:


网关触发数据发送,可以看到ONENET物联网平台物模型数据更新:


边缘计算网关/物联网平台/网关模块/纵横智控


总结

本文介绍了一个相对复杂的流程,旨在表述网关所具备的能力,因此并未对程序的安全性、稳定性、灵活性等方面做优化。通过理解本流程,相信你已经对网关的可视化编程有了一定的熟悉。接下来,深入学习每个节点的功能用法吧,掌握它们将会为你制作更复杂的流程提供更多的选择和可能!

热门产品