陈晓晴,郭楚秀,袁 灿,黄文豪,刘志勇
(南华大学计算机学院 湖南 衡阳 421000)
空气质量时刻影响着地球上各种生物的生存,同时也对人类的生产生活有着极大的影响。空气污染不仅给人类的呼吸系统带来极大危害,严重影响人类的生命健康,而且会引发植物抗病能力下降以及动物因空气污染生病或死亡,甚至会形成酸性降雨导致水质恶化、“温室效应”凸显、全球部分地区遭到热浪、热带风暴侵袭等。因此,空气环境的预防和治理非常重要,而空气的监测是预防和治理的基础[1]。
国内目前已在全国建立了较为广泛的空气质量监测网络系统,该网络系统包括多个城市的空气监测点。国内对空气质量的监测主要包括悬浮颗粒物和氮氧化物等,而且在一系列改革措施下空气质量监测现状已得到改观,建立了更为完善的监测系统,也有通过将KNN算法嵌入空气监测设备来实现对空气质量进行改善的研究[2],但还不够完善,存在监测点布局不合理、监测指标不够全面、监测系统区域覆盖不够广泛、空气质量监测制度还需要进一步完善等不足。本项目着重研究空气质量的监测与治理、充分改善了以上不足,主要完成的工作如下。
(1)通过优化蒙特卡洛算法,使得机器可以在一定范围内根据所获取的空气质量信息计算出最佳仪器地点。
(2)监测机器会对空气中的PM2.5、SO2、NO2、O3等各项指标进行监测,囊括范围广。
(3)数据采集后运用最新的5G技术NB-IoT模块将数据传入以太网,该技术具有覆盖广、大连接、功耗小、成本低等优势,可以有效地解决用户接收信息延迟的问题。
(4)应用可视化监测界面,用户直观查看空气质量数据,并根据提示采取相应治理措施。
本系统面向的用户主要是政府、工厂等对空气质量改善有实际需求的机构或者群体,它主要分为两个模块,即采集数据的硬件模块和显示数据的可视化平台。用户可以充分利用这两个模块进行空气质量的监测与治理,不仅减少了客观因素的影响,而且有利于各政府、工业的生产生活。实现空气质量的有效监测并治理是很有意义的,特别是当前人们对生活水平要求日益提高的前提下,改善环境质量就成为必然趋势,本项目着重研究空气监测与治理系统的各方面优化,采用的是基于蒙特卡洛算法研究得到的模型,在该模型中还引用了5G技术,与以前研究的模型相比,有更高的准确度、信息接收率、反应速度以及实用性。
本系统采用的是蒙特卡洛算法,蒙特卡洛算法是以概率和统计的理论、方法为基础的一种数值计算方法,将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解,它可以通过大量模拟,然后计算一个事件发生的次数,得到想要计算的结果[5]。系统引用蒙特卡洛算法的思想来寻找仪器最佳治理点,其基本思路是在前人研究的基础之上加以改进,在所要监测的区域随机撒点,把这些点划分为多个小区域,然后计算小区域的随机点的个数及其所占总数的比重,个数多区域的代表所监测气体浓度大的区域,然后在这个浓度大的区域内重复上述操作,直到找到最佳监测位置[6],找到之后将机器放至该处进行优先治理,该区域治理完成之后,机器将会继续利用该算法寻找下一个最佳监测点,如此重复直至需要治理的区域空气质量达标为止,具体见图1。
图1 蒙特卡洛算法的场景模拟
获取监测区域空气监测数据,将数据导入蒙特卡洛算法训练模型,计算出最佳监测地点,人工将监测和治理设备放置到该地点,获取最准确空气加测数据,并采取相对简单的治理措施。对比传统应用,仅监控某个点、某片区域,容易被第三方因素影响,造成最终结果偏差较大。本方案将解决这一问题,更多地考虑第三方因素。蒙特卡洛方法应用广泛,已被各行各业认可且实际应用,成熟且可靠。
当所监测数据的数值达到一定阀值,该监测治理设备可直接采取相对简单的治理措施。比如监测空气湿度。当空气湿度下降到一定数值,该监测设备可直接控制附近加湿设备打开阀门进行加湿,当湿度上升到一定数值则关闭阀门,停止加湿。
系统APP将获取的数据进行分析后,通过可视化界面展示,用户可更直观方便地观看数据,并根据提示,采取相应治理措施。例如监测整个城市的空气质量,则可点击地图中具体位置,显示该地的空气质量情况具体数据,并给出该地治理措施的建议。
系统在监测过程中,如发现空气质量异常差或者某气体含量严重超标的情况,会及时地向相关部门进行报警,相关部门就会对其进行治理。
本系统主要由采集模块和用户模块组成,其中采集模块是由单片机和监测模块组成,监测模块采用蒙特卡洛算法通过随机撒点的方式找到最佳监测位置,以便于更加准确的、实时地监测并采集当前环境的空气质量参数。监测所用的网络使用5G技术,由NB-IoT芯片组成,用于将采集到的数据传入以太网的数据库中。与此同时,当空气中PM2.5等各类空气因子值处于不平衡状态时,单片机能自动做出相应措施。
用户模块主要由使用Django作为后台框架的web前端和app组成,用于对数据的处理和管理。用户交互模块采用MVT结构进行设计,其中M为Model,主要负责应用和数据库的交互;V为View,主要负责将UI界面模板呈现给用户并和用户进行交互;而T则为Template,主要是UI界面的模板。在本作品中,主要分登录、查看监测数据、发送执行命令等等这几个与用户交互的功能,具体框架图如图2所示。
图2 系统功能模块图
如下图3,该项目的层次结构分为四层,分别是应用层、平台层、网络层和感知层。
应用层:Web可视化开发工作台是物联网应用开发(IoT Studio)中的工具。物联网应用开发(IoT Studio)是阿里云针对物联网场景提供的生产力工具,是阿里云物联网平台的一部分。App是基于微信小程序的模式。
平台层:平台利用阿里云的IoT平台,提供优质稳定的物联网一站式管理平台,支持定向网络管理、智能选网等增值服务。后端起到存储、分发和数据分析的功能。
网络层:通信协议是基于MQTT,接入协议是基于NBIoT。
感知层:硬件使用考虑AT32F403A与传感器结合使用,软件部分考虑使用RT-Thread的操作系统,还有相应的软件包和一些应用程序。
图3 系统架构图
详细流程:
(1)每块Zigbee终端节点分别连接不同模块,如一块Zigbee终端节点里连接空气质量模块(CCS811),另一块连接颗粒物浓度测量模块(GP2Y1010AU0F)。
(2)Zigbee终端节点,与协调器通过Zigbee协议栈,组网,通过单播的形式,终端节点把获取的数据发送给协调器。
(3)协调器上连接NB-IoT模块,利用NB-IoT网络,上传至已经搭建好的服务器,上位PC机再获取服务器上得到的数据。
具体实现:
(1)开发协议栈应用层代码,编写协调器,三个终端代码。
(2)连接好对应传感器模块后,通过串口编写命令调用模块获得数据。
(3)利用Zigbee协议栈,改写为单播形式,终端节点把获得的数据发送给协调器。
(4)协调器连接NB-IoT模块,并使用NB-IoT网络,上传给已经搭建好的服务器,上位PC机再获取服务器上得到的数据,具体硬件实现流程图如下图4。
图4 硬件模块实现流程图
软件模块主要包括可视化平台即空气质量监测系统,主要提供空气质量监测、警报提示等功能。
3.3.1 可视化数据
系统APP将获取的数据进行分析后,通过可视化界面展示,用户可更直观方便地观看数据,并根据提示,采取相应治理措施。
3.3.2 预警报警
当监测到空气质量处于异常值时,系统会向有关部门进行预警报警,相关部门在接到报警之后会立即进行处理。警报提示功能满足用户众多需求。ADTS系统从服务器获取监测仪器获取的数据,经过分析统计,给出用户相应治理建议与行为指示;当监测的空气数据超过规定阀值时,系统发出警报,提醒用户及时做出治理措施。警报提示功能是为用户提供监测与治理空气质量的建议与警报,有利于用户根据建议采取措施,节省时间和人力。
3.3.3 数据统计分析
将获取到的数据进行多方面统计分析,并形成报告单反馈给第三方进行环境治理。
用户可在该界面查看对应大区域的各类空气质量信息及数据统计反馈等,也可以点击某一个区域的某一点进行实时数据查看,主要针对大范围的室外监测,如图5所示。
图5 室外监测可视化界面
点击室内按钮之后即可查看室内的各场所的数据信息,包括会议室、家居环境等,该可视化主要侧重于小范围空气质量的监测,如下图6。
图6 室内监测可视化界面
本系统通过分析数学方法蒙特卡洛算法来模拟最佳监测点,以实现对空气质量的精准监控并进行相关治理,以提高环保局或者其他相关部门对于空气质量的监管,有效地改善空气质量。各用户在使用本系统时可以快速地注册登录进入数据可视化界面,直观地获取相关信息。但是此监测系统还是有一定的缺陷,比如在寻找最佳监测点时存在误差。在后续的研究之中会进一步地改进和完善,如进行实地勘测、修改算法模型、结合多级预测[3]来提高其精确度,并且引入3D模型,将监测区域以三维的方式展示等[4]。