基于labview和数据库的传感器网络后端数据处理方法
【技术领域】
[0001]本发明属传感器网络的后端数据处理技术领域,特别是一种基于labview和数据库的传感器网络后端数据处理方法涉及。
【背景技术】
[0002]第一代传感器网络出现在20世纪70年代。使用具有简单信息信号获取能力的传统传感器,采用点对点传输、连接传感控制器构成传感器网络;第二代传感器网络,具有获取多种信息信号的综合能力,采用串,并接口(如Rs-232、RS-485)与传感控制器相联,构成有综合多种信息的传感器网络;第三代传感器网络出现在20世纪90年代后期和本世纪初,用具有智能获取多种信息信号的传感器,采用现场总线连接传感控制器,构成局域网络,成为智能化传感器网络;第四代传感器网络正在研究开发,目前成形并大量投入使用的产品还没有出现.用大量的具有多功能多信息信号获取能力的传感器,采用自组织无线接入网络,与传感器网络控制器连接,构成无线传感器网络。
[0003]由于传感器网络结构体系越来越复杂,传输数据的数量越来越庞大,对这些数据进行及时的储存、分类和实时显示就变得越来越重要。目前,还没有专门解决这一问题的方法,于是开发一种平台来解决这一问题就十分必要。
【发明内容】
[0004]本发明所要解决的技术问题是提供一种基于labview和数据库的传感器网络后端数据处理方法,能对客户端接收的原始数据进行及时地分割,分类,储存,校准及显示。
[0005]本发明解决其技术问题所采用的技术方案是:提供一种基于labview和数据库的传感器网络后端数据处理方法,包括下列步骤:
(1)首先对传感器网络传输过来的原始字符串数据进行分割;
(2)将分割后的数据存储在数据库中;
(3)将数据直接写入数据库,读取时直接从数据库读取;
(4)将读取的数据通过显示模块显示。
[0006]所述的步骤(1)具体包括:
(11)接收传感器网络传输过来的无分隔的数据,进行分割字符串,以字符串数组形式存储,每个元素为一组传感器数据;
(12)判断数组是否结束,若是,则结束;若否,则进入下一步骤;
(13)将每组传感器数据按数据类型分割,并以簇的形式存储;
(14)写入数据库,并返回步骤(12)。
[0007]所述的步骤(2)具体包括:
(21)当一个类型为簇的传感器数据写入数据库时,取出其基站编号和传感器编号;
(22)连接数据库,判断表“基站编号-传感器编号”是否存在;若否,则先新建表,再进入下一步;若是,则进入下一步; (23)判断数据是否重复;
(24)在相应的表格插入数据;
(25)断开数据库。
[0008]所述的步骤(3)中的读取时直接从数据库读取具体包括:先进行类型转换,然后通过选项卡的切换对传感器的不同参数进行选择,根据实际需要对参数进行校准,以波形图输出。
[0009]有益效果
本发明可以通过一个简单的界面方便地查看传感器与基站的关系,查看某个传感器的某个参数及其变化趋势,而且,所有传输过来的数据都被分类存储在数据库中。如有需要,还可以在界面上加上数据的查找等功能。这个处理方法可用于大型传感器网络的后端数据处理上。
【附图说明】
[0010]图1为本发明的结构原理图。
[0011]图2为本发明数据写入数据库流程图。
[0012]图3为本发明字符串分割流程图。
[0013]图4为本发明读取数据流程图。
[0014]图5为本发明给数据库表格命名时的输入和输出数据。
[0015]图6为本发明给表格命名的具体方法。
[0016]图7为本发明判断表格存在与新建表的具体方法。
[0017]图8为本发明判断输入数据与表格中数据是否重复的具体方法。
[0018]图9为发明下级界面显示的具体方法。
【具体实施方式】
[0019]下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0020]将labview应用于传感器网络后端的数据处理本身就是一种创新,与数据库的链接更是增加了数据存储的灵活方便。本发明主要包含以下内容:
1.数据存储和数据读取的独立性
本发明的实现主要包括数据分割、写入数据库和读取并显示数据(如图1)。数据直接写入数据库,读取时直接从数据库读取,可以实现写入数据和读取数据的相互独立,可以达到分工清晰,处理方便的效果。
[0021]2.原始字符串的分割
字符串分割是数据存储中必要的一步。原始的接收数据是一长串字符串,各组传感器的数据以及特定传感器内部数据无分隔,以“传感器1,基站1,时间,参数;传感器2,基站1,时间,参数;传感器3,基站2,时间,参数;传感器1,基站1,时间,参数;....”的形式存在。我们要做的是先将各个传感器的数据分开,然后再将每组传感器内部的数据按数据类型分开,以簇的形式储存,最后写入数据库(如图2)。
[0022]3.数据在数据库中的储存
由于存在多个基站,每个基站下又带有多个传感器,所以一个数据库中包含多个表,每个表以“基站编号_传感器编号”命名。因为每组传输数据中会自带有基站编号和传感器编号,所以表格名字可以直接从传输数据中提取。然后根据表名判断数据要写入的表。这种从传输数据中直接提取表名的方法可以增加数据存储程序的简洁性和自主性,同时也起到了对数据分类的作用。
[0023]一组传感器数据写入数据库时,首先判断该传感器对应的表是否存在,若存在,则判断表中是否有重复数据,最后添加进相应表格。若不存在这个表,则自动建表,根据其自身编号给表格命名(如图3)。当突然添加一个新的传感器时,数据库中也会新增一个列表分类。若由于某些原因造成传输数据无效或传输数据无规律时,会使提取的传感器编号出现特殊字符,于是会新建一个表名特殊的表格,通过查看这个表格的数据,我们可以查看网络异常状况。
[0024]4.数据的读取和显示
显示界面最初为一
个主界面,上面包含有传感器和基站按钮,每个传感器按钮下对应一个子VI,子VI调用方式设为调用时显示面板、如果最初关闭则返回时关闭面板。每个传感器按钮对应数据库中一个表格,子VI打开后,开始读取数据库中相应表格的数据,即开始显示这一传感器的数据。界面中也设有基站按钮,这个按钮点击后会显示该基站下所包含的传感器,即一个传感器列表的界面,通过这个列表的界面也可以进入数据显示界面。这种利用子VI调用,形成多级界面显示的方法,使传感器网络层次更清晰,数据的显示也有条不紊。
[0025]读取数据库数据时,应先进行类型转换,然后可以根据实际需要对参数进行校准。显示数据时以时间为横坐标,参数为纵坐标,输入XY graph,如图4。数据显示前面板上一个graph indicator置于tab control之上,并未置于选项卡之中,通过选项卡的切换可以在这个graph中输入同一传感器的不同参数。这种方法让多参数之间的显示得到了很好的切换。使用波形图的Cursor Legend功能可以读出每个数据点的准确值,集曲线趋势的观察与准确读数一体化,Graph palette工具的使用可以实现曲线的局部放大、曲线的定位。
[0026]5.数据的实时显示
为达到数据的实时显示,数据读取和数据显示都在一个无限循环里,直至程序关闭。这样可以保证数据库数据的实时更新。循环里设置一定的的等待时间,以提高CPU的利用率。
[0027]下面以Labview8.6和Microsoft Access 2010环境监测来说明本发明的具体实施方法。
[0028]1.以数据库为联系的数据写入和数据显示
本发明实质分为两个部分,数据写入和数据显示,两个部分是相互独立的,写入部分实现数据写入数据库,读取部分直接从数据库中读取。
[0029]2.数据在数据库的储存
从输入数据中提取表名。如图5所示Data为一组已分割好的输入数据,为字符串数组形式,“460022210210090”为其基站编号,“9EC16B01004B1200”为传感器编号,取其基站编号后三位090和传感器编号前三位“9EC”连接为“090_9EC”作为表名(如图6),可以清晰的反应该组数据为基站090下编号为9EC的传感器的各组参数值。
[0030]数据库文件中应包含一个标准表,这里命名为1,它为后来新建的表格提供一种格式。表格是否存在的判断如图7所示,先用DB tools list tables列出所有表格表名,若不存在相等表名,则利用DB tools create table新建一与标准表1有相同格式的表。
[0031]在进行数据是否重复的判断时,我们只需要取出数据的时间参数进行判断,即判断将要写入的数据中的时间与表中已存在的时间是否重复,一个很简单的方法是利用DBtools select data的查询功能如图8所示,数据库中时间的字段名为Time,名为Time的字符串输入控件中,输入参数随当前输入数据的数据变化。
[0032]3.数据显示界面子VI调用
先设置子vi的调用模式,将vi properties下customize window appearance中勾选show front panel when called 和 close afterwards if originally closed。如图 9 当444_ABC按钮被按下时,就会跳出弹出显示二级界面,退出二级界面时,窗口自动关闭。
[0033]4.主界面的点击方式是按键进入基站列表界面,通过圆形传感器按钮可进入数据读取界面,通过选项卡控制同一 graph中不同参数的显示。
【主权项】
1.一种基于labview和数据库的传感器网络后端数据写入方法,包括下列步骤: (1)首先对传感器网络传输过来的原始字符串数据进行分割; (2)将分割后的数据写入在数据库中; (3)所有数据都写入数据库后,结束整个步骤。2.根据权利要求1所述的一种基于labview和数据库的传感器网络后端数据写入方法,其特征在于:所述的步骤(1)具体包括: (11)接收传感器网络传输过来的无分隔的数据,进行字符串分割,每组传感器数据是一组字符串数据; (12)将每组传感器数据(或写成“字符串数据”)按数据类型分割,并以簇的形式存储。3.根据权利要求1所述的一种基于labview和数据库的传感器网络后端数据写入方法,其特征在于:所述的步骤(2)具体包括: (21)当一个类型为簇的传感器数据写入数据库之前,取出其基站编号和传感器编号; (22)连接数据库,判断表“基站编号-传感器编号”是否存在;若否,则先新建表,再进入下一步;若是,则进入下一步; (23)取出时间参数(或写成“时间数据”),判断要写入的数据是否与取出的时间参数(或写成“时间数据”)重复;若重复,则断开数据库;若不重复,再进入下一步; (24)在相应的表格插入数据; (25)断开数据库。4.根据权利要求1所述的一种基于labview和数据库的传感器网络后端数据显示方法,其特征在于: (31)从数据库中读取数据(电阻参数和时间参数) (32)将数据进行类型转换(电阻参数转化成数值类型,时间参数转化成时间类型) (33)校准 (34)以时间参数为横坐标,电阻参数为纵坐标,将所有数据以波形图输出。 (35)结束整个步骤。
【专利摘要】本发明涉及一种基于labview和数据库的重金属离子远程自动监控系统后端数据处理方法,包括:(1)首先对传感器网络传输过来的原始字符串数据进行分割;(2)将分割后的数据存储在数据库中;(3)将数据直接写入数据库,读取时直接从数据库读取;(4)将读取的数据通过显示模块显示。本发明可以通过一个简单的界面方便地查看传感器与基站的关系,查看某个传感器的某个参数及其变化趋势,而且,所有传输过来的数据都被分类存储在数据库中。如有需要,还可以在界面上加上数据的查找等功能。本发明可用于大型传感器网络的后端数据处理上。
【IPC分类】G06F17/30
【公开号】CN105488063
【申请号】CN201410480249
【发明人】金庆辉, 王晓冬, 黄善洛, 金妍
【申请人】上海蓝迪数码科技有限公司, 中国科学院上海微系统与信息技术研究所
【公开日】2016年4月13日
【申请日】2014年9月19日