曾金,雷建云
(中南民族大学 计算机科学学院,湖北 武汉 430000)
摘要:近几年三维水动力模型日渐成熟,通过获取水库区域的水力资源数据,利用数据挖掘等技术可以实现对整个库区系统的建模。数据信息采集技术随着ArduinoEthernet的出现,使数据从精准采集到可控化传送成为可能。该系统在设计时充分考虑到所研究区域的实际环境,采用的传感器均是兼容Arduino Ethernet。数据采集之后可以通过网络技术从现场快速地传送到实验室数据库中心,数据经过处理可以应用于实际应用中。
关键词:Arduino Ethernet;智能化;传感器
0引言
数据采集技术目前很成熟,但是在特定领域采集信息还是很有局限性。其中数据的传送及安全性无法很好地保证,特别是数据采集器在很多领域均是单独定制的,无法实现通用化、开源化,造成系统无法及时更换新的采集器以保证数据的真实性[1]。
本系统在设计时主要针对水体流域区域进行设计,同时需要考虑到实际应用的简捷程度[2]。本文所研究库区一般处于偏远地区,现场实地检测十分不便,故需要采用物联网技术实现数据的远距离传送。如何实现数据采集的真实有效性是本文需要考虑的重要问题。
1系统总体逻辑设计
系统重点在于如何采集数据信息,再进行数据传输,实现可控化监控整个系统的数据变化[3]。其中系统整体结构图如图1所示。
系统在整体设计上采用多层次结构设计,其中数据的采集是整个系统的重要部分。在实现过程中使用模块化结构,模块化结构便于系统进行二次开发升级[4]。系统在设计上综合各种因素,以便于系统可以在不同环境条件下正常运行。
本系统采用Arduino-Ethernet为数据处理及采集的核心处理器。模型主要需要的数据是水的流速、风速、温度、雨量,器材选择采用流速、风速、温湿度、雨量计量器传感器[5]。系统在库区设置多个监测点,实现实时监控整个研究区域的主要数据变化,同时采集的数据通过网络实时传送到数据库。研究人员只需要从远程端口获取需要的数据就可以进行深入的研究[6]。
2硬件设计
2.1传感器简介
风速传感器:Arduino风速传感器体积小,携带方便,其测量精度高,稳定性好。在结构上其采用模块化设计,外观质量佳,适合数据的远程传送,同时信号输送距离长,抗外界干扰能力强。
水速传感器:Water Flow Sensor是一款水流传感器,主要由塑料阀体 、水流转子组件和霍尔传感器组成。其可应用于水的流量测控系统,其外观轻巧灵便,体积小,便于安装,叶轮内部镶有不锈钢珠,永久耐磨,具有强大的适应性,适合各种控制器和开发板。
DHT11传感器:数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。应用专用的数字模块采集技术和温湿度传感技术,使得其在实际应用中具有极高的可靠性与卓越的长期稳定性。
降雨量传感器:适用于各种天气状况的监测,模块将监测的数据转换成数字信号和AO输出电平信号,具有对抗氧化、导电性及寿命方面更优越的性能。
2.2系统硬件结构设计
本系统采用分布式模块设计方法构造系统的整个结构布局。在各个监测站点建立数据采集子系统,通过数据传感器获取环境数据信息,经过开源单片机Arduino处理之后实时数据存储到数据库中[7]。现场PC端获取数据信息的同时远程Web端也可以实时接收到数据,并且用最优化的方法显示其变化的趋势,系统在整个设计中充分利用物联网技术实现系统智能化地监测环境数据变化,其系统结构原理图如图2所示。
2.3系统网络拓扑图设计
整个系统在设计上充分利用物联网技术,系统网络拓扑图如图3所示。系统检测数据的硬件通过网络与客户端相连接。在整个网络拓扑图中监测站为数据采集点,监测站点之间通过交换机实现连接,同时数据采集之后存放到数据库中,并实现实时更新。客户端在使用时直接通过网络实现数据的获取。整个网络实现数据的实时传送,结构清晰,可以方便对系统进行深层次的开发利用。
3系统软件设计
3.1系统主程序
系统主程序分为初始化、数据采集、数据处理、数据存储、数据调用等部分。其中初始化主要是判断系统获取传感器信息,从而判定传感器接入的串口点,处理器运行后开始采集传感器获取的数据。通过系统进行处理之后,选择一定量的数据传送到数据库,同时远程客户端与管理端口从数据库实时调用数据,然后通过数据挖掘技术获取有效的数据[8]。
系统在运行时首先对硬件进行初始化,传感器开始采集数据并由Arduino对数据进行格式转换,同时数据通过程序转入到实时数据库中。客户端通过网络从数据库中获取新的数据,并且用Echarts图表显示在界面上,便于管理人员进行开发处理与数据信息采集[9],系统整体程序流程图如图4所示。
3.2采集数据程序设计
整个系统涵盖多个监测站点,每个监测站点对应采集温度、湿度、风速、降雨量、水流速度。整个水库模型建立需要的最重要数据便是降雨量与水流速度,其中温度、湿度、风速均是数据采集器每半小时对库区整个生态区进行数据采集一次。数据采集器获取的数据可以显示在Arduino编辑器的串口处,每个监测站点分布着不同的传感器采集数据[10]。
采集过程使用串行的方法运行程序,这样做在时间上相对来说不同数据之间具有一定时间间隔。鉴于系统采集周期长,时间间隔理想,为使整个系统精准故采用串行处理模式,这样很好地解决了传感器并行处理造成的系统数据紊乱的问题。
3.3客户端程序设计
系统数据采集之后存入数据库,客户端通过网络实现对数据库的数据获取[10]。目前客户端最为常用的结构分为C/S、B/S结构,其中研究区域实地监控中心采用C/S结构,可以方便地获取数据与采集数据。远程实验室获取数据采用B/S结构,可以实现在不同的地点直观地获取从研究区域传过来的实时数据,实现真正的智能化。
现场监测终端:客户端设计程序根据实际需要设置多个站点的数据同时展示,其中库区监测站主要是获取数据。
Web远程客户端是针对远程管理人员进行数据采集。采用客户端可以实现在不同地点任意地提取数据,当然这需要足够的管理人员权限才可以快速地获取真实的数据,以游客身份进入客户端只能观看到实时数据的变化。
3.4结果分析
整个系统运行采集的数据通过客户端可以实现实时查看。管理人员与消费者通过不同的方式查看数据,其中部分数据图表如图5~图7所示。数据采集之后通过图形展示在客户端,实时地显示数据变化趋势。管理人员可以对其进行分析总结从而在实际中应用,以实现经济效益最大化[11]。
系统设置的站点在整个系统运行时不断采集数据。数据通过网络实时传送到数据库,客户端从数据库中获取数据,并通过一定的表格形式显示出来,为了更好地研究数据的趋势与效果,采用Echarts形式设计监测界面,实现可视化研究,方便数据的挖掘与深入研究。
4结论
本文基于ArduinoEthernet开发设计了一套适用于水体流域进行数据采集的系统。系统采用性能良好的传感器,实现数据的精准采集。同时系统在测试过程中,状态稳定,采集的数据经过多重处理,通过客户端进行显示实现了数据的完美展现。管理人员充分利用其可视化及可挖掘性,实现了准确预测各种信息数据的变化走向。系统可以人为地进行扩展,可以应用于工农业生产,实现经济效益最大化。
参考文献
[1] MCROBERTS M.Arduino从基础到实践[M].杨继志,郭敬,译.北京:电子工业出版社,2013.
[2] 李明亮.Arduino项目DIY[M].北京:清华大学出版社,2015.
[3] 陈吕洲.Arduino程序设计基础[M].北京:北京航空航天大学出版社,2015.
[4] 于景阳.长春电力公司用电信息采集系统设计[D]. 吉林:吉林大学,2015.
[5] 郭广明.浅谈云计算技术在物联网智能家居系统中的应用[J]. 电子测试,2016(9):99-100.
[6] 刘颖.物联网在农业中的应用及前景展望[J].信息与电脑(理论版), 2016(6):26-27,69.
[7] 吴凌斌.基于WSN的扎龙湿地水环境监测系统设计[D].齐齐哈尔:齐齐哈尔大学,2015.
[8] 张恩迪,李翔.数据采集系统综合误差研究及软硬件设计[C]. 2015全国嵌入式仪表及系统技术会议程序册, 2015:18.
[9] 郑克铭,何斌.基于ICV的某大型钢厂的数据采集系统[C]. 中国计量协会冶金分会2015年会论文集,2015:261-265.
[10] 吴涛,王靖宇.基于单片机的医学信号数据采集处理系统的设计[C]. 中华医学会医学工程学分会第十五次全国学术年会论文汇编, 2015:360-361.
[11] 袁本华,董铮.基于Arduino控制板的温室大棚测温系统设计[J].安徽农业科学,2012,40(8):49-50.