物联网智能数据网关系统的实现方法

文档序号:7554109阅读:1681来源:国知局
专利名称:物联网智能数据网关系统的实现方法
技术领域
本发明一种物联网智能数据网关的制作方法属于电子通信领域,特别涉及一种物联网智能数据网关系统的实现方法。
背景技术
现代工业生产中,基于物联网技术的能源管理系统越来越受到重视:通过传感器对厂区内的各能源的使用进行计量,然后通过网关设备收集传感器数据并远传到信息管理中心储存,最后通过能源管理平台进行集中监测和能耗分析等管理工作,方便厂区管理人员实时掌握各计量点的监测数据,从而有效实现能源和资源的管理。网关设备是基于物联网技术的能源管理系统的重要组成部分之一。传统的网关设备实现单纯的以太网到RS485的透明传输,因而功能过于简单;需要上位机软件在应用层实现仪表规约,底层没有缓存,因而上位机软件编程复杂;上位机软件需要花费大量的时间等待网络数据的到达,因此数据采集速度低;易受网络状态影响,因而数据采集的实时性和完整性低。可以设计一种网关在设备上实现数据的采集,定时将数据发送给服务器,或是服务器以某固定时间间隔获取数据。这种网关设备克服了传统网关设备的上位机软件编程复杂、数据采集速度低以及数据采集的实时性和完整性低等缺点。

发明内容
本发明要解决的技术难题:传统的网关设备实现单纯的以太网到RS485的透明传输,因而功能过于简单;需要上位机软件在应用层实现仪表规约,底层没有缓存,因而上位机软件编程复杂;上位机软件需要花费大量的时间等待网络数据的到达,因此数据采集速度低;易受网络状态影响,因而数据采集的实时性和完整性低。485数据采集模块缺少过压,雷击保护等,模块容易受到外界干扰而损坏;网关特定端口只限于接单一协议表具,不能对不同协议表具采用混合接入的方式。本发明采用的技术方案:提供一种物联网智能数据网关的实现方法。所述网关包括七个层次:最顶层是网络服务器(201)和文件服务器(211);第二层是Gateway模块
(202);第三层为工业中标准数据仪表使用的三种规约,即DL/T645多功能电表通信规约
(203)、CJ/T188户用计量仪表数据传输技术条件(210)和GB/T 19582基于Modbus协议的工业自动化网络规范(204);第四层是系统调用接口(209);第五层包括文件子系统205和进程控制程序(208 );第六层为块设备驱动(206 )及其他驱动(207 ),所述块设备驱动(206 )连接于文件子系统(205),所述其他驱动(207)连接于进程控制程序(208);最底层是具体的硬件设备,包括:与块设备驱动(206)连接的SD卡及NAND,与其他驱动(207)连接的IXD、RS485端口、网口及GPIO模块。所述Gateway模块(202)包括:数据采集模块、数据存储模块以及网络通信模块。所述数据采集模块通过数据采集程序以定时的方式从RS485端口采集数据,并将数据封装成gateway包,所述gateway包描述网关设备对应的服务器地址、网关的唯一标识码及七个端口独立进行数据采集涉及的所有信息,实现常规数据采集定时任务、即时数据采集方法和配置更新方法。所述数据存储模块完成数据的本地存储,由数据采集程序配合数据存储模块完成各个端口上所有仪表的数据存储。所述数据采集模块基于RS485协议。所述数据采集程序通过所述数据采集线程完成各个端口上所有仪表的数据采集;数据采集线程以定时的方式执行,各个端口单独配置采集时间间隔。所述网络通信模块完成基于TCP/IP的网络通信和文件服务;在以TCP/IP方式进行数据传输时,网关设备主动与数据中心的服务器连接成功后,建立两个线程:一个是网络检测线程,定时向服务器发送心跳数据包,验证网络状态,并且当网络连接断开时及时重新连接;另一个是数据远程线程,负责数据的远传。所述网络检测线程的心跳数据包以xml方式进行封装,数据格式与《国家机关办公建筑和大型公共建筑能耗监测系统分项能耗数据采集技术导则》的要求一致;数据在传输时,通过AES方式进行加密,密钥长度为128比特,每台网关设备有一个默认的加密密钥,并且可以通过网络进行重新配置。所述数据远程线程分为两种模式:主动模式和被动模式;主动模式下,网关设备定时将采集到的数据发送给上位机服务器,并在传输失败时将数据存储下来,并尝试重传;所述网络检测线程管理连接的状态,自动实现重新连接,故数据远传线程不必管理网络状态;被动模式下,网关设备根据上位机服务器的指令上传数据。所述网络通信模块同时实现其他功能,包括:系统时间的设定、端口信息的配置以及异常情况的报警,通过本地配置和远端配置两种方式实现。有益效果:与市场上现有产品相比,本发明功能更加丰富,数据采集速度更快,数据的实时性和完整性更好,兼容不同协议表具,同时安全性更高。


图1示出了本发明的硬件结构。图2示出了本发明的软件结构。图3示出了 Gateway模块数据结构。图4示出了定时器线程流程图。图5示出了被动批量传输模式下的数据采集线程流程图。图6示出了 TCP/IP模式下的连接管理。图7示出了主动远传模式下的数据采集线程。图8示出了基于HTTP协议的网关配置流程。图9示出了网关上传数据包序列。图10示出了网关响应数据包序列。图11示出了被动模式数据传输流程。图12出批量模式程序流程。
具体实施例方式下面结合附图和实施例对本发明进行详细说明。本发明设计原理为:在网关设备上实现数据的采集以及数据的本地存储。网关设备与服务器达成某种协议,即网关将采集的数据保存在内部FLASH中,并在本地开启文件服务,允许服务器通过网络进行访问,从而利用HTTP web服务实现被动批量传输模式和主动定时采集模式两种采集方式。网关设备支持本地配置和远程配置。所述主动定时采集模式是指,网关设备按照网络通信协议定时将数据发送给服务器;所述被动批量传输模式是指,服务器以某固定时间间隔获取数据。所述数据采集、本地存储和网络通信均由Gateway模块完成。Gateway模块包括:数据采集模块、数据存储模块以及网络通信模块。所述数据采集模块实现基于RS485协议的数据采集。本模块实现了工业中标准数据仪表使用的三种规约,即DL/T 645多功能电表通信规约、CJ/T 188户用计量仪表数据传输技术条件和GB/T 19582基于Modbus协议的工业自动化网络规范。由所述数据采集模块通过所述数据采集程序以定时的方式从七路RS485端口采集数据,并将数据封装成gateway包,它描述网关设备对应的服务器地址、网关的唯一标识码及七个端口独立进行数据采集涉及的所有信息,并实现了常规数据采集定时任务、即时数据采集方法和配置更新方法。由所述数据采集程序通过所述数据采集线程完成各个端口上所有仪表的数据采集功能。数据采集线程以定时的方式执行。由于网关设备连接的仪表数量较大,为每个仪表设定一个单独的采集时间间隔会严重降低系统效率。本设计兼顾灵活性和系统效率,采用各个端口单独配置采集时间间隔的方法,提高系统效率的同时,又提供了多种采集时间间隔的设定方案。所述数据存储模块完成数据的本地存储。由所述数据采集程序配合数据存储模块完成各个端口上所有仪表的数据存储功能。由所述网络通信模块完成基于TCP/IP的网络通信和文件服务。在以TCP/IP方式进行数据传输时,网关设备主动与数据中心的服务器连接成功后,建立两个线程:一个是网络检测线程,定时向服务器发送心跳数据包,验证网络状态,并且当网络连接断开时及时重新连接;另一个是数据远程线程,负责数据的远传。所述网络检测线程的心跳数据包以xml方式进行封装,数据格式与《导则》的要求一致。数据在传输时,通过AES方式进行加密,密钥长度为128比特,每台网关设备有一个默认的加密密钥,并且可以通过网络进行重新配置。所述数据远程线程分为两种模式:主动模式和被动模式。主动模式下,网关设备定时将采集到的数据发送给上位机服务器,并在传输失败时将数据存储下来,并尝试重传。所述网络检测线程管理连接的状态,自动实现重新连接,故数据远传线程不必管理网络状态。被动模式下,网关设备根据上位机服务器的指令上传数据。所述网络通信模块同时实现其他一些功能,包括:系统时间的设定、端口信息的配置以及异常情况的报警。实施例1
图1示出了本发明的硬件结构。本发明在硬件结构上包含14个相对独立的功能模块,按功能可以分为四个方面:最小系统、人机交互模块、数据采集与存储模块及上位机接口模块。最小系统是微控制器正常工作所需要的最小组成单元,包括101—ARM微处理器,102—电源模块、103—日历芯片、104—非易失性存储器NAND Flash和105—易失性存储器SDRAM0数据采集与存储模块包括106—七路RS485总线接口、107—4路AD转换通道、108—20个GPIO接口以及109 — SD卡接口。上位机接口包括111 一网络接口和110—串口控制台接口。人机交互接口包括114一IXD显示模块、113—声卡模块和112 — GPRS模块。图2示出了本发明的软件结构。本发明的软件平台采用Linux内核作为操作系统核心,用U-Boot进行操作系统的引导,并用UBI文件系统管理文件。如图2所示,整个软件结构分为7层。自顶向下看,最顶层是网络服务器201和文件服务器211,分别用来进行网络通信和文件服务。第二层是Gateway模块202,负责收集来自设备端口的数据,将数据封装成gateway包并实现数据的本地存储。最后,基于TCP/IP实现与顶层的网络服务器201和文件服务器211之间的网络通信和文件服务。第三层实现了工业中标准数据仪表使用的三种规约,即DL/T 645多功能电表通信规约203、CJ/T 188户用计量仪表数据传输技术条件210和GB/T 19582基于Modbus协议的工业自动化网络规范204。第四层是系统调用接口 209,Gateway模块202通过该接口控制第五层的文件子系统205和进程控制程序208。文件子系统205与块设备驱动206连接,用来读写最底层的存储器件SD卡109和NAND Flash 104。进程控制程序208即所述数据采集模块的所述数据采集线程,负责调用所述数据采集程序实现连接到所有端口的所有设备的数据采集。进程控制程序208通过其他驱动207实现对其他设备的驱动,包括:IXD 114、RS232转RS485接口 106、以太网接口111以及GPIO 108等设备。以上内容阐述了本发明的整体架构。其中,软件结构的第二层,即Gateway模块202,是本发明的核心。它包括三个子模块:所述数据采集模块、所述数据存储模块以及所述网络通信模块。它们与本发明的其他部分配合,分别完成数据采集、本地存储以及网络通信。以下内容分为两部分,前一部分阐述本发明的数据采集和本地存储的具体实施方式
,后一部分阐述本发明的网络通信的具体实施方式
。关于本发明的数据采集和本地存储的具体实施方式
:
所述数据采集模块实现基于RS485协议的数据采集。本模块实现了工业中标准数据仪表使用的三种规约,即DL/T 645多功能电表通信规约203、CJ/T 188户用计量仪表数据传输技术条件210和GB/T 19582基于Modbus协议的工业自动化网络规范204。所述数据采集模块通过所述数据采集程序以定时的方式从七路RS485端口 106采集数据,并将数据封装成gateway包。图3示出了 Gateway模块数据结构。其中,ServerIP301描述网关设备的唯一标识码,Location String 302描述网关设备对应的服务器地址,Port[7] 306描述七个端口独立进行数据采集涉及的所有信息,并实现了数据采集定时配置等功能。由所述数据存储模块完成数据的本地存储。Port [7] 306各部分的功能或含义如下:七路RS485端口由其端口号304标识,其取值范围为广7。每个端口单独运行,它们在实现中是一个无限循环结构,通过定时器控制运行的时间间隔。可以通过端口配置305修改采集间隔307、保存文件间隔308以及仪表列表309。仪表列表309又包括一些子配置项:仪表地址315,唯一地标识同类型仪表中的个体;协议类型316,目前仅有三个可选值,即:645通信规约、Modbus协议和CJ/T188规约;使用同一协议的仪表类型号317,这是一个自定义字段,按支持的仪表类型从I向下排序;报警阈值318至321。服务器从网关上获取数据并不是实时的,网关本身对于仪表的示值是否超过警戒阀值进行判断。警报上限二 318和警报上限一 319是两级上限阀值,警报下限一 320和警报下限二 321是两级下限阀值。当得到的数据超过一级阀值时,网关设备通知服务器。当超过二级阀值时,网关设备发出声光报警或发送短信通知相关负责人。运行状态311包括两种状态:Inuse和Running。Inuse为真表明当前端口上连接有仪表,并且服务器需要采集这些仪表上的数据。仅当Inuse为真时,该数据结构的其他字段才有意义。Running为真表示数据采集正在进行,此时不可以改变系统时间和更新端口配置。此时更新系统时间会造成采集到的数据时间字段重复或不断续;更新端口配置会导致采集到的数据在同一数据文件内结构不一致。312为串口设备的设备文件字符串。串口设备互斥锁313为串口使用的互斥锁,由于RS485总线上采用半双工的工作方式,当一个线程在使用端口收发数据时,另一个端口应该阻塞等待。调用Geter接口 314的GetDataO方法可以获取即时数据。由所述数据采集程序通过所述数据采集线程208完成各个端口上所有仪表的数据采集功能。数据采集线程以定时的方式执行。由于网关设备连接的仪表数量较大,为每个仪表设定一个单独的采集时间间隔会严重降低系统效率。本设计兼顾灵活性和系统效率,采用各个端口单独配置采集时间间隔的方法,提高系统效率的同时,又提供了多种采集时间间隔的设定方案。图4示出了定时器线程流程图。在步骤401,每个端口均作为一个线程调用StartTicker O函数,端口在启动数据采集线程时首先启动定时器线程。在步骤405和406,以阻塞方式读取通道C上的命令。如果命令为Ck,则进入一次数据采集,在步骤404打开数据文件,在步骤403遍历一次该端口上的仪表,并将得到的数据写入到数据文件中,最后在步骤402关闭文件,再次进入步骤405和406。如果命令为Rfrsh,则进入步骤407更新配置信息,以备下次采集时采用新的配置。如果命令为Stop,则进入步骤409终止该编程。图5示出了被动批量传输模式下的数据采集流程。在步骤501至503,该线程首先启动一个定时器线程,并标记当前端口的状态为Running。然后进入步骤504和505组成的循环,在循环体中,首先从通道C中获取命令,否则进程阻塞。在正常情况下,定时器会按照设定的采集间隔307定时向通道传送一个Ck命令,采集各仪表上的数据一次。当上位机通过网络修改配置文件时,网络服务器包也会通过该通道发送一个Rfrsh命令,接到命令时,进入步骤507存储数据,然后在步骤508更新端口的配置信息,结束。由于更新系统时间时,需要暂时停止所有端口的采集线程,并在完成系统时间的更新之后重新启动线程,定义了重新启动所有线程和停止所有线程的函数。停止所有线程的函数首先遍历所有的端口并判断端口的状态,如果该端口被使用,并且正在运行,则向对应端口的通道发送Stop命令。开启所有线程函数同样遍历所有端口,如果该端口处于Inuse状态,则初始化端口并获得配置信息,最后开始一个新的线程。关于本发明的网络通信的具体实施方式
:
本发明采用TCP/IP协议进行数据的远传。图6示出TCP/IP模式下的连接管理。在以TCP/IP方式进行数据传输时,在步骤601和602,网关设备主动与数据中心的服务器进行永久性连接,并在步骤603和604,定时发送心跳数据包以检测连接状态。因此,系统在连接成功后,建立两个线程。一个线程定时向服务器发送心跳,验证网络状态,并且当网络连接断开时及时重新连接。另一个线程是数据采集线程,负责数据的采集和远传。在本发明中,网关与服务器通信数据包以xml方式进行封装。数据在传输时,通过AES方式进行加密,密钥长度为128比特,每台网关设备有一个默认的加密密钥,并且可以通过网络进行重新配置。在TCP/IP模式下,数据的远传分为两种模式:主动模式和被动模式。被动模式前已述及,对应于图5。图7示出了主动远传模式下的数据采集线程。与被动模式相同,在步骤701至703,该线程首先启动一个定时器线程,并标记当前端口的状态为Running。然后进入步骤709和710组成的循环,在循环体中,首先从通道C中获取命令,否则进程阻塞。在正常情况下,定时器会按照设定的采集间隔307定时向通道传送一个Ck命令,采集各仪表上的数据一次。当上位机通过网络修改配置文件时,网络服务器包也会通过该通道发送一个Rfrsh命令,接到命令时,进入步骤705至707存储数据,然后在步骤708更新数据结构,结束。主动模式下,网关设备定时将采集到的数据发送给上位机服务器,并在传输失败时将数据存储下来,并尝试重传。本发明中,心跳线程管理连接的状态,自动实现重新连接,故数据采集线程不必管理网络状态。本发明的网络服务器程序主要完成五点功能,即系统时间的设定、端口信息的配置、数据文件的获取、即时数据的获取和异常情况的报警。为保持网络连接的畅通,智能网关设备在心跳线程中,定时向服务器发送存活通知数据包。服务器收到数据包后,即返回一个校时数据包。智能网关设备在收到数据包后,设定系统当前时间。本网关设备提供了多个端口,每个端口可以以不同的串口波特率采集不同类型的仪表数据,因而需要一个更复杂的网关配置功能。网关配置信息以端口为单位,保存于七个本地XML文件中,系统启动时读取配置文件,并将配置信息解析,保存在系统内存。端口的配置信息指明了端口的数据采集时间间隔、数据文件保存的时间间隔和该端口上连接的所有仪表信息。当需要改变某端口的仪表配置时(如添加或去掉仪表),系统管理人员通过数据中心的网页服务器接口添加或删除表项,数据中心的上位机软件将该网关端口下的仪表信息汇总,形成新的端口配置文件并发送给智能网关。由于网关的配置信息内容复杂,数据量大,本发明提供了一个基于HTTP的上传配置文件接口。该接口要求上位机软件以HTTP协议的POST方法向网关设备发送文件,配置文件以multipart/form-data方式发送。图8示出基于HTTP协议的网关配置流程。在步骤802和803,程序首先获得配置文件的目标端口号,如果获取成功,则在步骤804和805获取配置信息的内容,在步骤806在本地创建一个文件并拷贝配置文件的内容。在步骤807,检验该端口上的数据采集线程是否正在运行。如果正在运行,则在步骤810更新其配置信息。如果整个过程顺利进行,则最终返回200状态码,若其中任意一步出错,则返回错误码400,并退出配置程序。在服务器端,上位机软件通过该URI发送文件,并检查返回页面的HTTP首部。如果首部的状态字为200,则完成配置,否则将重新发送。数据的获取包括三种模式:主动上传模式、被动上传模式和批量获取模式。在主动和被动上传模式下,网关设备以一定时间间隔将采集到的数据上传到数据中心的服务器。在主动模式下,网关设备定时向数据中心的网络服务发送一个operation属性为report的数据包,包中包含了各仪表的数据。若仪表数太多,数据无法以一个包发送,则置operation属性为continuous,分包发送,最后一个数据包的operation属性为end。主动模式下,网关设备上传的数据包顺序如图9所示。在被动模下,服务器根据自己需要,向网关设备请求数据。服务器首先发送一个operation为query的数据包,包中包含要采集的仪表列表。网关设备收到查询数据包后,采集相关仪表的数据,并以i^ply方式返回数据包,后续数据包以continuous方式发送,并将最后一个数据包置为end。被动模式下的网关设备上传数据包顺序如图10所示。网关设备的被动上传与主动上传为两个单独的功能,可以同时运行。主动上传功能与数据采集线程合并,使用同一个定时器来触发。被动上传作为一个常规服务运行,由网络数据包事件触发。图11示出了被动上传服务的程序流程。网关设备在步骤1101和1102接受到上位机请求时,在步骤1103根据端口号获得对应端口的对象,然后在步骤1104遍历端口上的仪表列表,找到匹配的仪表配置信息,并按照配置信息读取仪表读数。当读取仪表读数时,首先在步骤1105根据仪表的协议号匹配Geter接口 314,然后在步骤1107调用Geter接口 314的GetD ataO方法获取即时数据。GetDataO方法需要使用串口设备312,可能会打断采集程序的GetDataO方法,因而需要在调用GetDataO方法之前在步骤1106获取串口设备的互斥锁313,并在GetDataO方法返回之后解锁。在批量上传模式下网关设备以固定的时间间隔,将采集到的数据分成多个数据文件保存在本地,等待上位机软件抓取。上位机软件根据端口的配置信息,每间隔一定的时间,向网关设备的各个端口请求某个时间段的数据。这种模式实现了数据的高密度采集和低频率上传。主要用于实时性要求不高,但对数据采集密度要求较高的情况。批量上传模式下,服务器通HTTP方式查询某时间段的数据是否存在,查询时需指定端口号和时间段的起始时间。图12示出了批量模式程序流程。上位机软件在步骤1201以GET方式请求数据,网关设备在接收到请求时,在步骤1202获得取端口号,在步骤1203获得起始时间,在步骤1204网关设备根据端口号获得端口对象,并查询数据列表是否存在相应的时间点,若存在对应的时间点,则表明请求时间段的数据已经准备好。此时在步骤1205网关设备根据已定的规则合成数据文件的文件名,并在步骤1206以Location键值的方式返回给上位机。该接口并不进行数据文件的直接传输,而是用于查询数据文件的状态和位置。上位机软件获得数据文件的位置后,通过网关设备的8080端口访问文件服务器,下载数据文件。当网关设备出现导常时,需要向服务器上的上位机软件报告。当运行出现异常时,网关设备通过上位机软件提供的接口上报,并由上位机软件进行适当的处理。当收到异常报告时,网关设备无法自己解决问题,需要上位机软件辅助解决。本发明提供了上位机编程参考的异常处理方案:(I)读端口配置文件异常。网关设备报告这个异常时会使用Portid字段,读端口配置文件异常的发生通常是因为配置文件不存在,上位机收到这个异常报告时,可以根据portid字段,得到发生异常的端口,并重新发送配置文件。(2)端口配置文件解析异常。网关设备报告这个异常时会使Portid字段,端口配置文件解析异常发生的原因通常是配置文件格式错误。当上位机收到这个异常报告时,应该重新生成并发送相关端口的配置文件。(3)读取仪表配置文件异常。该异常报告会使用portid字段和MTypeID字段,该异常发生可能有以下几种原因:a.端口配置文件使用了不被的仪表类型号:上位机软件应该经过充分测试保证这种情况不会发生。b.仪表配置文件损坏或文件系统错误:该异常通常不会发生,当此异常发生时,上位机软件应该通知管理员,请工程人员手动更新仪表配置文件。(4)仪表配置文件解析异常。该异常报告会使用portid字段和MTypeID字段,该异常通常不会发生。此异常发生时,通常意味着文件损坏或文件系统发生严重错误,上位机软件应通知管理员。(5)仪表数据读取异常。该异常报告会使用porticUMTypeID和slaveaddr字段。该异常报告意味着端口读取仪表读数失败。由于工业现场的电磁干扰、仪表稳定性等原因,仪表读取以小于千分之一的概率失败是正常的。上位机软件可以不作处理,也可以维持一个计数,当失败频率高于某阀值时通知管理员。(6)数据文件打开异常。该异常报告会使用portid字段。该异常通常不会发生,如果发生了,则意味着文件系统存储空间不足或文件系统错误。该异常发生时,上位机软件应该查询网关设备的文件系统状态,并将文件系统状态通知管理员。(7)上下限异常。该异常报告会使用portid、MTypeID和slaveaddr字段。该类异常的出现意味着工厂相关部分的能源、资源用量及其他监测数据超过了给定的上限或下限。当此类异常发生时应该采取的操作由上位机软件根据客户需要定义。以上内容是结合优选技术方案对本发明所做的进一步详细说明,不能认定发明的具体实施仅限于这些说明。对本发明所属技术领域的普通技术人员来说,在不脱离本发明的构思的前提下,还可以做出简单的推演及替换,都应当视为本发明的保护范围。
权利要求
1.物联网智能数据网关的实现方法,其特征是:所述网关包括七个层次:最顶层是网络服务器(201)和文件服务器(211);第二层是Gateway模块(202);第三层为工业中标准数据仪表使用的三种规约,即DL/T 645多功能电表通信规约(203)、CJ/T 188户用计量仪表数据传输技术条件(210)和GB/T 19582基于Modbus协议的工业自动化网络规范(204);第四层是系统调用接口(209);第五层包括文件子系统205和进程控制程序(208);第六层为块设备驱动(206 )及其他驱动(207 ),所述块设备驱动(206 )连接于文件子系统(205 ),所述其他驱动(207)连接于进程控制程序(208);最底层是具体的硬件设备,包括:与块设备驱动(206)连接的SD卡及NAND,与其他驱动(207)连接的LCD、RS485端口、网口及GPIO模块; 所述Gateway模块(202)包括:数据采集模块、数据存储模块以及网络通信模块; 所述数据采集模块通过数据采集程序以定时的方式从RS485端口采集数据,并将数据封装成gateway包,所述gateway包描述网关设备对应的服务器地址、网关的唯一标识码及七个端口独立进行数据采集涉及的所有信息,实现常规数据采集定时任务、即时数据采集方法和配置更新方法; 所述数据存储模块完成数据的本地存储,由数据采集程序配合数据存储模块完成各个端口上所有仪表的数据存储。
2.如权利要求1所述的物联网智能数据网关的实现方法,其特征是:所述数据采集模块基于RS485协议。
3.如权利要求1所述的物联网智能数据网关的实现方法,其特征是:所述数据采集程序通过所述数据采集线程完成各个端口上所有仪表的数据采集;数据采集线程以定时的方式执行,各个端口单独配置采集时间间隔。
4.如权利要求1所述的物联网智能数据网关的实现方法,其特征是:所述网络通信模块完成基于TCP/IP的网络通信和文件服务;在以TCP/IP方式进行数据传输时,网关设备主动与数据中心的服务器连接成功后,建立两个线程:一个是网络检测线程,定时向服务器发送心跳数据包,验证网络状态,并且当网络连接断开时及时重新连接;另一个是数据远程线程,负责数据的远传。
5.如权利要求4所述的物联网智能数据网关的实现方法,其特征是:所述网络检测线程的心跳数据包以xml方式进行封装,数据格式与《国家机关办公建筑和大型公共建筑能耗监测系统分项能耗数据采集技术导则》的要求一致;数据在传输时,通过AES方式进行加密,密钥长度为128比特,每台网关设备有一个默认的加密密钥,并且可以通过网络进行重新配置。
6.如权利要求4所述的物联网智能数据网关的实现方法,其特征是:所述数据远程线程分为两种模式:主动模式和被动模式;主动模式下,网关设备定时将采集到的数据发送给上位机服务器,并在传输失败时将数据存储下来,并尝试重传;所述网络检测线程管理连接的状态,自动实现重新连接,故数据远传线程不必管理网络状态;被动模式下,网关设备根据上位机服务器的指令上传数据。
7.如权利要求4所述的物联网智能数据网关的实现方法,其特征是:所述网络通信模块同时实现其他功能,包括:系统时间的设定、端口信息的配置以及异常情况的报警,通过本地配置和远端配置两种方式实现。
全文摘要
本发明公开了一种物联网智能数据网关的实现方法。该网关在设备上实现数据的采集,定时将数据发送给服务器,或是服务器以某固定时间间隔获取数据。这种网关设备克服了传统网关设备的上位机软件编程复杂、数据采集速度低以及数据采集的实时性和完整性低等缺点。
文档编号H04L29/06GK103200249SQ201310099698
公开日2013年7月10日 申请日期2013年3月26日 优先权日2013年3月26日
发明者吴振宇, 冯林, 李航, 李忠灵, 周玉, 胡广 申请人:大连理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1