一种开放式数据采集系统的制作方法

文档序号:15923297发布日期:2018-11-14 00:52阅读:117来源:国知局
本发明涉及建筑施工数据采集
技术领域
:,具体地说是一种开放式数据采集系统。
背景技术
:随着人们生活水平的提高,各种仪表和设备已经在经济生活的各个领域中有了极大的广泛应用,如电表、水表等。各种仪表和设备的数据信息对于仪表、设备的检测和管理是必不可少的,对各种仪表数据的远程采集和上传,远程采集和管理仪表数据,可以节约人力资源、提高工作效率,所以,对于仪表、设备的远程数据采集管理在很多领域得到了广泛的应用。同时,对仪表数据的分析和应用,也需要依赖于仪表数据的采集和上传。然而仪表和设备数据采集工作具有设备的厂家种类繁多,各种仪表或设备的数据采集通信协议各种各样,仪表或设备数据的上产方式不统一,这对仪表、设备的数据采集、远程管理等带来了诸多不便。技术实现要素:本发明的技术任务是针对以上不足之处,提供一种开放式数据采集系统,能够支撑不同设备数据远程采集和管理,对分布在不同地点的不同的数据仪表或设备的过程状态数据进行采集和管理。本发明解决其技术问题所采用的技术方案是:一种开放式数据采集系统,包括仪表数据采集终端设备、数据采集驱动软件和云端数据采集管理系统,仪表数据采集终端设备安装在施工现场,数据采集驱动软件和云端数据采集管理系统安装在云服务器;仪表数据采集终端设备通过不同的采集通信接口与仪表设备进行通信,向仪表设备发送采集指令、接收仪表设备返回的数据并将仪表设备信息发送给云端数据采集管理系统;仪表数据采集终端设备用于在云端数据采集管理系统与仪表设备之间建立数据透传信道,可以将接收自云端数据采集管理系统的数据发送给仪表设备,也可以将采自仪表设备的数据发送给云端数据采集管理系统;数据采集驱动软件用于将仪表设备通信的通信协议进行封装和解析,数据采集驱动软件获取仪表设备通信的通信协议,并产生仪表设备数据采集指令,解析仪表数据采集终端设备获取的数据,并将解析后的数据发送云端数据采集管理系统;云端数据采集管理系统管理设备信息、管理数据采集驱动软件与设备信息的对应关系,管理仪表数据采集终端设备和数据采集驱动软件的对应关系,接收数据采集驱动软件产生的设备数据采集指令、并下发到仪表数据采集终端设备,接收仪表数据采集终端设备上传的仪表设备数据、并发送给数据采集驱动软件、进而获取数据采集驱动软件解析的仪表设备数据。进一步的,仪表数据采集终端设备包括电源模块、中央控制器模块、串口数据输入输出模块、gprs数据输入输出模块和以太网口输入输出模块,电源模块将工地现场提供的220v电压转换为合适的电压,实现5v电源输出;中央控制器模块用于协调各部分工作,中央控制器模块控制设备连接到云端数据采集管理系统,并控制设备接收串口数据输入输出模块、gprs数据输入输出模块和以太网口输入输出模块的工作顺序。优选的,串口数据输入输出模块通过232、485或ttl通讯形式与仪表设备进行通信。gprs数据输入输出模块和以太网口输入输出模块分别通过运营商的无线网络和以太网与云端数据采集管理系统通信。进一步的,数据采集驱动软件包括通信协议封装模块和通信协议解析模块,通信协议封装模块按照仪表设备要求的格式对仪表设备的采集信令进行打包;通信协议解析模块按照仪表设备要求的格式对采集自仪表设备的数据进行解析,然后按照平台定义的格式进行打包。进一步的,云端数据采集管理系统包括项目信息管理模块、数据采集驱动管理模块、设备信息管理模块和设备数据转发模块;数据采集驱动管理模块用于仪表设备类型和仪表设备通信协议解析驱动的管理;设备数据转发模块用于将数据采集驱动软件的设备通信驱动程序获取的设备通信信令转发给数据采集终端设备、进而通过数据采集终端设备发送给仪表设备,接收数据采集终端设备传过来的仪表设备数据,并将仪表设备数据转发给数据采集驱动软件,通过设备通信驱动程序解析成系统中自定义的数据格式。其中,项目信息管理模块用于管理项目信息,包括项目编号、项目名称和项目数据识别码。进一步的,设备信息管理模块用于管理仪表设备的识别码、所属项目信息和所属设备类型的映射关系。云端数据采集管理系统通过仪表设备的识别码识别仪表设备类型,通过仪表设备类型获取仪表设备通信协议的驱动程序,通过仪表设备的驱动程序获取与仪表设备通信的信令和解析后的仪表设备数据。云端数据采集管理系统通过配置的方式管理项目信息、驱动程序信息与仪表设备信息的对应关系,对添加新的仪表设备和采集新的仪表设备数据提供了一个开放式的架构,能够灵活支撑多种仪表设备的数据采集功能。另外,还可以按照其他应用平台的格式打包设备数据,并转发到相应的应用平台。云端数据采集管理系统应用的实现方式如下:1)、以root用户登录系统,在root目录下建立目录/root/workspace;mkdir/root/workspace2)、在系统中安装mysql和linxodbc,并配置好数据库,建立数据库和表,包括t_dev_data表、t_dev_driver表、t_dev_info表、t_dict表、t_otherserver表和t_project表;3)、将smartdatacollectplatform.tar复制到/root/workspace下;tarxfsmartdatacollectplatform.tar4)、在/root/profile文件中添加2个环境变量;exportcaculate_param_file=/var/caculate_param.txtexportld_library_path=/usr/local/lib:/usr/lib64:$ld_library_path5)、在/root/workspace/config目录下的conf.conf文件中配置好连接数据库和提供服务的端口号;6)、将系统所支撑的项目信息配置到步骤2)建立的t_project表中,包括项目标号和项目授权码,系统将与项目相关的数据推送到相关的服务器。进一步的,数据采集驱动软件应用的实现方式如下:1)、按照采集通信接口写好设备的数据采集驱动程序;2)、编译成动态库,配置到系统建立的的t_dev_driver表。进一步的,数据采集终端设备应用的实现方式如下:1)、将一个具有流量的sim卡插到数据采集终端设备的sim卡插槽中;2)、数据采集终端设备通过设备配置软件配置好设备的设备识别码;3)、将设备识别码配置到系统建立的t_dev_info中;4)、通过232/485/ttl接口方式与设备进行连接。该数据采集平台提供统一的软件通信接口形式,对不同的设备采用统一的处理方式,提高了软件平台架构的灵活性,能够以相对固定的架构来支撑不同设备驱动的调用。通过配置的方式将不同仪表设备的通信协议程序配置到平台中,提高了不同设备驱动程序管理的方便性,使得各种设备的支撑方便快捷,既能支持一收一发的主动采集方式,又能支撑设备定时上报的被动数据采集方式,能够支撑各种上传方式的仪表设备数据采集。本发明的一种开放式数据采集系统和现有技术相比,具有以下有益效果:该系统能够适应多种不同的设备通信协议,完成与多种不同仪表设备的数据通信,采集多种不同仪表设备的数据;能够适应多种不同的设备数据上传方式,既能支持一问一答的对仪表设备数据的主动采集,也能支持设备数据的主动上传后,给设备以设备需要相应的信息;能够管理仪表设备与设备通信驱动软件的对应关系,从而能够以正确的方式与设备进行通信;能够对不同的仪表设备建立设备信息备案,能够及时管理设备的应用状态;采取框架平台加驱动软件的方式进行架构,能够方便的添加不同设备驱动程序,对新的设备类型进行扩展;能够对设备数据按照一定的格式进行打包,并发送到需要应用设备数据的其他平台。附图说明图1是本发明的开放式数据采集系统架构示意图;图2是云端数据采集管理系统工作架构图;图3是仪表数据采集终端设备工作架构图。具体实施方式下面结合附图和具体实施例对本发明作进一步说明。一种开放式数据采集系统,包括仪表数据采集终端设备、数据采集驱动软件和云端数据采集管理系统,仪表数据采集终端设备安装在施工现场,数据采集驱动软件和云端数据采集管理系统安装在云服务器。仪表数据采集终端设备通过不同的采集通信接口与仪表设备进行通信,向仪表设备发送采集指令、接收仪表设备返回的数据并将仪表设备信息发送给云端数据采集管理系统。仪表数据采集终端设备用于在云端数据采集管理系统与仪表设备之间建立数据透传信道,可以将接收自云端数据采集管理系统的数据发送给仪表设备,也可以将采自仪表设备的数据发送给云端数据采集管理系统。仪表数据采集终端设备包括电源模块、中央控制器模块、串口数据输入输出模块、gprs数据输入输出模块和以太网口输入输出模块。电源模块将工地现场提供的220v电压转换为合适的电压,实现5v电源输出。中央控制器模块用于协调各部分工作,中央控制器模块控制设备连接到云端数据采集管理系统,并控制设备接收串口数据输入输出模块、gprs数据输入输出模块和以太网口输入输出模块的工作顺序。串口数据输入输出模块通过232、485或ttl通讯形式与仪表设备进行通信。gprs数据输入输出模块和以太网口输入输出模块分别通过运营商的无线网络和以太网与云端数据采集管理系统通信。数据采集驱动软件用于将仪表设备通信的通信协议进行封装和解析,数据采集驱动软件获取仪表设备通信的通信协议,并产生仪表设备数据采集指令,解析仪表数据采集终端设备获取的数据,并将解析后的数据发送云端数据采集管理系统。数据采集驱动软件包括通信协议封装模块和通信协议解析模块,通信协议封装模块按照仪表设备要求的格式对仪表设备的采集信令进行打包;通信协议解析模块按照仪表设备要求的格式对采集自仪表设备的数据进行解析,然后按照平台定义的格式进行打包。云端数据采集管理系统管理设备信息、管理数据采集驱动软件与设备信息的对应关系,管理仪表数据采集终端设备和数据采集驱动软件的对应关系,接收数据采集驱动软件产生的设备数据采集指令、并下发到仪表数据采集终端设备,接收仪表数据采集终端设备上传的仪表设备数据、并发送给数据采集驱动软件、进而获取数据采集驱动软件解析的仪表设备数据。云端数据采集管理系统包括项目信息管理模块、数据采集驱动管理模块、设备信息管理模块和设备数据转发模块。项目信息管理模块用于管理项目信息,包括项目编号、项目名称和项目数据识别码。数据采集驱动管理模块用于仪表设备类型和仪表设备通信协议解析驱动的管理。设备信息管理模块用于管理仪表设备的识别码、所属项目信息和所属设备类型的映射关系。设备数据转发模块用于将数据采集驱动软件的设备通信驱动程序获取的设备通信信令转发给数据采集终端设备、进而通过数据采集终端设备发送给仪表设备,接收数据采集终端设备传过来的仪表设备数据,并将仪表设备数据转发给数据采集驱动软件,通过设备通信驱动程序解析成系统中自定义的数据格式。云端数据采集管理系统通过仪表设备的识别码识别仪表设备类型,通过仪表设备类型获取仪表设备通信协议的驱动程序,通过仪表设备的驱动程序获取与仪表设备通信的信令和解析后的仪表设备数据。云端数据采集管理系统通过配置的方式管理项目信息、驱动程序信息与仪表设备信息的对应关系,对添加新的仪表设备和采集新的仪表设备数据提供了一个开放式的架构,能够灵活支撑多种仪表设备的数据采集功能。另外,还可以按照其他应用平台的格式打包设备数据,并转发到相应的应用平台。云端数据采集管理系统应用的实现方式如下:1)、以root用户登录系统,在root目录下建立目录/root/workspace;mkdir/root/workspace2)、在系统中安装mysql和linxodbc,并配置好数据库,建立数据库和表,包括t_dev_data表、t_dev_driver表、t_dev_info表、t_dict表、t_otherserver表和t_project表,建表语句为:createtable`t_dev_data`(`id`char(64)notnull,`devid`char(32)defaultnull,`valuetype`char(32)defaultnull,`value`int(11)defaultnull,`update_time`timestampnotnulldefaultcurrent_timestamponupdatecurrent_timestamp)engine=myisamdefaultcharset=utf8checksum=1delay_key_write=1row_format=dynamic;------------------------------createtable`t_dev_driver`(`id`char(32)notnull,`name`char(32)defaultnull,`factory`char(32)defaultnull,`type`int(11)defaultnull,`version`char(32)defaultnull,`filename`char(64)defaultnull,`update_time`timestampnotnulldefaultcurrent_timestamponupdatecurrent_timestamp)engine=myisamdefaultcharset=utf8checksum=1delay_key_write=1row_format=dynamic;------------------------------createtable`t_dev_info`(`id`char(32)notnull,`name`char(32)defaultnull,`projectid`char(32)defaultnull,`factory`char(32)defaultnull,`type`int(11)defaultnull,`driver`int(11)defaultnull,`inteval`char(10)notnull,`update_time`timestampnotnulldefaultcurrent_timestamponupdatecurrent_timestamp,`datacollecttype`int(11)defaultnull)engine=myisamdefaultcharset=utf8checksum=1delay_key_write=1row_format=dynamic;------------------------------createtable`t_dict`(`id`char(32)notnull,`tag`char(32)defaultnull,`value`int(11)defaultnull,`info`char(128)defaultnull,`update_time`timestampnotnulldefaultcurrent_timestamponupdatecurrent_timestamp)engine=myisamdefaultcharset=utf8checksum=1delay_key_write=1row_format=dynamic;------------------------------droptableifexists`t_otherserver`;createtable`t_otherserver`(`id`char(32)notnull,`url_serverip`char(128)defaultnull,`port`char(32)defaultnull,`protocol`int(11)defaultnull,`update_time`timestampnotnulldefaultcurrent_timestamponupdatecurrent_timestamp)engine=myisamdefaultcharset=utf8checksum=1delay_key_write=1row_format=dynamic;------------------------------createtable`t_project`(`id`char(32)notnull,`name`char(32)defaultnull,`end_date`datenotnull,`start_date`datenotnull,`info`char(128)defaultnull,`uploadurl`varchar(255)defaultnull,`update_time`timestampnotnulldefaultcurrent_timestamponupdatecurrent_timestamp)engine=myisamdefaultcharset=utf8checksum=1delay_key_write=1row_format=dynamic;3)、将smartdatacollectplatform.tar复制到/root/workspace下;tarxfsmartdatacollectplatform.tar4)、在/root/profile文件中添加2个环境变量;exportcaculate_param_file=/var/caculate_param.txtexportld_library_path=/usr/local/lib:/usr/lib64:$ld_library_path5)、在/root/workspace/config目录下的conf.conf文件中配置好连接数据库和提供服务的端口号,/root/workspace/config/conf.conf文件的内容如下:serverconfiglog_file=server_ip=server_port=dbname=dbuser=dbpasswd=按照自己需要添写好配置内容;6)、将系统所支撑的项目信息配置到步骤2)建立的t_project表中,包括项目标号和项目授权码,系统将与项目相关的数据推送到相关的服务器。进一步的,数据采集驱动软件应用的实现方式如下:1)、按照以下接口写好设备的数据采集驱动程序:intcheckifthistype(char*data,intlen,charids[32]);intcheckifheartbeat(char*data,intlen);intgetendpointinfo(chardata[],intlen,charsrcid[],chardestid[],int*command,charsenddata[]);intgetdevopcommand(char*data,intlen);intparsedevdata(char*data,intlen,valuevalues[10],charack[128],int&acklen);intparsedevdatatojson(char*devid,char*data,intlen,charjson[4096],charack[128],int&acklen);2)、编译成动态库,配置到系统建立的的t_dev_driver表。进一步的,数据采集终端设备应用的实现方式如下:1)、将一个具有流量的sim卡插到数据采集终端设备的sim卡插槽中;2)、数据采集终端设备通过设备配置软件配置好设备的设备识别码;3)、将设备识别码配置到系统建立的t_dev_info中;4)、通过232/485/ttl接口方式与设备进行连接。该数据采集平台提供统一的软件通信接口形式,对不同的设备采用统一的处理方式,提高了软件平台架构的灵活性,能够以相对固定的架构来支撑不同设备驱动的调用。通过配置的方式将不同仪表设备的通信协议程序配置到平台中,提高了不同设备驱动程序管理的方便性,使得各种设备的支撑方便快捷,既能支持一收一发的主动采集方式,又能支撑设备定时上报的被动数据采集方式,能够支撑各种上传方式的仪表设备数据采集。通过上面具体实施方式,所述
技术领域
:的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述
技术领域
:的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1