基于物联感知的空气质量监测系统①

2017-11-01 07:17王保岩曹慧英
化工自动化及仪表 2017年6期
关键词:空气质量监测点客户端

王保岩 蒋 奇 曹慧英

(1.山东大学控制科学与工程学院;2.山东劳动职业技术学院机制工艺系)

基于物联感知的空气质量监测系统①

王保岩1蒋 奇1曹慧英2

(1.山东大学控制科学与工程学院;2.山东劳动职业技术学院机制工艺系)

针对目前中小城市和城乡郊区空气质量监测网络不健全的现状,基于物联感知技术、嵌入式技术和Android技术设计了一套空气质量实时监测系统。该系统以32位嵌入式单片机STM32为控制核心,选用高精度传感器模组完成对PM2.5、PM10、SO2、CO、O3及NO2等空气质量指标的采集;搭建远程服务器完成数据存储,并利用ArcGIS服务器提供地图服务,采用Android客户端和微信公众号完成数据的显示与管理,具有较好的可靠性、实时性和实用性。

远程数据管理 空气质量实时监测系统 物联网 嵌入式STM32 ArcGIS Android

随着我国工业生产和社会生活的高速发展,大量污染气体和颗粒物被排放到大气中,对人们造成了极大的危害[1]。根据2015年中国环境保护部发布的《2014中国环境状况公报》显示,在开展空气质量监测的161个地级和地级以上城市中仅有16个城市的空气质量达标,超标城市占90.1%。建立完善的空气质量监测体系,使人民大众直观全面地了解当前空气质量,对于指导生活生产具有极其重要的意义。由于区域经济发展不平衡,部分地区在空气监测方面的资金投入不足,导致监测站存在基础设施不健全、监测仪器设备落后等问题[2,3],因此便携式空气质量监测设备在空气应急监测方面的作用逐渐增大。目前,常用的空气质量监测仪器主要有两种:一是利用手持式仪器进行人工监测,通过液晶模块显示实时数据[4,5],该仪器存在工作量大、效率低等缺点;二是建立多个空气质量参数采集点,通过无线方式将数据传输至主机进行监测[6],该方法极大地提高了监测效率,但监测网络布局和覆盖面存在缺陷,同时对地理信息系统(Geographic Information System,GIS)、高级数据库、三维可视化及数据挖掘等技术的应用还有较大的提升空间[7]。鉴于此,笔者以STM32为硬件控制核心,通过搭建传感阵列和无线通信模块,实现对空气质量指标的实时采集、处理和上传,并利用GIS、数据库、Android开发及微信公众平台开发等技术完成数据的显示和管理,建立完善的空气质量监测网络。

1 系统总体设计

如图1所示,基于物联感知技术的空气质量监测系统主要由嵌入式硬件、远程服务器、Android客户端和微信公众号组成[8]。

图1 系统总体框架

系统工作模式分为单机和网络两种。单机模式下,硬件系统通过无线通信模块直接与Android客户端进行数据交互,系统监测到的空气质量数据直接在Android客户端显示、分析并保存。网络模式下,硬件系统采集到的数据直接通过无线网络上传至远程服务器,单机模式下保存在Android客户端的数据也可以上传至远程服务器,Android客户端和微信公众号可以通过网络访问服务器并实时调取多个监测点的空气质量数据。

2 硬件部分

系统的硬件部分采用嵌入式系统架构(图2),以32位增强型处理器STM32F103RBT6为整个系统的控制核心,外围设备包括传感器阵列、无线通信模块及电源适配器等。传感器阵列主要完成CO、SO2、PM2.5及PM10等空气质量指标数据的监测,并由核心控制器完成相关数据的采集与初步分析。无线通信模块完成硬件系统与手机端或远程服务端的通信。电源适配器或锂电池为整个硬件系统提供电力支持。

图2 系统硬件的嵌入式架构

系统采用Membrapor电化学气体传感器对CO、SO2、NO2及O3等气体浓度进行测量,该传感器是利用电导率的变化来探测气体浓度变化的一种电化学传感器[9],对污染气体的分辨率为0.000 1‰,满足国家大气监测标准的精度要求。采用基于激光散射原理的SDS011粉尘监测传感器监测PM2.5和PM10的颗粒浓度[10],其颗粒物直径分辨率为0.3μm。

无线通信选用USR-WiFi232-T模块,有AP和STA两种工作模式。当系统工作在单机模式时,WiFi模块工作在AP模式下,此时可以通过手机的WiFi功能连接到WiFi模块,从而实时获取空气质量指标数据;当系统工作在网络模式时,WiFi模块工作在STA模式下,可将传感器阵列采集的空气质量监测数据上传至服务器,供Android客户端和微信公众号访问。

3 软件部分

3.1 系统远程服务器

远程服务器采用EJB组件进行数据库的操作与管理,使用Servlet组件为远程访问提供接口(图3)。Servlet提供了一个请求-响应工作模式,完成与客户端的数据交互。

图3 远程服务器与客户端的数据交互

系统选用MySQL作为后台数据库,其优势在于小型化、速度快和易于学习。系统要对所有监测点位的信息、监测点位上传的空气质量数据和用户信息进行管理,综合考虑数据的查询速度、更新效率和代码编写的方便性,建立用户表、用户登录信息表、监测点位表、原始数据表、均值数据表、上传文件记录表和用户操作足迹表。

GIS服务为Android客户端和微信公众号提供地图在线访问功能。系统使用ArcGIS软件中的ArcGIS Server发布地图[11]。在地图发布成功之后,使用Catalog做地图切片,做出的切片作为离线地图发布在服务器上供客户端下载。

3.2 系统Android客户端

3.2.1 单机模式下客户端功能设计

单机模式下客户端通过WiFi接收并保存硬件系统发送的空气质量监测数据,底层硬件系统开启UDP Server服务,Android客户端作为UDP Client与硬件系统建立连接。数据格式由包头、命令字节、数据区和校验字节区组成。数据传输的时间间隔可由用户在命令下发页面进行配置。

如图4所示,客户端采用多线程解决方案开发,主线程负责管理和响应各个子线程,即子线程的启动、挂起及停止等操作。子线程用于数据的接收、存储及曲线绘制等,确保程序多功能的实现。

客户端首先对所接收数据进行简单的滤波分析处理,然后将数据投送到数据显示和数据存储线程。数据显示线程在接收到数据后,刷新当前页面。实时数据显示有表盘和示波器两种方式,如图5所示,其中示波器页面支持单通道和多通道数据显示,支持缩放操作。

图4 客户端数据处理流程

如图6所示,实时数据在不停的刷新过程中,数据存储线程会对实时数据进行不间断地分析处理,从中提取出时均、日均等数据,并将数据写入历史文件中。历史文件由文件头、时标区和数据区构成,历史文件生成时首先生成文件头,初始化时标区,并启动AlarmManager整点定时。客户端周期性地与WiFi模块交互获取空气质量数据,文件服务线程将接收的数据写入数据文件的数据区,并对接收到的数据做累加计数中间操作。当文件服务线程接收到AlarmManager整点消息后,依据累加计数中间操作进行时均数据处理,如果当前时间为凌晨或月末凌晨,则依据累加计数中间操作分别做日均和月均数据处理,然后将均值数据写入数据区并将此时均值数据在文件中的位置写入时标区,最后累加计数中间操作数置零。

图5 数据显示界面

图6 历史文件生成流程

3.2.2 网络模式下客户端功能设计

网络模式下远程服务器开启UDP Server服务,硬件系统作为UDP Client向远程服务器发送数据。客户端与远程服务器采用Http Post形式交互。客户端根据GPS信号计算需展现的GIS地图区域并获取监测点位置信息,然后去查询离线地图中是否包含该区域,如有则展示离线地图,否则从服务器获取地图(地图的加载通过移植ArcGIS for Android实现)。服务器根据监测点位位置获取该点位最近上传的12组数据,并将它们封装成JSON格式,以数据流形式返回客户端。客户端接收到响应数据进行显示操作。交互过程中在网络中传输的数据采用AES算法进行加密。网络模式显示效果如图7所示。

图7 网络模式显示效果

客户端可将单机模式下存储的数据采用HttpURLConnection方式上传至服务器,远程服务器接收保存数据文件,并启动数据解析进程,解析文件头、时标区数据,逐行获取空气质量监测数据并将它们导入数据表。

客户端支持用户查看测量点周围的全景图。通过移植PanoramaGL包实现用户与全景图交互的旋转、放缩等事件,所有监测点位的全景图都存放在远程服务器上,客户端从服务器下载全景图后进行展示。

为了向用户推送合适点位的空气质量监测数据,客户端采用数据挖掘算法提取距离用户最近的监测点位信息。数据挖掘流程如下:

a. 利用K-Mean算法对后台记录的用户所在位置的GPS信息和调取点位的位置信息进行聚类分析,一般情况下最多允许将位置数据分为3个类别,统计每簇数据中数据的个数,选取数据个数最多的簇为最终计算结果;

b. 计算出数据簇的中心位置,然后由中心位置坐标逐渐向外延伸直到至少包含一个监测点位;

c. 最后利用KNN最邻近算法,以监测点位位置坐标为训练集数据,数据簇的中心位置为测试数据,得到距离数据簇中心最近的监测点位。

客户端会在用户登录时优先推送这些点位的监测数据,推送的消息以Notification形式出现在用户手机的通知栏,用户只需点击通知栏信息就可以跳转到远程数据调取页面。

3.3 微信公众平台开发

为了方便用户获取空气质量数据,系统微信公众号提供了GIS地图、数据查询、使用帮助及AQI指数简介等模块。

微信公众平台提供完整的自定义菜单接口,自定义菜单的实现是通过向微信自定义菜单创建接口发送固定格式的JSON数据[12]。该公众号创建菜单的JSON数据如下:

{″button″:[{″name″: ″GIS地图″:″type″:″view″, ″url″:″****/MapServer″},

{″name″:″数据查询″, ″key″:″KEY_SEARCH″,″type″:″click″},

{″name″:″更多″, ″sub_button″:[

{″name″:″官方APP″, ″key″:″KEY_APP″,″view″:″click″, ″url″:″***″,

{″name″:″AQI指数″, ″key″:″KEY_AQI″,″type″:″click″},

{″name″:″使用帮助″, ″key″:″KEY_HELP″,

″type″:″click″}]}]}

微信公众平台的Web页面设计采用了专门针对移动终端设备浏览器的jQuery Mobile脚本框架[13],界面显示效果如图8所示。用户在点击GIS地图按钮后,公众号会获取用户所在地的位置信息并加载地图网页,地图页面通过引入ArcGIS for JavaScript的JS文件实现。地图加载前首先根据微信公众平台提供的地理位置接口获取用户所处的地理位置信息,然后根据地理位置信息获取地图初始化显示的区域和该区域内所有的监测点位坐标。地图加载完成后在地图上标注监测点位图标,这些图标可以响应用户的点击操作并调取该监测点的空气质量数据。数据查询模块默认获取的是距离用户所在位置最近的监测点位的数据,同时系统支持用户通过回复地名的方式调取相应地区的空气质量数据。使用帮助、AQI指数简介等模块提供了公众号的使用说明和常见的我国对AQI指数说明的介绍。

图8 微信公众号界面

4 结束语

笔者设计的空气质量监测系统包括硬件系统和软件系统两部分,硬件系统完成空气质量数据的采集与传输,软件系统完成空气质量数据的管理、分析及显示等功能。设计完成后进行的集成测试表明:硬件系统运行稳定,客户端和微信公众号的GIS地图加载正常,能实时展示各个监测点的空气质量信息,能够读取历史信息。该系统的成本较低,具有一定的实际应用价值。

[1] 刘硕,齐咏生,王林,等.电站锅炉煤耗与NOx排放混合建模与优化[J].石油化工自动化,2016,52(1):30~34.

[2] 刘婵芳.我国环境空气监测评价现状分析与改善建议[J].科技创新与应用,2012,(20):106~107.

[3] 刘蕊,张明顺.欧盟空气质量监测现状及加强我国空气质量监测体系建设的建议[J].环境监测管理与技术,2015,27(2):7~10.

[4] 王杰.一种基于PIC单片机的手持式空气质量监测仪[J].新技术新工艺,2015,(5):59~61.

[5] 严奉轩,吴霆,赵加鹏,等.基于PIC单片机的手持式空气质量监测仪[J].微型机与应用,2013,32(22):29~31.

[6] 卢超.分布式无线空气质量监测系统[J].自动化仪表,2014,35(4):57~60.

[7] 钟流举,郑君瑜,雷国强,等.空气质量监测网络发展现状与趋势分析[J].中国环境监测,2007,23(2):113~118.

[8] 闫涛.基于物联网的空气质量监测系统设计与应用技术研究[D].济南:山东大学,2016.

[9] 张丽英,庄乾章,聂春艳.二氧化硫气体在线检测过程中传感器输出信号稳定性能的分析[J].传感器世界,2002,8(5):13~16.

[10] 陈钊.基于激光散射原理的矿用烟雾传感器检定装置[J].光电工程,2015,42(7):67~71.

[11] 池建.精通ArcGIS地理信息系统[M].北京:清华大学出版社,2010.

[12] 刘宏艳.基于JavaEE的微信营销管理系统的研究与实现[D].北京:华北电力大学,2015.

[13] 徐尤华,熊传玉.JQuery Mobile1.2移动Web开发方法研究[J].信息技术,2013,(8):85~88.

AirQualityMonitoringSystemBasedonIOTPerception

WANG Bao-yan1, JIANG Qi1, CAO Hui-ying2

(1.CollegeofControlScienceandEngineering,ShandongUniversity;2.DepartmentofMachineryTechnology,ShandongLaborVocationalandTechnicalCollege)

Considering incomplete air quality monitoring network in small and middle-sized cities and suburbs and basing on IOT perception, embedded and Android technologies, a real-time air quality monitoring system was designed, which has an embedded STM32 SCM taken as the control core, selects high precision sensor to collect the data of PM2.5, PM10 and SO2, CO, O3and NO2and then has the data stored in a remote server established and the ArcGIS server adopted to provide map service as well as both Android client and WeChat official accounts employed to display and manage these data. The air quality monitoring system designed has good reliability, real time performance and practicability.

remote data management,real-time air quality monitoring system, IOT, embedded STM32, ArcGIS, Android

国家自然科学基金项目(61473175);山东省重点研发计划项目(2016GGX104015)。

王保岩(1992-),硕士研究生,从事工业自动化技术的研究。

联系人蒋奇(1973-),教授,从事检测技术与自动化装置、新型传感和光纤传感器的研究,jiangqisd@126.com。

TH865,X831

A

1000-3932(2017)06-0581-05

2016-07-22,

2017-03-20)

猜你喜欢
空气质量监测点客户端
天津南港LNG接收站沉降监测点位布设
抚河流域综合治理监测布局优化
全站仪极坐标法监测点稳定性分析方法研究
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
湖区航道风速预警监测点布设研究
车内空气质量标准进展
重视车内空气质量工作 制造更环保、更清洁、更健康的汽车