一种采集数据无线传输方法
【技术领域】
[0001 ]本发明涉及数据采集,特别涉及一种采集数据无线传输方法。
【背景技术】
[0002]物联网技术在环境监控中得到了越来越多的应用。传感技术、无线网络、嵌入式和互联网的发展,进一步促进了环境信息的监控管理。典型的温度监控物联网系统包括感知、传输、应用3个层次。感知层利用传感器技术进行环境温度信息获取。传输层通过无线网络技术传输至互联网。应用服务器实现温度监控数据的存储,实现面向用户的门户网站或者以客户端的形式实现环境温度监控。然而现有技术中,传感器易受环境现场复杂信息例如温度的多变因素的影响,经常需要替换或更新,或者用户需要另外增加同类型的传感器数量进行监控温度数据的环境差异,因此在实现传感器和数据采集时给网关的信息处理与传输带来了额外的延迟和负载。
【发明内容】
[0003]为解决上述现有技术所存在的问题,本发明提出了一种采集数据无线传输方法,包括:
[0004]采集节点将温度传感器数据上传到网关,服务器通过所述网关完成监控数据页面的动态生成以及数据实时显示。
[0005]优选地,所述采集节点将温度传感器数据上传到网关,进一步包括:
[0006]采集节点采用星形的Zigbee通信命令自组织方式形成无线传输网络与汇总节点进行无线通信,所述汇总节点将命令数据流与串行接口通信RS485数据流进行相互转换,并接入网关;所述网关实现采集节点通信数据流的解析和封装、温度数据的存储和指令的下发功能,并以GPRS模块接入互联网,与服务器数据通信;服务器进行温度数据的存储,构建用户监控设备客户端浏览器网络访问;
[0007]所述采集节点采集传感器信息并以无线方式发送至网关,所述传感器信息包括用户通过网关应用页面输入相关的采集节点的基本信息,包括采集节点ID、传感器名称、传感器ID、数据单位、地点、监控参数的起始字节和结束字节、监控参数上下限范围,进行该节点的配置和注册,并存储至数据库;
[0008]从采集节点组建的Zigbee网络通过汇总节点发送至网关的数据流获取出实际的传感器采集的数据;首先通过JAVA本地接口取出串行接口通信数据流首字节对应的采集节点ID,查询数据库中的采集节点配置表,获取各传感器参数值在数据流中起始字节、结束字节、传感器ID描述信息;根据起始字节、结束字节的数值,将通信命令数据流中的16进制传感器的温度数据,转换成10进制后根据数值换算系数计算出实际值;最终,生成以传感器ID为列属性的传感器数据表,存储至数据库;将采集节点的配置信息和采集数据解析出的传感器参数值进行XML数据结构的描述封装。
[0009]优选地,所述服务器通过所述网关完成监控数据页面的动态生成以及数据实时显示,进一步包括:
[0010]查询采集节点配置信息中采集地点的描述并进行分类,分类后的每项作为一个监控视图的标签;再获取当前监控视图内的各个传感器ID所对应的传感器参数名称、数据单位、最大值、最小值的对应关系,并查询传感器ID对应的由Zigbee采集数据解析模块解析出的实际数值;将参数名称、实际数值、数据单位、由实际数值与最大值和最小值计算出的百分比进度作为当前监控视图的每一行进行展示;
[0011]通过列表的形式显示监控视图的各个标签,对列表设置侦听选中操作,当对列表的某个监控视图选中后,根据用户的选择触发查询当前传感器ID所对应的监控数值,结合查询时间段、最大值、最小值描述,生成统计数据曲线图。
[0012]本发明相比现有技术,具有以下优点:
[0013]本发明提出了一种采集数据无线传输方法,提高了基于物联网的温度监控系统在应用中的稳定性,避免采集节点的更新导致服务器端的二次开发。
【附图说明】
[0014]图1是根据本发明实施例的采集数据无线传输方法的流程图。
【具体实施方式】
[0015]下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
[0016]本发明的一方面提供了一种采集数据无线传输方法。图1是根据本发明实施例的采集数据无线传输方法流程图。
[0017]本发明通过温度数据页面的动态生成以及数据的动态显示,并实现温度数据的数据同步,以提高基于物联网的温度监控系统在应用中的稳定性,避免采集节点的更新导致服务器端的二次开发。温度监控系统包括采集节点、汇总节点、网关、服务器、用户远程客户端模块。采集节点采用星形的Zigbee通信命令自组织方式形成无线传输网络与汇总节点进行无线通信。汇总节点将命令数据流与串行接口通信RS485数据流进行相互转换,并接入网关。网关实现采集节点通信数据流的解析和封装、温度数据的存储和指令的下发等功能,并以GPRS模块接入互联网,实现与服务器数据通信。服务器进行温度数据的存储,构建用户监控设备客户端浏览器网络访问。
[0018]网关应用和服务器应用采用HTTP传输机制。采用基于XML数据结构描述实现网络数据在网关和服务器间跨平台传输。系统软件模块包括采集节点配置、采集数据解析、网络传输数据封装、展示、数据同步传输。
[0019]采集节点采集传感器信息并以无线方式发送至网关,其配置是用户通过网关应用页面输入相关的采集节点的基本信息,包括采集节点ID、传感器名称、传感器ID、数据单位、地点、监控参数的起始字节和结束字节(设通信命令数据流为&,...,Bn,第X至第Y字节表示传感器的温度数据Bx,...,By,则X为起始字节,Y为结束字节,其中1〈X < Y < N)、监控参数上下限范围,进行该节点的配置和注册,并存储至数据库。
[0020]采集节点组建的Zigbee网络发送至网关的数据流获取出实际的传感器采集的数据。系统首先通过JAVA本地接口取出串行接口通信数据流首字节对应的采集节点ID,查询数据库中的采集节点配置表获取各传感器参数值在数据流中起始字节、结束字节、传感器ID等描述信息。根据起始字节、结束字节的数值,将通信命令数据流中的16进制传感器的温度数据,转换成10进制后根据数值换算系数计算出实际值。最终,生成以传感器ID为列属性的传感器数据表,存储至数据库。
[0021]为实现采集数据在互联网的跨平台传输,系统将采集节点的配置信息和采集数据解析出的传感器参数值进行XML数据结构的描述封装。
[0022]实时监控展示的方法是:查询采集节点配置信息中采集地点的描述并进行分类,分类后的每项作为一个监控视图的标签。再获取当前监控视图内的各个传感器ID所对应的传感器参数名称、数据单位、最大值、最小值的对应关系,并查询传感器ID对应的由Zigbee采集数据解析模块解析出的实际数值。这样就将参数名称、实际数值、数据单位、由实际数值与最大值和最小值计算出的百分比进度作为当前监控视图的每一行进行展示。
[0023]统计数据监控展示的方法是:通过列表的形式显示监控视图的各个标签,对列表设置侦听选中操作,当对列表的某个监控视图选中后,生成当前监控视图的传感器参数名称的按键,再对按键设置侦听点击操作,如果被点击则触发查询本按键的传感器ID所对应的监控数值,结合查询时间段、最大值、最小值描述,生成统计数据曲线图。
[0024]网关向服务器发起HTTP请求并处理服务器的回应信息,包括3种类型的数据通信:
[0025](1)在用户交互触发时,实现网关向服务器的同步采集节点配置信息。
[0026](2)网关周期性发起数据量较少的心跳信息到服务器,用于判断网关和服务器间网络通信状态,以及解决服务器不能主动向网关发起通信而进行主动同步数据的问题。网关根据接收的服务器响应结果判断是否有服务器主动发起同步网关的采集节点配置的信息,如果有则解析采集节点配置的信息并更新数据库。
[0027](3)网关周期性地同步传感器的温度数据信息,程序初始化时建立本地文件用于存储传感器参数的数据。每当传输周期到达时,判断心跳信息的服务器通信状态:如果服务器通信状态为成功,将本次的封装数据写入到本地文件中的根节点末尾,再读取文件的内容,上传至服务器,并判断服务器是否正确响应,正确响应则清空本地文件中的记录,否则保留记录;如果服务器通信状态为失败,则本次的封装数据插入到本地文件中的根节点末尾,不发起通信请求。
[0028]客户端浏览器向服务器请求数据,实现交互式页面更新。请求查询数据库中的采集节点配置信息表中的传感器ID、采集地点等描述信息。客户端浏览器的实时数据监控页面根据采集地点描述进行类型分类,每类作为温度数据的监控视图标签,再判断属于某一采集地点下的所有传感器ID和所对应的传感器名称。
[0029]同时客户端浏览器周期性地向服务器请求传感器ID对应的温度数据监控最新数据值,最终填充至客户端浏览器指定的显示组件中,进而显示温度数据实时监控页面。客户端浏览器的统计数据页面的展示是根据采集地点分类的每一项生成列表的每一项,设置列表每一项选中后进行侦听,当被选中则向服务器数据库查询当前采集地点下的所有传感器ID以及对应的名称,作为控件按钮的显示名称,设置控件按钮的点击侦听操作,当被点击后,根据用户输入的查询时间段,向服务器数据库查询传感器ID对应的统计数据,显示至表中,并显示统计数据图。
[0030]服务器接收网
关发起的HTTP请求,获取请求的命令类型进行判断,包括3种处理类型。
[0031](1)当命令为同步采集节点配置信息时,对信息内容基于XML编程工具解析出采集节点配置的各个描述信息,更新数据库中采集节点配置表。(2)当命令为心跳信息时,判断客户端浏览器是否有发送至服务器数据库的同步采集节点配置的命令标志,有则将数据进行XML数据结构的描述封装,并设置命令类型为同步采集节点配置,转换成序列后写入回应数据流中。(3)当命令为同步传感器的温度数据时,判断封装数据的记录数,通过软件的循环,从上到下对逐条数据内容解析出各传感器ID和对应的数值,写入数据库的传感器的温度数据表。
[0032]对于zigbee协议下的数据采集,本发明采用以下传感器网络监控数据采集方法,即网关采用监控数据来构建局部最短采集路径。局部最短采集路径上的节点,如有信息需要发送,则立刻沿该路径将信息发送给网关,当到达预先设定的时间阈值时,该路径失效。网络中不在最短采集路径上的节点如有数据需要传输,则将沿该节点路由列表中存储的到汇总节点的最佳路径逐级传输给汇总节点。如果途经节点在局部最短采集路径上,则途经节点会对中转数据进行拦截,即将接收到的数据按其路由列表中存储的到网关的路由进行转发,进而缩短传感器监控数据的传输距离,提高网络中数据的安全性和适时性。
[0033]汇总节点周期性地向网络中发布监控数据进行路由初始化。监控数据携带有记录途经各节点ID号的序列sn、途经各节点的平均剩余能量和途经路由的优化值Di。路由初始化时,汇总节点向网络中广播监控数据。当节点收到监控数据后,节点将会利用从监控数据及其自身邻居列表中存储的数据计算该监控数据到达此节点所经路径的优化值0:,并将Di与自身邻居列表中存储的Ds进行比较,进而决定是否更新邻居列表中存储的到汇总节点的路由信息。
[0034]如果DKDS,那么接收节点将开始更新其存储的到汇总节点的路由信息:首先更新优化值,将0:赋值给Ds;其次更新记录的最佳路径,将序列sn赋值给sm。结束后,接收节点开始更新监控数据中存储的数据:首先将其ID号存储到序列sn尾端第一个空格中,然后将其剩余能量信息也加入到该查询信标中,最后按功耗公式计算并更新查询信标中存储的由序列sn记录的路由总功耗。接收节点更新完监控数据后,即向其邻居节点广播该监控数据。
[0035]如果D1= DS,那么该接收节点首先从监控数据中获取出序列sn,然后比较其邻居列表中存储的序列sm与序列sn的长度。如果序列sn的长度大于序列sm的长度,那么接收节点丢弃该监控数据;否则,接收节点首先更新其存储在邻居列表中的最佳路径信息,将序列sn赋值给sm。然后更新监控数据,并向其邻居节点广播该监控数据。
[0036]如果DODs,接收节点丢弃这个监控数据。初始化结束之后,网络中各节点均形成并各自维护一张存储到汇总节点最佳路径信息的邻居列表。
[0037]网关广播查询信标来构造新的最短路径。查询信标中携带有如下信息:网关的工作时间tr、查询信标的剩余转发次数tt1、记录途经各节点ID号的序列sno、途经各节点的平均剩余能量和所经路径的优化值D2。网络中各节点均保存其到网关的优化值D。,同时设置一个时刻tu来记录Dc的上次更新时刻。
[0038]当节点在时刻tb接收到查询信标,则节点将利用其邻居列表中存储的信息和从查询信标中释放出的信息来计算该查询信标所经路由的优化值D2,然后决定是否更新其到网关的路由信息。
[0039]如果D2〈D。,则接收节点将首先更新其到网关的最佳路径信息:将02赋值给D。、将tb赋值给时刻tu、将序列sno赋值给sn2;然后按如下规则更新查询信标中存储的信息:将其ID号存储在序列sno尾端第一个空格中;将剩余能量信息相应加入到该查询信标中;计算并更新查询信标中存储的由序列sno记录的路由总功耗;修正查询信标的剩余转发次数。如果修正后的^工值大于零,则接收节点向其邻居节点广播该查询信标;否则接收节点丢弃此查询?目标。
[0040]如果D22D。且tb>tu+tr,则接收节点首先开始更新其到网关的最佳路径信息:将D2赋值给D。,将tb赋值给时刻tu,将序列sno赋值给sn2;然后接收节点更新查询信标,并借助剩余转发次数ttl来判断是否转发该查询信标。如果D2 > D。且tb < tu+tr,则接收节点丢弃此查询信标。查询过程结束时形成一个由网关为根的局部最短采集路径,局部最短采集路径的大小由网络操控者预先设定好的查询信标转发数tti确定。
[0041]网络中各节点均保存着其到达汇总节点和网关的最佳路径信息,当节点有数据需要上传时,节点首先要判断当前是否存在通往网关的有效路由。例如网络中节点A有数据需要传输时,节点A首先需要核查其邻居列表中存储的信息来判断是否存在有通往网关的有效路由。如果tb〈tu+tr,则此刻节点A在以网关为根的局部最短采集路径上,因此节点A将沿其邻居列表中存储的到网关的最佳路径把数据逐级传输给网关。如果tb>tu+tr,则此刻节点A没有通往网关的有效路径。因此节点A需要沿其存储的到汇总节点的最佳路径将数据逐级传输给汇总节点。数据传输途中,如果途经节点处在以网关为根的局部最短采集路径上,则该途经节点将会对传输过来的数据进行拦截,并将拦截到的数据转发给网关。借助这种策略可将途经局部最短采集路径上节点的数据进行有效拦截,进而减少网络的通信延迟和节点的数据转发量。
[0042]综上所述,本发明提出了一种采集数据无线传输方法,提高了基于物联网的温度监控系统在应用中的稳定性,避免采集节点的更新导致服务器端的二次开发。
[0043]显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
[0044]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【主权项】
1.一种采集数据无线传输方法,其特征在于,包括: 采集节点将温度传感器数据上传到网关,服务器通过所述网关完成监控数据页面的动态生成以及数据实时显示。2.根据权利要求1所述的方法,其特征在于,所述采集节点将温度传感器数据上传到网关,进一步包括: 采集节点采用星形的Zigbee通信命令自组织方式形成无线传输网络与汇总节点进行无线通信,所述汇总节点将命令数据流与串行接口通信RS485数据流进行相互转换,并接入网关;所述网关实现采集节点通信数据流的解析和封装、温度数据的存储和指令的下发功能,并以GPRS模块接入互联网,与服务器数据通信;服务器进行温度数据的存储,构建用户监控设备客户端浏览器网络访问; 所述采集节点采集传感器信息并以无线方式发送至网关,所述传感器信息包括用户通过网关应用页面输入相关的采集节点的基本信息,包括采集节点ID、传感器名称、传感器ID、数据单位、地点、监控参数的起始字节和结束字节、监控参数上下限范围,进行该节点的配置和注册,并存储至数据库; 从采集节点组建的Zigbee网络通过汇总节点发送至网关的数据流获取出实际的传感器采集的数据;首先通过JAVA本地接口取出串行接口通信数据流首字节对应的采集节点ID,查询数据库中的采集节点配置表,获取各传感器参数值在数据流中起始字节、结束字节、传感器ID描述信息;根据起始字节、结束字节的数值,将通信命令数据流中的16进制传感器的温度数据,转换成10进制后根据数值换算系数计算出实际值;最终,生成以传感器ID为列属性的传感器数据表,存储至数据库;将采集节点的配置信息和采集数据解析出的传感器参数值进行XML数据结构的描述封装。3.根据权利要求2所述的方法,其特征在于,所述服务器通过所述网关完成监控数据页面的动态生成以及数据实时显示,进一步包括: 查询采集节点配置信息中采集地点的描述并进行分类,分类后的每项作为一个监控视图的标签;再获取当前监控视图内的各个传感器ID所对应的传感器参数名称、数据单位、最大值、最小值的对应关系,并查询传感器ID对应的由Zigbee采集数据解析模块解析出的实际数值;将参数名称、实际数值、数据单位、由实际数值与最大值和最小值计算出的百分比进度作为当前监控视图的每一行进行展示; 通过列表的形式显示监控视图的各个标签,对列表设置侦听选中操作,当对列表的某个监控视图选中后,根据用户的选择触发查询当前传感器ID所对应的监控数值,结合查询时间段、最大值、最小值描述,生成统计数据曲线图。
【专利摘要】本发明提供了一种采集数据无线传输方法,该方法包括:采集节点将温度传感器数据上传到网关,服务器通过所述网关完成监控数据页面的动态生成以及数据实时显示。本发明提出了一种采集数据无线传输方法,提高了基于物联网的温度监控系统在应用中的稳定性,避免采集节点的更新导致服务器端的二次开发。
【IPC分类】G08C17/02
【公开号】CN105488974
【申请号】CN201510797109
【发明人】陈虹宇, 罗阳, 苗宁
【申请人】四川神琥科技有限公司
【公开日】2016年4月13日
【申请日】2015年11月18日