物联网设备协议适配方法组成比例

技术编号:21308806 阅读:20 留言:0更新日期:2019-06-12 10:54
本发明专利技术涉及物联网领域,具体为物联网设备协议适配方法,包括以下步骤:对协议解析的框架进行抽象,在物联网系统与数据源之间设置一条数据通道,一条数据通道上绑定数据协议或传输协议;设计描述语言用于描述拟接入物理设备的未知协议,构造抽象语法树;制作目标语言的解析器,根据所构造的抽象语法树,使用解析器编译为目标语言;然后使用目标语言本身的编译器编译为可执行代码,并存储;接入所述拟接入物理设备时,在建立数据通道的时候动态加载进入物联网系统。该方法在物联网设备接入云平台的过程中,可以向云平台描述与设备通信的协议,简化了物联网系统对未知协议设备接入的流程,降低了接入的成本。

Protocol Adaptation Method for Internet of Things Equipment

The invention relates to the field of Internet of Things, in particular to the protocol adaptation method of Internet of Things equipment, including the following steps: abstracting the framework of protocol resolution, setting up a data channel between Internet of Things system and data source, binding data protocol or transmission protocol on a data channel; designing description language for describing unknown protocols to access physical devices, and constructing abstract grammar tree. Make the parser of the target language, compile the parser into the target language according to the abstract grammar tree constructed; then compile the executable code using the compiler of the target language itself and store it; when accessing the physical device, load it into the Internet of Things dynamically when establishing the data channel. In the process of Internet of Things equipment accessing cloud platform, this method can describe the protocol of communication with equipment to cloud platform, simplify the process of Internet of Things system accessing unknown protocol equipment, and reduce the cost of access.

【技术实现步骤摘要】
物联网设备协议适配方法
本专利技术涉及物联网领域,具体为在物联网设备接入云平台的过程中,多种设备的协议适配方法。
技术介绍
对于市面上的各种物联网设备,由于使用环境和厂商自身原因,无法达到协议的统一,以至于设备使用的协议五花八门。每当需要接入一种设备,就需要程序员针对此设备的协议进行一次编码,因此物联网系统对未知协议的设备接入繁琐,成本较高。而事实上,设备由于本身计算资源有限,不可能采用复杂的协议,所以程序员解析协议的时候,编码相对来说框架比较固定,基本上是针对比特流的读写判断。
技术实现思路
为了解决现有技术所存在的问题,本专利技术提供物联网设备协议适配方法,该方法在物联网设备接入云平台的过程中,对不同设备协议中变化的部分,设计对应的描述语言,从而可以向云平台描述与设备通信的协议,简化了物联网系统对未知协议设备接入的流程,降低了接入的成本。本专利技术所采用的技术方案如下:物联网设备协议适配方法,包括以下步骤:S1、对协议解析的框架进行抽象,在物联网系统与数据源之间设置一条数据通道,一条数据通道上绑定数据协议或传输协议;S2、设计描述语言DSL用于描述拟接入物理设备的未知协议,构造抽象语法树AST;S3、制作目标语言的解析器,根据所构造的抽象语法树AST,使用解析器编译为目标语言;然后使用目标语言本身的编译器编译为可执行代码,并存储;S4、接入所述拟接入物理设备时,在建立数据通道的时候动态加载进入物联网系统。与现有技术相比,本专利技术取得了如下的技术效果:本专利技术在物联网设备接入云平台的过程中,对不同设备的协议中变化的部分,设计一种对应的描述语言(DSL),使得使用者(厂商或者用户)可以向云平台描述与设备通信的协议;还具有直观的操作界面配合,使得用户可以在引导下,自行完成对协议的描述,交给系统进行编译加载。相比于现有技术,可以大大加快系统对未知协议设备接入的流程,并且不需要重新开发程序,降低了对未知协议设备接入的成本。附图说明图1是本专利技术传输协议解析的框架结构图;图2是本专利技术数据协议解析的框架结构图;图3是温湿度变送器的传输协议框架图;图4是温湿度变送器的数据协议框架图;图5是本专利技术抽象语法树的构造流程图;图6是本专利技术接入新设备的流程图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。本专利技术物联网设备协议适配方法主要包括步骤:抽象协议解析的框架、设计描述语言DSL的抽象语法树(AST)、制作目标语言的解析器。本实施例以一个“以太网型智能温湿度变送器”为例进行描述,具体实现过程如下:一、对协议解析的框架进行抽象。在物联网系统与数据源之间设置一条“数据通道”,一条“数据通道”上可以绑定一种协议;协议分为数据协议和传输协议。但事实上,数据协议和传输协议二者的分界线十分模糊,具体取决于建立数据通道的人的主观意识),类似于OSI七层模型。传输协议主要作用是码分复用,它将一条“数据通道”按照一个特殊位置的数据(id),分割成多条数据通道;类似tcp,将一个ip地址的数据,按照port分割成多条通道,其中port就是被tcp分割之后各个子通道的id。传输协议最关心的问题是,如何从数据中取出子通道的标识,也就是id,以及要传输给子通道的数据。传输协议解析的框架可基本抽象成如图1所示的结构。数据协议主要作用是描述实体对象,以面向对象的观点来看,一个实体对象由它的状态(属性)和它的动作(方法)构成。数据协议将数据流中的信息采集出来,将其转换为对应实体对象的状态数据;并将对实体对象发送控制数据抽象为一个个动作(方法)。数据协议解析的框架可基本抽象为图2所示结构。基于传输协议和数据协议本身的性质,可以得出:一条数据通道可以绑定一个传输协议,使它分叉出多条数据通道;一条数据通道可以绑定一个数据协议,使得它可以与系统之中的设备对应。对于这两种协议都有一个要求:在解析时必须可以明确描述清楚自己的数据区域,否则在粘包情况下将无法正常处理。以“以太网型智能温湿度变送器”该产品为例,它的协议如下表一:表一根据以上协议,读取ID为001的设备,为:EA9B000100020101。设备返回UDP数据包长度为固定13字节或19字节,例如ID为001的设备返回:EA9B0001000D01002902001D01002908001D02,如其意义下表二所示:表二返回的UDP数据包具体是13字节还是19字节,取决于设备型号;本实施例中以返回19字节的设备为例。设备信息为:EA9B000100020101,系统收到信息为:EA9B0001000D01002902001D01002908001D02。此设备的协议事实上是将传输协议和数据协议合并在一起了,根据本实施例中的描述我们可以采用如下划分方式:该设备的传输协议编码为表一所示,其中表格第2、3行是传输协议添加的部分,第4、5、6行是子通道需要被传输的数据。该设备的传输协议解码为表二所示,其中表格第2、3、4行是传输协议关心的部分,第4、5、6行是要发给子通道需要被传输的数据。该设备的数据协议解码为表三所示;两路传感器信息如表六的12字节数据所示,共有6个状态,表格中每一行为一个状态。ID为001的设备返回的信息为:EA9B0001000D01002902001D01002908001D02。其中前4字节为传输协议关心的部分,从第4字节起为传输协议的载荷,是传给数据协议解析的部分。表三从协议说明文档中得出此设备实体支持的动作有:读取温湿度。此动作不依赖于用户的输入,所以这是一个无参的动作。其转换为数据:00020101。二、针对步骤一中的抽象,设计了一种描述语言DSL作为机器(系统)和人类(用户)之间的中间语言,使用户可以相对简单的将这两种协议的描述表达出来,同时又可以方便翻译为通用机器语言。以上文温湿度变送器的协议为例,其传输协议部分如图3所示,其数据协议部分如图4所示。当系统需要接入未知协议的设备时,由用户在前端借助一个可视化页面引导,通过所设计的描述语言DSL描述该未知协议,即运用我们提供的组件构建出图示的树形图,构造抽象语法树AST。前端将所构造的抽象语法树发回后台,后台使用解析器编译为目标语言(设在系统之中的目标语言为java),此后就使用目标语言本身的编译器编译为可执行代码(在系统之中为.class),并存储,如图5所示。当用户想要接入使用上述协议的设备时,在建立数据通道的时候动态加载进入物联网系统,如图6所示。这样新的设备只要连接上分配出来的数据通道,即可连接上系统。上述实施例为本专利技术较佳的实施方式,但本专利技术的实施方式并不受上述实施例的限制,其他的任何未背离本专利技术的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.物联网设备协议适配方法,其特征在于,包括以下步骤:S1、对协议解析的框架进行抽象,在物联网系统与数据源之间设置一条数据通道,一条数据通道上绑定数据协议或传输协议;S2、设计描述语言DSL用于描述拟接入物理设备的未知协议,构造抽象语法树AST;S3、制作目标语言的解析器,根据所构造的抽象语法树AST,使用解析器编译为目标语言;然后使用目标语言本身的编译器编译为可执行代码,并存储;S4、接入所述拟接入物理设备时,在建立数据通道的时候动态加载进入物联网系统。

【技术特征摘要】
1.物联网设备协议适配方法,其特征在于,包括以下步骤:S1、对协议解析的框架进行抽象,在物联网系统与数据源之间设置一条数据通道,一条数据通道上绑定数据协议或传输协议;S2、设计描述语言DSL用于描述拟接入物理设备的未知协议,构造抽象语法树AST;S3、制作目标语言的解析器,根据所构造的抽象语法树AST,使用解析器编译为目标语言;然后使用目标语言本身的编译器编译为可执行代码,并存储;S4、接入所述拟接入...

【专利技术属性】
技术研发人员:伍和新魏远鹏陈思衡
申请(专利权)人:广州天源信息科技股份有限公司广州天源互联网科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1