环境监测数据采集管理系统的设计与实现
2022-05-11张毅
张毅
(广东环境保护工程职业学院, 先进制造学院, 广东, 佛山 528216)
0 引言
生态环境部于2016年发布的《生态环境大数据建设总体方案》指出,生态环境大数据平台由基础设施层、数据资源层和业务应用层构成。其中,大数据管理平台是数据资源层为大数据应用提供统一数据采集、分析和处理等支撑服务。当前研究大都关注数据采集、数据传输及数据存储与应用方面,如:高萌萌等[1]讨论了基于NB-IoT的区域空气质量监测系统设计与实现;孙彩萍等[2]关注环境数据采集后共享平台的建设。对采集设备远程管理、监控预警管理功能少有研究。为此,构建集成数据采集、设备管理、实时监控、状态预警等功能于一体的环境监测管理系统具有现实价值,能为环境大数据平台建设提供数据资源保障,同时也能对污染企业进行有效监管。
1 系统设计
1.1 系统整体架构
环境监测系统的总体架构一般分为感知层、传输层、平台层和应用层[3]。环境监测数据采集管理系统利用各种环境感知测量设备对环境信息进行测量,并将包含测量信息、测量装置的位置信息及运行状态的数据包上传到服务器,并通过客户端进行分析与管理。系统架构如图1所示。
图1 系统架构图
环境测量装置集成多组传感器,用于采集环境数据,如表1所示。通过LTE网络或Internet将其传输至环境监测管理平台。
表1 环境数据采集传感器模块
环境监测管理软件是系统的平台层软件,提供了对采集到的环境数据进行存储、管理及对采集设备进行远程管理的功能。软件平台采用C/S架构,结合基于C#.net技术的Winform系统开发框架进行设计与开发。
1.2 平台功能模块设计
环境监测管理平台主要分为数据管理模块和采集设备管理模块两大部分,数据管理模块是主要实现对环境数据的查询、统计、管理及可视化,采集设备管理模块主要实现对设备的远程控制与管理。平台框架如图2所示。
图2 环境监测管理平台整体框架
1.2.1 环境数据管理功能模块
环境要素监测子模块提供常规信息查看,包括对应风、气温、降水以及各种气体的数据信息,在统计页面可以对日最大降水及统计值等进行查看操作,同时可进行报警信息查看。
环境数据管理子模块对环境数据综合管理,实现数据曲线、站点信息、视频监控功能。数据曲线包括序号、监测时间以及对应监测环境数据时的均值查看,可对报警信息进行设置。可通过站点信息栏查看进行监测的站点信息,可通过视频监测进行视频监测操作。
环境数据统计子模块实现对数据的显示设置功能,可对序号、名称、单位、显示名称、排序方式、报表统计方式进行修改和设置。
实时数据曲线子模块实现具体环境数据的可视化,可通过监测曲线查看所监测的要素变化状况,包括对应实时数据、历史数据的曲线变化情况的查看。
1.2.2 采集设备管理功能模块
网络连接子模块实现对通信方式的设置与管理。通过管理列表,可以对通信的主通道与辅通道接口进行设置,包括连接名称、IP地址、服务器路径、用户名及密码。
运行设置子模块实现对监测平台运行状况的设置,包括采集控制、自动站数据、系统参数的设置。采集控制实现采集方式的设置,如实时采集、定时采集、时间同步。自动站数据设置环境数据的备份频率,系统参数设置参数备份频率。
设备管理子模块实现对监测设备的综合管理,包括对应的设备名称和序列号、对应监测通道等进行设置操作。
报警参数设置子模块实现对报警条件的设置与管理,包括设置报警信号接受方式的参数与报警条件参数。
1.3 数据库设计
数据库是平台的基础,为平台内数据提供较好的存储模式和交换模式。环境监测管理属于分阶段完成的综合事务,选用关系数据库,可为环境监测流程和事务动态管理的数据存储提供较好支撑[4]。本平台的数据库设计E-R图如图3所示,建立的基础数据表有监测站表、监测设备数据表、环境数据表以及管理员用户表。
图3 环境监测管理平台数据库设计E-R图
2 系统实现
2.1 数据采集与传输实现
通过传感器采集的环境数据用TCP协议封装环境测量数据包,通过Socket套接字技术进行传输,TCP数据包结构如图4所示。
图4 环境监测TCP数据包结构图
Socket套接字可以将2个连入互联网的进程之间建立联系,从性质上来看,它属于一种接口,以抽象层的形式位于TCP/IP协议参考模型中的传输层与应用层之间,环境监测系统可采用Socket来建立传感器与服务器之间的网络通信连接[5]。面向TCP协议的Socket的建立步骤:①创建一个Socket;②绑定本机的IP和端口;③利用Listen方法监听网络状况;④监听到连接,使用Accept方法接收并建立连接,随即使用Send/Receive方法执行操作;⑤发送完毕,关闭连接。
2.2 平台的实现
环境监测管理平台采用C/S模式,开发语言选用C#,在WinForm开发框架下进行开发。WinForm是基于.NET开发平台的框架,具有3 个重要特点[6]:①Windows 窗体可用于设计窗体和可视控件,以创建丰富的基于 Windows 的应用程序;②提供易于连接 OLEDB 和 ODBC 数据源的数据控件;③Windows 窗体充分利用公共语言运行库的安全特性。数据库管理系统选用SQL Server 2016,Web服务器采用Apache HTTP服务。平台以Microsoft Visual Studio为工具进行开发。
2.2.1 环境数据管理模块实现
环境数据管理模块主要实现数据的读取和现实。使用SQLDataAdapter对象获取数据并填充DataSet,通过DataSet为DataTable赋值,最后绑定到DataGridView控件中,实现对环境要素包括风速、温度、湿度、气压、降水量、大气数据、可吸入颗粒物数据的读取,使用OLEDB连接数据库。连接的关键代码如图5所示。
图5 数据库连接关键代码
图形效果处理主要采用GDI+图形设备接口所提供的类来实现,如Graphics类、Bitmap类、Font类、Icon类、Image类、Pen类、Color类,以及从Brush类继承的类等。曲线是反应环境数据实时变化最直观的方式。设置定时器,采用Chart 控件绘制实时曲线,从数据库读取环境数据,用于填充曲线。所实现的环境要素模块可视化效果如图6所示。
2.2.2 平台管理模块实现
平台管理模块主要通过参数的输入、修改来实现平台管理,开发中综合使用TextBox、RichTextBox、ComboBox、ImageList、PitureBox、ListView列表视图控件等,实现了文本输入与显示和图像的排列与布局。实现的采集设备管理模块如图7所示。
图6 环境要素子模块界面
图7 采集设备管理子模块界面
报警设置子模块使用com通信端口发送信息,当环境监测数据不在阈值范围之内时触发报警,通过短信的方式发送报警信息。报警管理子模块如图8所示。
图8 报警管理子模块界面
3 系统测试与分析
对环境监测管理系统已经进行了实际场景下的测试,在广东环境保护工程职业学院校园内的不同地点布置了6个监测点,通过无线网络连接了监测设备与环境监测管理平台,分别对平台的8个模块进行了测试,结果显示平台能正常接收监测设备发送的各类环境数据,平台能对环境数据进行展示和报表打印,平台能对监测设备进行开和关操作,能对设备进行采集时频率设置,基本实现了远程控制和管理功能。经过测试本系统实现了预期设计效果,可用于固定地点的环境数据采集和大气排放监管。环境监测管理平台的测试界面如图9所示。
图9 环境监测管理平台测试界面
4 总结
本研究聚焦环境监测中的数据采集及设备管理的问题,设计并实现了一套整合了环境数据采集与管理功能于一体的系统,系统分为采集端和平台端,采集端面向环境数据包括温度、湿度、CO、O3、VOCs、NO2、SO2、PM10/PM2.5信息,采用TCP协议及Socket技术实现数据传输,平台端采用C/S模式,提供环境数据的管理、采集设备的管理功能服务。本系统可应用于区域环境数据的采集、管理和研究,对于推进区域生态环境大数据建设有积极作用。