一种农业物联网智能网关设计方法与流程

文档序号:15170376发布日期:2018-08-14 17:54阅读:194来源:国知局
本发明涉及农业物联网领域,更具体地,涉及一种农业物联网智能网关设计方法。
背景技术
:物联网技术在农业中的研究引起了越来越多的学者关注,其中智能网关在农业物联网系统中一个较为关键技术,承担了数据的汇集、封装和传输,目前农业物联网智能网关数据封装标准和通信标准并不统一,对农业物联网智能网关的研究还非常少。智能网关指一种能够汇集、分析、封装、转发数据与信息的装备与技术。美国、日本在精准农业领域方面有了产业化应用,荷兰有较好的农业高效生产体系,韩国建有农业科技服务体系,促进了农业物联网技术的发展[。中国是一个农业大国,农业物联网也开始有了一定的发展,在环境监控、精准农业等方面有一定的应用,但在智能网关的研究还比较少。智能网关在智能家居、热力管网系统、水箱控制等领域有了一定的研究;有学者提出了农业物联网系统的设计方法,但是都没有提到智能网关的设计,有学者提出了于基于android系统的温室异构网络环境监测智能网关设计,初步实现了温室环境监测,但是未提出详细的农业数据封装标准;还有学者等设计了一种基于zigbee/3g的物联网网管系统,用于水箱温度的监控,但在应用方面有一定的局限性;还有学者提出一种基于wince系统的可配置无线传感网络wsn(wirelesssensornetwork)网关体系结构rega(re-configurablegatewayarchitecture),能实现现场可视化设备和监测综合管理,但其设计平台并不适用在其他linux等开源系统的应用。智能网关在农业物联网的研究中有一定进展,但也存在不足,主要体现在农业物联网涉及技术多,数据广,数据封装格式不一致,通信协议没有统一,大部分农业物联网系统采用自身定义的通信协议,智能网关缺少统一的通信标准,难以达到大面积推广农业物联网的技术要求,也不符合目前农业大数据和精准农业的发展要求。技术实现要素:本发明提供一种农业物联网智能网关设计方法,该方法可以简单快速地实现农业物联网系统的部署。为了达到上述技术效果,本发明的技术方案如下:一种农业物联网智能网关设计方法,过程如下:采用zigbee技术构建无线传感网络,网络划分为感知层,网络层,信息处理层,综合应用,通过在感知层设置的节点终端和协调器实现无线网络,并且设计通信协议完成数据的发送与处理,设计的通信协议包括应用层通信协议、串口通信协议和节点通信协议3层组成,应用层通信协议和串口通信协议通过网关服务程序进行转换,节点通信协议实现无线网络数据的封装:1)第一层应用层通信协议为应用程序与网关之间的通信协议;2)第二层串口通信协议为网关与协调器之间的通信协议;3)第三层节点通信协议为协调器与普通节点之间的通信协议。三层通信协议完成了农业物联网的数据采集、处理和发送控制,应用层、网关、协调器和节点之间的通信协议关系图如图1所示进一步地,所述应用层通信协议的设计过程如下:应用层通信协议详细命令格式如下表:标示sopcmdlendatafcs长度(bit)121n1其中sop为命令开始标示,取固定值为0x02;cmd为命令标示码,用于区别不同的命令,详细功能如下表:cmd发送数据响应状态响应数据取值0x29000x69000x6980数据流向终端->网关网关->终端网关->终端len:data的长度,其中len=0则没有data域;data数据格式为ep+app_msg,其中ep的长度1个字节,取固定值为0x02,其中app_msg为数据包节点通信协议;fcs为从cmd到data的异或和,应用层指令数据发送格式为数据发送1:发送数据:sop+cmd+len+ep+app_msg+fcs:命令发送成功后,网关返回2条消息,第1条信息为网关响应消息,其中包含响应状态ret,状态为0x00,则代表响应成功,为0x01则代表响应失败,响应成功后,网关返回第2条消息,消息内容为回复应用层发送的指令;数据响应1:sop+cmd+app_cmd+ret+fcs;数据响应2:sop+cmd+len+add+2bcmd+result+fcs;其中“2bcmd”发送与返回的值不同,其功能对应关系如下表:进一步地,所述串口通信协议的设计过程如下:网关服务程序接收到来自应用层的数据帧然后经过解析封装成串口协议数据,然后将串口协议数据通过串口发送给协调器,命令格式如下表:标示soplencmddatafcs长度(b)112n1其中sop设为0xfe;len:data的长度,cmd命令格式如下表:data数据格式为02+netadd+app_cmd+app_data,其中netadd为节点2字节网络地址,app_data为数据内容,其中app_cmd定义如下表:若协调器根据传感器节点mac地址查询网络地址(app_cmd为0101),则data域中na1na2为协调器节点的网络地址(0000),app_data为要查询的传感器节点的mac地址;若是指示协调器根据传感器节点的网络地址查询mac地址(app_cmd为0102),则data域中na1na2为协调器节点的网络地址(0000),app_data即为要查询的传感器节点的网络地址;若是指示协调器此数据要转发给传感器节点的应用程序(app_cmd为0000),则data域中na1na2为传感器节点的网络地址,app_data为要发送的数据,串口发送数据和接收数据的通信过程如下:1、串口数据发送,给mac地址的节点发送数据过程:1)通过mac地址查询网路地址,发送1条指令,响应2条指令,其中发送的指令为数据发送2格式,用于查询网络地址,数据响应3是发送成功返回指令,数据响应4返回网络地址;数据发送2:sop+len+cmd+02+na1+na2+app_cmd+mac+fcs;数据响应3:sop+cmd+app_cmd+ret+fcs;数据响应4:sop+len+cmd+02+netadd+app_cmd+mac+netadd+fcs;2)通过网络地址给节点发送数据,数据发送3给网络地址netadd发送send_data,数据响应5返回成功指令。数据发送3格式:sop+len+cmd+02+netadd+app_cmd+send_data+fcs;数据响应5格式:sop+cmd+app_cmd+ret+fcs;2、串口接收数据的通信,有2个过程:1)串口收到已知网络地址节点发来的数据send_data接收数据格式1:sop+len+cmd+02+netadd+app_cmd+send_data+fcs2)将网络地址转换为mac地址,发送数据4发送查询mac地址命令,数据响应6发回正确发送指令,数据响应7发回mac地址:数据发送4格式:sop+len+cmd+02+netadd+app_cmd+netadd+fcs;数据响应6格式:sop+cmd+app_cmd+ret+fcs;数据响应7格式:sop+len+cmd+02+na1+na2+app_cmd+mac+fcs;3、网关向协调器发送控制命令或者数据采集命令就可以进行设备控制和数据采集了。进一步地,所述节点通信协议的设计过程如下:节点数据帧通信格式:目的地址+命令id+数据,如表7所示,其中通信协议数据格式统一设计为:{[参数]=[值],{[参数]=[值],……},每条数据以“{}”作为起始字符;“{}”里面的参数之间用“;”隔开:1)定义变量a0~a7,用于传递传感器数值或者携带的信息量,权限为只能通过赋值“?”来进行查询当前变量的数值,例如:温湿度传感器采用a0表示温度值,a1表示湿度值;2)定义变量d0,d0的bit0~bit7分别对应a0~a7的状态,0表示禁止上传,1表示允许主动上传;3)定义控制变量cd0/od0,对d0的位进行操作,cd0表示位清0操作,cd0表示位置1操作,例如排气扇,cd0=1表示开启排气扇;4)d1:d1表示控制编码,通过赋值“?”来进行查询当前变量的数值,根据传感器属性来自定义功能;5)cd1/od1:对d1的位进行操作,cd1表示位清0操作,od1表示位置1操作;节点通信协议帧格式如下表:命令内容目的地址命令id数据长度2字节2字节2字节其中,目的地址为节点的网络短地址;命令id的取值及其功能如下表:对于不同的传感器节点,传感器有数据采集类、报警类传感器和控制类传感器,若要向传感器节点发送控制命令,app_msg中数据的参数取值及其含义如下:1、数据采集类传感器,参数标识为01mmt-0x3fmmt,其中前8位代表设备类型,mm代表功能值,其中01代表应用层向底层发送采集命令,02代表底层传感器向上层返回数值的命令,t代表自动上报时间间隔,采集类传感器功能示例如下表:2、控制类传感器,参数标识为41xxnn-0x6fxxnn,其中前8位代表设备类型,xx代表功能值,其中01代表应用层向底层发送控制命令,02代表底层传感器向上层返回控制状态的命令,nn代表开启或者关闭命令,控制类传感器示例如下表:进一步地,协调器将终端节点采集的信息通过串口与网关进行数据通信,网关服务程序收到串口数据之后,将串口数据封装成socket的ip网络包;客户端程序运行后只要建立socket连接就可以读取到底层协调器发送过来的数据。应用层终端要想发送一个指令来控制底层的终端节点,通过ip网络将数据下发到该网关服务程序,然后网关程序将数据发送给串口,最终协调器从串口读取数据之后,通过zigbee网络向终端节点发送信息进行数据采集和设备控制。与现有技术相比,本发明技术方案的有益效果是:1、建立一种农业物联网通信协议标准,过去大部分农业物联网系统采用自身定义的通信协议,缺少统一的通信标准,本发明提出一种通信协议标准,将有利于推广涉及技术广泛的农业物联网,实现农业数据共享,满足农业大数据和精准农业的发展要求;2、有较好的扩展性,通信协议分别为应用层通信协议、串口通信协议和节点通信协议,三层通信协议容易扩展,节点通信协议通过扩展参数标识,可以轻松实现各种采集类和控制类传感器的数据封装和传输,应用层通信协议采用对象字典方式实现对节点的参数和状态进行采集和控制,方便实现各种不同软件应用层,如android移动端或pc机的web端,易于构建各种个性化系统;3、农业物联网系统实现简单化,利用三层通信协议构建的智能网关来构建物联网系统,只需要结合通信协议关注应用层的开发,可以简单快速地实现农业物联网系统的部署,避免了因物联网系统的技术广泛而导致应用的难以推广,降低农业物联网系统应用的复杂性,加快推广农业物联网的应用。附图说明图1为应用层、网关、协调器和节点之间的通信协议关系图;图2为应用层通信协议、串口通信协议和节点的通信协议协同关系图;图3为农业物联网功能功能设计图;图4为农业物联网系统中的数据流向图;图5为网关服务程序的socket服务结构图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本发明的技术方案做进一步的说明。实施例1一种农业物联网智能网关设计方法,包括以下步骤:农业物联网系统依据物联网架构来进行设计,采用zigbee技术构建无线传感网络,网络划分为感知层,网络层,信息处理层,综合应用,在感知层由cc2530设计的节点终端和协调器实现无线网络,并且设计一套通信协议完成数据的发送与处理,通信协议包括应用层通信协议、串口通信协议和节点通信协议3层组成,应用层通信协议和串口通信协议通过网关服务程序进行转换,第三层节点通信协议实现无线网络数据的封装,详细设计如下:1)第一层为应用程序与网关之间的通信,设计为应用层通信协议,应用层和智能网关之间通信;2)第二层为网关与协调器之间的通信,设计为串口通信协议;3)第三层为协调器与普通节点之间的通信,设计为节点通信协议。三层通信协议完成了农业物联网的数据采集、处理和发送控制,应用层、网关、协调器和节点之间的通信协议关系图如图1所示。本发明设计的农业物联网智能网关通信协议,主要用于实现农业物联网的数据采集到终端控制的封装与发送。应用层通信协议设计:应用层通信协议详细命令格式如表1所示。表1应用层通信协议格式标示sopcmdlendatafcs长度(bit)121n1其中sop为命令开始标示,取固定值为0x02;cmd为命令标示码,用于区别不同的命令,详细功能如表2所示。表2应用层通信协议cmd功能cmd发送数据响应状态响应数据取值0x29000x69000x6980数据流向终端->网关网关->终端网关->终端len:data的长度,其中len=0则没有data域;data数据格式为ep+app_msg,其中ep的长度1个字节,取固定值为0x02,其中app_msg为数据包节点通信协议;fcs为从cmd到data的异或和,应用层指令数据发送格式为:数据发送1:发送数据:sop+cmd+len+ep+app_msg+fcs(1)命令发送成功后,网关返回2条消息,第1条信息为网关响应消息,其中包含响应状态ret,状态为0x00,则代表响应成功,为0x01则代表响应失败,响应成功后,网关返回第2条消息,消息内容为回复应用层发送的指令。数据响应1:sop+cmd+app_cmd+ret+fcs(2)数据响应2:sop+cmd+len+add+2bcmd+result+fcs(3)其中“2bcmd”发送与返回的值不同,其功能对应关系如表3所示。表32bcmd功能对应关系串口通信协议设计:网关服务程序接收到来自应用层的数据帧然后经过解析封装成串口协议数据,然后将串口协议数据通过串口发送给协调器,命令格式如表4所示。表4串口通信协议格式标示soplencmddatafcs长度(b)112n1其中sop设为0xfe;len:data的长度,cmd命令格式如表5所示。表5cmd功能命令cmd发送数据收到数据收到数据数值0x29000x69000x6980功能应用层发送协调器正确接收指令节点返回数据data数据格式为02+netadd+app_cmd+app_data,其中netadd为节点2字节网络地址,app_data为数据内容,其中app_cmd定义如表6所示。表6应用层通信协议格式app_cmd功能0000通知协调器数据需要转发给节点的应用程序0101通知协调器根据给定mac地址查找网络地址0102通知协调器根据给定的网络地址查找mac地址若协调器根据传感器节点mac地址查询网络地址(app_cmd为0101),则data域中na1na2为协调器节点的网络地址(0000),app_data为要查询的传感器节点的mac地址;若是指示协调器根据传感器节点的网络地址查询mac地址(app_cmd为0102),则data域中na1na2为协调器节点的网络地址(0000),app_data即为要查询的传感器节点的网络地址;若是指示协调器此数据要转发给传感器节点的应用程序(app_cmd为0000),则data域中na1na2为传感器节点的网络地址,app_data为要发送的数据。串口发送数据和接收数据的通信过程如下1、串口数据发送,给mac地址的节点发送数据过程1)通过mac地址查询网路地址,发送1条指令,响应2条指令,其中发送的指令为数据发送2格式,用于查询网络地址,数据响应3是发送成功返回指令,数据响应4返回网络地址;数据发送2:sop+len+cmd+02+na1+na2+app_cmd+mac+fcs(4)数据响应3:sop+cmd+app_cmd+ret+fcs(5)数据响应4:sop+len+cmd+02+netadd+app_cmd+mac+netadd+fcs(6)2)通过网络地址给节点发送数据,数据发送3给网络地址netadd发送send_data,数据响应5返回成功指令。数据发送3格式:sop+len+cmd+02+netadd+app_cmd+send_data+fcs(7)数据响应5格式:sop+cmd+app_cmd+ret+fcs(8)2、串口接收数据的通信,有2个过程1)串口收到已知网络地址节点发来的数据send_data接收数据格式1:sop+len+cmd+02+netadd+app_cmd+send_data+fcs(9)2)将网络地址转换为mac地址,发送数据4发送查询mac地址命令,数据响应6发回正确发送指令,数据响应7发回mac地址数据发送4格式:sop+len+cmd+02+netadd+app_cmd+netadd+fcs(10)数据响应6格式:sop+cmd+app_cmd+ret+fcs(11)数据响应7格式:sop+len+cmd+02+na1+na2+app_cmd+mac+fcs(12)3、网关向协调器发送控制命令或者数据采集命令就可以进行设备控制和数据采集了。例如,应用层读取光敏传感器采集到的光照强度值时,先发送命令给串口,从协调器获取光敏传感器的网络地址,然后发送命令到网络地址读取光敏传感器的值。节点通信协议设计:节点数据帧通信格式:目的地址+命令id+数据,如表7所示,其中通信协议数据格式统一设计为:{[参数]=[值],{[参数]=[值],……},每条数据以“{}”作为起始字符;“{}”里面的参数之间用“;”隔开。1)定义变量a0~a7,用于传递传感器数值或者携带的信息量,权限为只能通过赋值“?”来进行查询当前变量的数值,例如:温湿度传感器采用a0表示温度值,a1表示湿度值;2)定义变量d0,d0的bit0~bit7分别对应a0~a7的状态,0表示禁止上传,1表示允许主动上传;3)定义控制变量cd0/od0,对d0的位进行操作,cd0表示位清0操作,cd0表示位置1操作,例如排气扇,cd0=1表示开启排气扇;4)d1:d1表示控制编码,通过赋值“?”来进行查询当前变量的数值,根据传感器属性来自定义功能;5)cd1/od1:对d1的位进行操作,cd1表示位清0操作,od1表示位置1操作;表7节点通信协议帧格式命令内容目的地址命令id数据长度2字节2字节2字节其中,目的地址为节点的网络短地址;命令id的取值及其功能如表8所示。表8命令id功能对于不同的传感器节点,传感器有数据采集类、报警类传感器和控制类传感器,若要向传感器节点发送控制命令,app_msg中数据的参数取值及其含义如下:1、数据采集类传感器,参数标识为01mmt-0x3fmmt,其中前8位代表设备类型,mm代表功能值,其中01代表应用层向底层发送采集命令,02代表底层传感器向上层返回数值的命令,t代表自动上报时间间隔,如要让光敏传感器每隔5秒主动上报数据,则app_msg中的命令数据部分应为:010105,光敏传感器返回的命令中的0102mm表示光敏传感器采集到的光照强度值为mm,采集类传感器功能示例如表9所示。表9采集类传感器参数设计示例2、控制类传感器,参数标识为41xxnn-0x6fxxnn,其中前8位代表设备类型,xx代表功能值,其中01代表应用层向底层发送控制命令,02代表底层传感器向上层返回控制状态的命令,nn代表开启或者关闭命令,例如,要让火焰传感器开启检测功能,则app_msg中的数据部分应为:410101,继电器返回的命令中的410201开启了继电器,控制类传感器示例如表10所示。表10控制类传感器参数设计示例应用层通信协议、串口通信协议和节点的通信协议,相互合作,共同完成网关的数据封装和传输,三个协议的协同关系如图2所示。智能网关工作过程:如图3所示是一种农业物联网功能功能设计图,智能网关程序运行在android平台,连接应用层与zigbee无线网络的桥梁,图4是农业物联网系统中的数据流向,详细描绘了从zigbee节点到协调器,协调器到网关,以及网关到android客户端程序的整个数据流向。协调器将终端节点采集的信息通过串口与网关进行数据通信,网关服务程序收到串口数据之后,将串口数据封装成socket的ip网络包;客户端程序运行后只要建立socket连接就可以读取到底层协调器发送过来的数据。应用层终端要想发送一个指令来控制底层的终端节点,通过ip网络将数据下发到该网关服务程序,然后网关程序将数据发送给串口,最终协调器从串口读取数据之后,通过zigbee网络向终端节点发送信息进行数据采集和设备控制。智能网关服务程序设计:网关服务程序实现了两个功能:与zigbee协调器交互;建立socket服务。网关的socket服务不仅支持本地客户端的连接,同时支持远程的客户端连接,在网关服务程序中socket服务建立了串口与应用层终端之间传输的桥梁。根据功能设计,在网关服务程序中创建两个服务:串口监听服务socketclient、socketserver服务,socketserver服务监听并处理socket客户端的连接与数据发送,socketclient的作用是连接到socketserver端,同时处理串口服务线程发送过来的数据。图5是网关服务程序的socket服务结构图。本发明有如下特点:1)建立一种农业物联网通信协议标准。过去大部分农业物联网系统采用自身定义的通信协议,缺少统一的通信标准,本发明提出一种通信协议标准,将有利于推广涉及技术广泛的农业物联网,实现农业数据共享,满足农业大数据和精准农业的发展要求;2)有较好的扩展性。通信协议分别为应用层通信协议、串口通信协议和节点通信协议,三层通信协议容易扩展,节点通信协议通过扩展参数标识,可以轻松实现各种采集类和控制类传感器的数据封装和传输,应用层通信协议采用对象字典方式实现对节点的参数和状态进行采集和控制,方便实现各种不同软件应用层,如android移动端或pc机的web端,易于构建各种个性化系统;3)较好的通信性能。从测试结果分析,智能网关具有较强的数据处理能力和较高的通信效率,应用测试的正确结果也验证了通信协议的正确性和智能网关在构建农业物联网系统的可行性,为构建农业物联网系统提供技术支持;4)农业物联网系统实现简单化。利用三层通信协议构建的智能网关来构建物联网系统,只需要结合通信协议关注应用层的开发,可以简单快速地实现农业物联网系统的部署,避免了因物联网系统的技术广泛而导致应用的难以推广,降低农业物联网系统应用的复杂性,加快推广农业物联网的应用;5)应用领域广。本发明设计的智能网关可以应用在各种农业领域,如大田种植、设施园艺、畜禽养殖、水产养殖等领域的信息采集和环境控制中,有利于推进农业生产自动化、作业精准化和管理信息化,为农业物联网广泛应用奠定基础。相同或相似的标号对应相同或相似的部件;附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1