空调接入云端的协议转换方法、系统及空调系统与流程

文档序号:16930103发布日期:2019-02-22 20:11阅读:332来源:国知局
空调接入云端的协议转换方法、系统及空调系统与流程

本发明涉及通信技术领域,具体涉及一种空调接入云端的协议转换方法、系统和空调系统。



背景技术:

随着网络及大数据的盛行,空调行业的智能化也逐渐发展起来。空调的智能化离不开与云端的交互。一个中央空调系统通常包括多个子系统,每个子系统都包括多台室外机和多台室内机,云端处理器可以对整个中央空调系统进行集中控制和管理,相当于智能化空调系统的上位机。

中央空调系统的空调数据并不能被云端服务器(webserver)直接利用,这就势必需要把空调的协议用相关协议转换器(下位机)转换成网络协议,云服务(webserver)再解析网络协议,最终获取到空调的相关信息。协议的制定、转换及耦合程度,会涉及到传输效率的高低,及后期维护和升级的便利程度,对软件开发提出了很高的要求。

现有技术中,云端服务器对空调协议数据的处理是通过如下的方式来实现的。空调无法直接接入云端,需要通过协议转换器(下位机),把空调私有协议转换成tcp/ip私有协议或标准的modbustcp等接入云端。考虑到空调数据量较大,为了提高传输速率及节省mcu内存空间,下位机接入云端的协议都是一个字节的8位数据,每一位分别代表不同的内容并且涉及到位操作。云端服务程序(上位机)一般是webserver,上位机想获取空调的相关信息,需要解析每一个字节的每一位,同时进行位操作。现有技术中,约80%的云端服务器是由主流的java语言开发设计。

现有技术中空调协议的解析方法,存在通信效率低、数据解析效率低的问题。为了提高云端数据的处理效率,现有技术中公开了空调协议的转换方法。例如,申请号为201710103549.7的专利,公开了一种协议转换方法、装置和空调系统。采用类似以上专利公开的协议转换方法,可以将空调系统的信息转换成网络协议数据,传输到互联网端,但并没有实质解决云端数据解析效率低的问题。



技术实现要素:

为了解决上述技术问题,本发明提供了一种数据访问效率高的空调接入云端的协议转换方法、协议转换系统及空调系统。

为了实现上述目的,本发明采用的技术方案为:

空调接入云端的协议转换方法,包括:

一次数据封装:云端服务器获取空调系统数据帧,按空调子系统对对数据帧进行一次封装,一次封装数据帧包括空调系统的私有属性和调用私有属性的公开方法;

调用一次封装数据,获取空调私有属性。

作为优选:私有属性包括室外机参数和/或室内机参数,所述方法进一步包括:

对一次封装后的数据帧中的室外机参数和/或室内机参数的私有属性数据进行二次封装,二次封装数据帧包括室外机参数属性和/或室内机参数属性和调用属性的方法;

调用二次封装数据,获取空调的室外机参数和/或室内机参数

作为优选:空调系统数据帧经协议转换后,上传到云端服务器。

作为优选:空调系统包括多个空调子系统,每个空调子系统包括至少一台室外机和至少一台室内机,所述方法进一步包括:

按空调子系统轮巡调用一次封装数据,并按轮巡调用该空调子系统的二次封装数据;

当一个空调子系统数据调用结束后,调用下一个空调子系统的一次封装数据及其二次封装数据。

作为优选:采用jni协议进行数据封装,通过jni公开方法经jni接口调用一次封装数据和二次封装数据。

云端协议转换系统,包括:

数据接收单元:用于获取空调系统上传的数据帧;

一次数据封装单元:用于对上传到云端服务器的空调数据帧进行一次封装;

数据调用单元:用于调用一次数据封装单元一次封装后的数据。

作为优选:所述系统进一步包括:

二次数据封装单元:用于对空调系统数据帧中的空调室外机参数和/或室内机参数进行二次封装,所述数据调用单元进一步调用二次数据封装单元二次封装后的数据。

作为优选:一次数据封装单元采用jni技术进行数据封装,上述数据调用单元被配置为通过jni接口调用一次封装数据。

作为优选:上述二次数据封装单元采用jni技术进行数据封装后,上述数据调用单元被配置为通过jni接口调用二次封装数据。

一种空调系统,包括上述的的云端协议转换系统。

作为优选:空调系统进一步包括协议转换器,所述空调系统数据上传至协议转换器,经协议转换后的数据进一步上传至云端服务器。协议转换系统被配置在云端服务器。

与现有技术相比,本发明的优点和积极效果在于:

本发明提供的协议转换方式,可提供云端空调智能控制系统的数据通信效率。以基于java的云端服务器配置为例,本发明在协议转换器(下位机)和云端服务webserver(上位机)之间,增加一层(中间层)协议转换,利用jni(javanativeinterface)技术,把下位机上传的复杂的空调信息,转换成java语言通用的属性和方法,以方便webserver进行解析,后期维护和升级只对中间层协议进行操作即可,大大提高了通讯效率及后期的维护和升级成本。

附图说明

图1为空调协议参数封装结构示意图;

图2a为室外机参数协议封装示意图;

图2b为室内机参数协议封装示意图;

图3为云端服务器调用封装数据方法流程图;

图4为空调接入云端网络拓扑结构示意图。

其中,1-云端服务器,2-协议转换器,3-0号空调系统,4-n号空调系统,5-室外机组,6-室内机组。

具体实施方式

以下,结合附图对本发明的具体实施方式进行进一步的描述。

本发明提供了一种空调接入云端的协议转换方法,该方法适用于云端服务器对空调系统,尤其是中央空调系统的控制。

首先介绍空调系统接入云端系统的组成和数据属性。空调接入云端网络拓扑结构如图4所示,包括空调子系统和云端服务器1,并可进一步包括协议转换器2。中央空调系统通常包括多个子系统,子系统的数量视中央空调系统的具体应用场景而定,最多可配置为64个。每个中央空调子系统被配置独有的系统编号,例如,0号空调系统3,1号空调系统……n号空调系统4,每个空调子系统包括室外机组5和室内几组6,室外几组包括了至少一台室外机,室内机组包括至少一台室内机,室内机数量最多为64个室内机。

而以上中央空调系统的配置信息均是可以通过空调系统上传的数据来表现的。中央空调系统上传的整帧数据为一个多字节数据,每个字节为一个多位数据,这些数据包括但不限于空调的系统号(对应空调子系统)、子系统对应的室外机的数量、子系统对应的室内机数量,室外机参数以及室内机参数。其中,空调室外机参数进一步包括室外机地址、空调的运转模式、排气压力、排气温度等属性参数;室内机参数进一步包括室内机地址、膨胀阀开度、回风温度、液管温度等属性参数。以空调协议数据帧中的一个字节的数据为例,参见下表1。

表1:空调协议格式

表1以一个空调室内机的参数数据为例,来说明空调系统上传的数据格式。空调室内机参数数据为一个8位数据,每一位都代表了不同的信息。例如:bit0代表了室内机的运转状态,bit2-bit6代表了室内机的运转模式。一个空调子系统的协议数据帧中包括了n台空调室内机的参数数据以及室外机参数数据,同时还包括该空调子系统的配置数据,以上所有数据,都是以类似表1中的数据格式来表示,只是每一位代表的数据含义不同。

云端空调系统的云端服务器1,用于对整个空调系统进行控制。云端服务器1获取空调系统的数据,相当于智能化系统的上位机。空调系统和云端服务器1之间通过网络总线进行数据传输,空调私有协议和云端服务器1之间需要进行数据协议转换才可以完成数据识别。传统的云端服务器1进行协议解析时,需要识别第n字节的每一位,以表1数据为例,bit0为运转状态,bit2-bit6为运转模式,并且空调的所有信息都是以这种格式进行传输的,对于云端服务器的开发者,尤其是java开发者来说,解析每个字节的每一位繁琐而且复杂,开发效率低,并且不利于升级和维护。

本发明提供的空调接入云端的协议转换方法,被配置在云端服务器端1,在云端服务器1配置了中间协议转换层,用于对空调协议数据进行数据处理,以转换为云端服务器1可以识别和处理的数据。

空调接入云端的协议转换方法具体包括以下步骤:

一次数据封装:云端服务器获取空调系统数据帧,按空调子系统对数据帧进行一次封装,一次封装数据帧包括空调系统的私有属性和调用私有属性的公开方法;

调用一次封装数据,获取空调私有属性。

空调系统数据帧首先上传至协议转换器,经协议转换后,上传到云端服务器。参考图1,为一次数据封装结构示意图。云端服务器获取到空调系统上传的整帧数据后,按空调子系统对数据进行一次数据封装。例如,如果包括四个空调子系统,则分别对每个空调子系统的数据进行一次封装。一次封装数据帧包括空调系统的私有属性和调用私有属性的公开方法,其中,私有属性包括子系统的属性,具体包括:系统号、室外机数量、室内机数量、室外机参数和室内机参数。对于某个空调接入云端系统,其系统号是设定好的,例如,有四个空调子系统,可以分别设定为0~3号空调子系统;空调子系统配置一旦设定好,其中的室外机数量、室内机数量也是设定好的,具体不同的是每台室外机的参数和每台室内机的参数。其中,公开方法为封装数据的调用方法,与云端服务器的语言配置相关。例如,本实施例中,云端服务器是基于java的,一次数据封装过程中,通过数据位操作将数据转换为java的属性和方法。

由于空调子系统的室外机数量和室内机数量较多,一次数据封装后,进一步对一次封装后的数据帧中的室外机参数和/或室内机参数的私有属性数据进行二次封装,二次封装数据帧包括室外机参数属性和/或室内机参数属性和调用属性的方法。本实施例中,将对室外机参数和室内机参数均进行二次封装。进而,云端服务器进一步可以调用二次封装数据,获取空调的室外机参数和室内机参数。

二次数据协议封装的示意图参考图2。可以,室外机参数的私有属性包括了室外机地址、运行模式等,室内机参数的私有属性包括内机地址、回风温度等。

采用轮巡的方式完成以上数据封装。按空调子系统轮巡调用一次封装数据,并按轮巡调用该空调子系统的二次封装数据;当一个空调子系统数据调用结束后,调用下一个空调子系统的一次封装数据及其二次封装数据。也就是说,首先先进行第0个空调子系统的一次数据封装,该过程中,轮巡封装第0个空调子系统的室外机私有属性数据,并轮巡封装第0个空调子系统的室内机私有属性数据。当第0个空调子系统的数据封装结束后,再处理第1个空调子系统的空调协议数据。

由于本实施例中云端服务器是基于java的云端服务器,因此,上述一次数据封装和二次数据封装均采用jni协议进行数据封装,通过jni公开方法经jni接口调用一次封装数据和二次封装数据。

具体流程参考图3。云端服务器在进行一次封装数据或二次封装数据的调用时,首先调用jni接口,基于公开的封装数据调用方法,获取接口数据。云端服务器将逐次调用空调系统的数据,并缓存在服务器系统中。

本发明进一步提供一种云端协议转换系统,该协议转换系统被配置在云端服务器端,包括:

数据接收单元:用于获取空调系统上传的数据帧;

一次数据封装单元:用于对上传到云端服务器的空调数据帧进行一次封装;具体是按空调子系统进行一次数据封装;

二次数据封装单元:用于对空调系统数据帧中的空调室外机参数和/或室内机参数进行二次封装;

数据调用单元:用于调用一次数据封装单元一次封装后的数据。数据调用单元进一步调用二次数据封装单元二次封装后的数据。

一次数据封和二次数据封装将广域网传送来的空调数据帧按重新定义云端服务器可接受的数据格式打包封装,按空调子系统存储以上数据,云端服务器可直接调用打包封装后的数据。

其中,云端服务器是基于java的服务器,一次数据封装单元采用jni技术进行数据封装,上述数据调用单元被配置为通过jni接口调用一次封装数据。同时,上述二次数据封装单元采用jni技术进行数据封装后,上述数据调用单元被配置为通过jni接口调用二次封装数据。本发明进一步提供一种空调系统,包括上述的的云端协议转换系统。空调系统的结构参考图4。

空调系统包括空调机组、协议转换器和云端服务器,其中空调机组包括多个空调子系统,每个空调子系统包括室外机及多个室内机。空调机组协议是基于hbs的私有协议,每个空调子系统数据上传至协议转换器,协议转换器将空调协议数据转换为网络协议在网上传输,云端服务器与协议转换器通信,最终通过广域网把转换后的协议传输到云端服务器。

协议转换系统被配置在云端服务器,云端服务器获取到数据包之后,调用jni提供的接口,把数据包转给中间层进行协议二次转换,中间层按网络协议进行解析,完成数据的一次封装和二次封装,重新定义数据结构打包。云端服务器按重新定义的属性和方法,获取空调的信息。云端服务器端可存储和查看空调协议数据,也可按基于以上数据,向空调系统下达控制指令。

采用本发明提供的空调接入云端的协议转换方法和系统,可以提高云端服务器获取空调数据的效率,有利于提高云端对空调系统的智能化管理。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1