System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及物联网通信,尤其涉及一种数据转换方法和装置、电子设备及计算机可读存储介质。
技术介绍
1、随着工业物联网通信技术的快速发展和广泛的应用,消息队列遥测传输(messagequeuing telemetry transport;以下简称:mqtt)技术越来越多地应用到能耗数据采集、工业生产线控制及多站点远距离通信等领域。
2、mqtt数据采集网关通过下行接口和协议获取数据采集模块、计量仪表、传感器、控制模块和机组等设备的数据,并将数据通过上行接口、mqtt协议及json格式上报至mqttbroker(即,mqtt服务器)。用户则可以通过订阅网关上报的数据消息报文,并解析订阅到的数据消息报文,从而获取并使用mqtt数据采集网关所采集到的数据。
3、但是,mqtt数据采集网关的数据消息报文并非固定统一格式,众多的mqtt数据采集网关生产厂家均采用各自的报文格式。当用户需要从使用不同生产厂家的设备提供的mqtt数据时,需要针对不同的报文格式进行单独的适配开发。modbus协议是一种广泛应用于工业场景的通用协议,其有固定的数据通信模式和消息帧结构定义,不因设备生产厂家不同而改变,具有更好的数据通用性。因此,需要一种能够将mqtt数据转换为modbus数据的方案。
技术实现思路
1、本申请实施例提供一种数据转换方法和装置、电子设备及计算机可读存储介质,以解决现有技术中需要在采集不同生产商的多个设备的数据时格式不统一的缺陷。
2、为达到上述技术目的,本
3、获取用户针对目标mqtt网关的消息订阅指令,其中,所述消息订阅指令中至少包括所述目标mqtt网关的主题信息,以及所述目标mqtt网关所连接的mqtt服务器的地址信息和端口信息;
4、根据所述mqtt服务器的地址信息和端口信息,以及所述用户的登录信息,生成所述用户的mqtt客户端,以访问所述mqtt服务器;
5、根据所述目标mqtt的主题信息,使用所述mqtt客户端向所述mqtt服务器发送消息订阅请求;
6、接收到所述mqtt服务器返回的mqtt订阅消息报文后,根据预配置的参数解析所述mqtt订阅消息报文,以获取第一数据集;
7、将所述第一数据集中的每个第一数据按照与所述第一数据集对应的存储地址发送至modbus寄存器。
8、本申请的另一实施例提出了一种数据转换装置,包括:
9、获取模块,用于获取用户针对目标mqtt网关的消息订阅指令,其中,所述消息订阅指令中至少包括所述目标mqtt网关的主题信息,以及所述目标mqtt网关所连接的mqtt服务器的地址信息和端口信息;
10、客户端生成模块,用于根据所述mqtt服务器的地址信息和端口信息,以及所述用户的登录信息,生成所述用户的虚拟mqtt客户端,以访问所述mqtt服务器;
11、订阅模块,用于根据所述目标mqtt的主题信息,使用所述mqtt客户端向所述mqtt服务器发送消息订阅请求;
12、解析模块,用于接收到所述mqtt服务器返回的mqtt订阅消息报文后,根据预配置的参数解析所述mqtt订阅消息报文,以获取第一数据集;
13、发送模块,用于将所述第一数据集中的每个第一数据按照与所述第一数据集对应的存储地址发送至所述modbus寄存器。
14、本申请实施例还提供了一种电子设备,包括:
15、存储器,用于存储程序;
16、处理器,用于运行所述存储器中存储的所述程序,以执行根据本申请实施例的数据转换方法。
17、本申请实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本申请实施例提供的数据转换方法。
18、根据本申请实施例的数据转换方法和装置、电子设备及计算机可读存储介质,通过获取用户针对目标mqtt网关的消息订阅指令,根据订阅指令中的mqtt服务器的地址信息和端口信息,以及用户的登录信息,生成用户的mqtt客户端,以访问mqtt服务器;根据目标mqtt的主题信息,使用mqtt客户端向mqtt服务器发送消息订阅请求;接收mqtt服务器返回的mqtt订阅消息报文,并根据预配置的参数解析mqtt订阅消息报文,以获取第一数据集;将第一数据集中的每个第一数据按照与第一数据集对应的存储地址发送至modbus寄存器。因此,根据本申请实施例的数据转换方法,能够通过获取用户针对目标设备网关的消息订阅指令来生成虚拟的客户端,从而可以自动地从对应的目标设备服务器订阅消息报文,并且将获取到的报文进行解析以整理为符合modbus存储要求的数据集,并从而将其发送给modbus寄存器中对应的存储地址进行存储,从而用户在面对多种不同格式的mqtt设备的数据采集时,无需专门开发不同的适配设备,从而大大节省了物联网的建设成本,提高了数据的采集效率。
19、上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
本文档来自技高网...【技术保护点】
1.一种数据转换方法,其特征在于,包括:
2.根据权利要求1所述的数据转换方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的数据转换方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的数据转换方法,其特征在于,所述第二转换数据是对于所述第二数据集中的各第二数据进行16位或32位的证书转换而获得的。
5.根据权利要求1所述的数据转换方法,其特征在于,所述接收到所述MQTT服务器返回的MQTT订阅消息报文后,根据预配置的参数解析所述MQTT订阅消息报文之后,所述方法还包括:
6.一种数据转换装置,其特征在于,包括:
7.根据权利要求6所述的数据转换装置,其特征在于,所述获取模块还用于:
8.根据权利要求6所述的数据转换装置,其特征在于,所述解析模块还用于:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至5任一所述的数据转换方法。
【技术特征摘要】
1.一种数据转换方法,其特征在于,包括:
2.根据权利要求1所述的数据转换方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的数据转换方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的数据转换方法,其特征在于,所述第二转换数据是对于所述第二数据集中的各第二数据进行16位或32位的证书转换而获得的。
5.根据权利要求1所述的数据转换方法,其特征在于,所述接收到所述mqtt服务器返回的mqtt订阅消息报文后,根据预配置的...
【专利技术属性】
技术研发人员:韦小平,徐亮,高航,
申请(专利权)人:西安西科节能技术服务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。