基于网关的设备通信方法与流程

文档序号:23230193发布日期:2020-12-08 15:18阅读:113来源:国知局
基于网关的设备通信方法与流程
本发明涉及物联网网关领域,尤其涉及一种基于网关的设备通信方法。
背景技术
:随着生活水平的发展和信息科学技术的提高,人们对于物联网网关的使用要求也逐渐提高。物联网网关的主要功能是连接各种传感器设备,通过协议解析数据,进行数据传输。各种传感器设备之间可能使用不同的通讯协议,例如rs232协议,rs485/422协议,ip协议,还有can等各种总线协议。不仅不同传感器设备厂家之间的设备通讯协议不尽相同,相同厂家的设备通讯协议也不一定相同。当前市面上的网关存在着不同通讯协议之间无法互联互通的问题,或者只兼容了几项特定厂家设备的通讯协议,扩展性和通用性较差,在首次连接新设备时需要网关厂家对新接入设备的通讯协议进行数据填写后再升级到网关设备当中,效率较低且限制了网关的使用。为了满足设备厂家平时的工作效率需求和对网关的多协议传输需求,使网关能兼容多协议多设备是业界亟待解决的技术问题。技术实现要素:为了解决现有技术中网关无法兼容多协议多设备的技术问题,本发明提出了基于网关的设备通信方法。本发明提出的基于网关的设备通信方法,包括以下步骤:根据各协议编写每个协议对应的协议函数,并制定包含多个关键字的协议模板;设备厂家填写所述协议模板中所有关键字对应的内容;网关根据所述关键字对应的内容调用对应的协议函数;通过所述协议函数与对应的设备进行通信。所述协议函数包括至少一个函数接口,所述函数接口以协议模板中某一关键字对应的内容作为输入,所述网关通过所述函数接口来获取对应设备的对应响应。所述函数接口包括用于查询温度的函数接口、用于设置时间的函数接口、向所述设备发送数据的函数接口、接收所述设备数据的函数接口当中的任意一种。所述协议包括modbus协议。所述协议模板的关键字包括协议格式、起始标识符、设备地址、命令码、寄存器地址、寄存器数值、校验码、结束标识符。当所述协议为modbus时,所述协议模板的关键字包括协议格式、起始标识符、设备地址、命令码、寄存器地址、寄存器数值、校验码、结束标识符。所述协议模板通过c/s架构或者b/s架构的形式提供给设备厂家填写,并将填写的内容传输至所述网关;所述c/s架构为客户端/服务器架构,所述设备厂家通过所述客户端对所述协议模板进行内容填写,所述客户端完成与所述设备厂家之间的信息交互,所填写内容通过所述客户端传输至所述网关中;所述b/s架构为浏览器/服务器架构,所述设备厂家通过所述浏览器对所述协议模板进行内容填写,所述浏览器完成与所述设备厂家之间的信息交互,所填写内容通过所述浏览器传输至所述网关中。所述设备为传感器设备。当所述校验码无法识别时,网关将提示协议模板内容填写错误;当所述校验码正确识别时,则读取结束标识符。所述关键字中当协议类型无效时,提示协议模板填写错误;当协议类型为有效数据时,则调用相关协议函数。本发明与现有技术相比,具有以下优点及特点:本发明可以兼容多种类型的网关通讯协议和多种传感器设备。通过自定义协议格式,在连接新设备时可以自动生成新设备对应的网关通讯协议,无需经过网关厂家对网关通讯协议的填写与升级。附图说明下面结合实施例和附图对本发明进行详细说明,其中:图1为本发明的具体实施流程图。具体实施方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。下面结合附图以及实施例对本发明的原理进行详细说明。如图1所示,本发明为基于网关的设备通信方法,包括以下步骤:s1、根据各协议编写每个协议对应的协议函数,并制定包含多个关键字的协议模板;s2、设备厂家填写所述协议模板中所有关键字对应的内容;s3、网关根据所述关键字对应的内容调用对应的协议函数;s4、通过所述协议函数与对应的设备进行通信。协议函数包括至少一个函数接口,函数接口以协议模板中某一关键字对应的内容作为输入,网关通过函数接口来获取对应设备的对应响应。网关中的协议函数包括modbua协议、yd1363协议、电总协议等协议函数。函数接口包括用于查询温度的函数接口,用于设置时间的函数接口,向设备发送数据的函数接口,接收设备数据的函数接口。当协议函数为电总协议函数时,函数接口为另外一种。其中,协议模板中的关键字包括起始标识符、协议类型、设备地址、命令码、寄存器地址、寄存器数值、校验码、备注、结束标识符。起始标识符使网关对协议模板中的关键字对应的内容执行读取指令;协议类型用于网关识别协议模板中填写的内容属于何种协议,据此判断调用哪个函数;设备地址用于网关识别传感器设备,每台传感器设备的设备地址都是唯一的,网关可通过识别设备地址对传感器设备进行识别,设备地址为网关识别传感器设备的唯一标识;命令码用于识别网关设备将要对传感器设备执行的操作指令;寄存器地址用于识别传感器设备中寄存器的数据存储地址;寄存器数值用于识别所要读取的寄存器数量和寄存器数据;校验码用于数据校验,校验数据是否完整及是否有错误,网关计算校验码并与传感器设备中的校验码进行匹配,当校验码错误时,提示协议模板数据输入错误;备注用于使网关读取设备厂家备注的信息;结束标识符使网关执行结束读取指令。以下表中的填写的modbus协议模板为例,协议格式起始标识符设备地址命令码寄存器地址寄存器数值校验码结束标识符备注modbus020300050002crc设备厂家将协议模板填写完整后,将协议模板下载至网关,网关获取协议模板中的关键字,当协议类型匹配不成功时提示协议模板填写错误,当协议类型匹配成功时识别为modbus协议。网关依次输入起始标识符、设备地址02、命令码03、寄存器地址0005、寄存器数值0002、crc校验码、结束标识符、备注;其中设备地址02代表与网关连接的传感器设备在总线上的唯一地址为02;命令码03代表传感器设备执行的是读取数据的指令;寄存器地址0005代表的是网关从地址为5的寄存器开始读取数据;寄存器数值0002代表网关依次读取2个寄存器中的数据,即寄存器地址为5和6的寄存器里的数据;通过crc校验码可判断数据是否为有效数据,当crc校验码无效或错误时发出错误提示,将协议模板退回至设备厂家重新填写,直至crc校验码校验无误后进入下一步骤,网关调用modbus协议函数并通过modbus协议函数与传感器设备进行通讯;备注为空白,代表无需输入该关键字对应的内容。modbus协议函数举例如下:输入:modbus(intmark,intaddr,intcommand,intdataaddr,intnumber,intcheck,intend,intother);其中,函数参数含义如下:mark为关键字中的起始标识符,addr为设备地址,command为命令码,dataaddr为寄存器地址,number为寄存器数值,check为校验码,end为结束标识符,other为备注;输出:modbus(intaddr,intcommand,intnumber,intdata,intcheck);其中,函数参数含义如下:addr为设备地址,command为命令码,number为寄存器数值,data为关键字对应的内容,check为校验码。协议模板中所要填写的关键字内容可根据实际情况对关键字列进行添加,协议模板可使用c/s架构或b/s架构进行关键字内容填写;c/s架构为客户端/服务器架构,设备厂家通过客户端对协议模板进行内容填写,客户端完成与设备厂家之间的信息交互,所填写内容通过客户端传输至网关中;b/s架构为浏览器/服务器架构,设备厂家通过浏览器对协议模板进行内容填写,浏览器完成与设备厂家之间的信息交互,所填写内容通过浏览器传输至网关中。网关可根据实际应用情况添加相关协议函数。协议函数中可以包括其他特殊协议函数。当协议函数为特殊协议函数时,以modbus协议函数为例,需要对协议函数和协议模板进行完善。首先在协议模板中添加相关协议类型关键字,例如modbus1、modbus2,对协议类型进行补充后,再增加其后的关键字。对协议模板进行完善和补充后,需要对网关中的协议函数进行关键字的同步。其后需要对函数接口进行添加或更改。不同的协议类型,其关键字会不一样,协议函数会不一样,函数接口也会不一样。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1