APP下载

环境监测系统的可视化设计与实现

2016-09-20张婧婧陈宁新疆农业大学计算机与信息工程学院乌鲁木齐830052

现代计算机 2016年18期
关键词:湿度环境监测可视化

张婧婧,陈宁(新疆农业大学计算机与信息工程学院,乌鲁木齐 830052)

环境监测系统的可视化设计与实现

张婧婧,陈宁
(新疆农业大学计算机与信息工程学院,乌鲁木齐830052)

0 引言

可视化技术以其直观性、交互性的优势受到各类环境监测系统的“青睐”。目前,以温、湿度为主要环境指标的监测系统设计中,鉴于基本功能和硬件成本的因素,开发者通常选用单片机或嵌入式开发平台完成数据采集终端的设计[1];数据的监测及终端的显示则以图形、图像表示为主,其中VC++、VB等集成开发环境仍为此类开发设计者的首选[2];在用户端则选用小型数据库Access即可满足数据存储的要求。文中笔者以单片机为采集控制核心,以AMS2320为采集设备,结合上位机VC 6.0的集成开发平台及Access数据库的存储功能,设计并实现了可视化环境监测系统。本系统设计中均采用成熟的软、硬技术,对低成本、高稳定性的可视化产品的开发具有借鉴、指导意义。

1 系统的整体设计

就系统的整体设计而言,其开发过程可分为采集、传输、存储、显示四个阶段,相应的模块设计如图1所示。

由图1不难看出,系统的硬件设计相对容易,旨在完成数据采集终端的硬件功能;系统的软件开发工作量则较大,主要包括数据采集终端的程控设计和上位机的数据通讯、数据库访问、图形监测界面的开发等方面。

图1 环境监测系统的模块划分

2 采集终端的硬件设计

作为系统硬件的主要组成部分,采集终端肩负着数据的采集、传送并与监测界面实时匹配等任务。设计中选用AMS2320传感器采集环境参数,以AT89C51单片机为控制核心,于液晶屏1602中实时显示温、湿度数据,并通过设定其阈值及声光报警电路与图形界面相互对应,旨在实现基于单片机的数据采集控制部分[3-4],其硬件结构如图2所示。

利用AMS2320温、湿度传感器,系统在采集终端首先获得了温度精度为±0.1℃,湿度精度为±0.1%的实时环境数据,并将其通过串口传送至上位机。

图2 采集终端的硬件结构

3 系统的软件设计

3.1数据采集终端的程序控制

如图3所示,数据采集终端的程序控制始于各类硬件的初始化,包括液晶、AMS2320及T1定时器的初始化程序;随后分别进入按键扫描模块,数据采集模块,液晶显示模块,声光报警模块及串行数据发送模块,最终将温、湿度数据以字节形式发送至串口。发送数据的格式如下:

FF 0A 02 03 01,其中,FF 0A为帧头,表示温度值,02 03 01表示温度为23.1。

FF 0B 02 03 01,其中,FF 0B为帧头,表示湿度值,02 03 01表示湿度为23.1%。

图3 数据采集终端的主程序设计流程

3.2系统的终端显示方案

系统显示界面的设计基于VC 6.0的开发环境,应用MFC(微软基础类库)进行开发[5-6]。由于MFC框架定义了应用程序的轮廓,在此基础上,系统开发中将串行通信、数据库的访问、图形图表的显示等应用程序纳入框架即可完成温、湿度数据的图形输出。

3.3数据串行通信及协议

在系统采集终端正常工作的前提下,单片机通过调用sendone(uchar x)函数将温、湿度数据以一次40bit 且10帧为一个周期的形式不断进行发送,如发送温度数据:ff 0a t2 t1 t0等。

根据单片机的发送协议,显示终端需进行相应的接收。在VC 6.0的集成环境下,系统采用CreateFile Windows API函数打开串口,调用ReadFile Windows API函数对相应数据进行采集。值得注意的是,采集的数据是以字符串的形式送入,因此还需进一步转换,如每次以10个字符串进行分离、转换,用于数据的最终输出。

3.4数据库的访问

VC 6.0中对数据库的访问技术包括ODBC API、MFC ODBC和ADO[7]等,本系统采用ADO模型。其中包括3个主体对象,即Connection、Command和Recordset对象,三者均可被独立地创建和释放;另外还包括4个集合对象,即Errors、Parameters、Properties和Fields。部分核心代码包括:

此外,系统设计中还封装了CAdoLx类用于建立数据库与图形界面的动态链接。

3.5数据库的图形化处理

VC 6.0中,CDC(设备环境)类封装了图形绘制所需的各类操作[8]。该类直接继承于Cobject类,能够定义不同设备对象。在设计图形界面时,笔者通过继承CFrameWnd类,创建一个CChartFrame类,在此窗口类中直接为CDC类所创建的对象绘制条形框图,即产生了监测界面中动态显示的温、湿度数据图形,其部分代码包括:

此外,界面设计中笔者还结合 ComApp类与CFrameWnd类创建了一个单文档界面,利用CLoginDlg类创建对话框,通过CMainView类创建列表视图以增强系统的直观、交互性。

4 系统的测试与运行

在系统功能模块逐一完善之后,应用数据采集装置,笔者进行了系统的上位机测试与运行。在上限为30000条记录的Access数据库中,通过COM3串行口,系统完成了环境监测的图形化显示,其运行结果如图4 (a)、(b)所示:

如图4所示,在系统测试中,数据采集装置以1Hz的采集频率与监测界面进行动态链接,完成本系统的可视化输出。而系统运行的不足之处在于,硬件显示终端与图形界面输出的数据间仍有500ms左右延时。

5 结语

借助VC 6.0的开发平台,环境监测系统的可视化功能基本完成。与大型环境监测系统相比,本系统的设计功能略显单薄。但对于低成本和高效率的可视化产品开发而言,系统对图形界面的运行要求朴素,且将采集装置的成本降至最低,在此意义上,本系统的可视化过程更具指导意义。

图4 (b)系统的可视化界面与硬件终端的对应显示

[1]王簃,周杰.基于GSM远程温室环境监控系统的设计和实现[J].现代电子技术,2008(22):151-154.

[2]李丹妮,刘金辉,姜应战.基于Visual C++的数据采集与处理软件设计与实现[J].微计算机信息,2007(22):117-119.

[3]梅荣.基于单片机的温湿度检测与控制系统研究[J].农机化研究,2012(1):131-134.

[4]朱高中.基于单片机的粮仓温湿度远程监控系统的设计[J].湖北农业科学,2013,52(3):677-680.

[5]车忠志,孙雪雁.MFC应用程序基本框架分析[J].农业网络信息.2010(09):145-147.

[6]索岩,崔红志.基于MFC的数据库动态访问技术[J].科技信息.2009(31):428-439.

[7]苏岳龙,李贻斌,宋锐.基于VC++6.0的高速串口通信数据采集系统[J].微计算机信息,2005(05):147-148.

[8]陈功,张晞,高喻,顾歆,宋耀民.基于VC++的数据采集系统的设计[J].机电产品开发与创新,2007(06):114-115.

Environmental Monitoring;Acquisition Terminal;Serial Communication;Database;Visual Interface

Visual Design and Implement of Environmental Monitoring System

ZHANG Jing-jing,CHEN Ning
(College of Computer and Information Engineering,Xinjiang Agricultural University,Urumqi 830052)

1007-1423(2016)18-0075-04

10.3969/j.issn.1007-1423.2016.18.018

张婧婧(1981-),女,湖南宁乡人,硕士,讲师,研究方向为复杂系统、嵌入式理论与应用

2016-04-12

2016-06-15

可视化编程技术在环境监测系统的开发中具有显著优势。以环境监测系统的图形界面设计为主旨,通过温、湿度数据的采集、传输、存储、显示实现数据的可视化功能。首先借助单片机开发平台采集温、湿度数据,其次通过串口将其送至上位机并在VC 6.0集成开发环境下完成系统的交互式设计。最终根据测试、对比,分析该系统在低成本、高稳定性方面具有指导意义。

环境监测;采集终端;串行通信;数据库;可视化界面

Visual programming technology has obvious advantages in the development of environmental monitoring system.As the main idea is to design graphical interface for environmental monitoring system,finds the way that through the temperature and humidity data acquisition,transmission,storage and display to realize the visualization function.At first,the temperature and humidity data are collected by the microcontroller development platform.Then through the serial port,sends the data to the host computer and use VC 6.0 integrated development environment to complete the graphical interface of the system.Finally finds that the system has guiding significance in low cost and high stability.

猜你喜欢

湿度环境监测可视化
植物有话说(十七) 松果:开与合,看湿度
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
工业锅炉饱和蒸汽湿度的运行控制
基于CGAL和OpenGL的海底地形三维可视化
环境监测系统的数据分析与处理
“融评”:党媒评论的可视化创新
基于湿度控制的室内空气净化器高压电源设计
大气污染问题的环境监测
对环境监测数据造假必须零容忍