鹅厂的这波青年,自发搭建了一套分布式大气监测系统

谁都会走 提交于 2020-07-28 02:52:48

​引言

 

“绿水青山,就是金山银山”,随着我国加强立法,大力投入环境治理,大家已经明显感觉到身边的大气环境在不断改善,那么除了国家气象局的城市级监测数据外,我们身边的微环境究竟是什么样子的呢?接下来的进一步环保努力,又应该在什么位置呢?

为了跟踪小区级的微环境质量,腾讯内部发起了一个实验性项目:细粒度的分布式大气监测。此系统完全基于腾讯云搭建,组成部分包含:腾讯云-物联网开发平台、TencentOS tiny、腾讯云-API网关、腾讯云-云函数、腾讯云-云数据库、腾讯云-腾讯云图,以及配套的 NUCLEO LoRa 开发套件、攀藤 PMS7003 颗粒物传感器等。

我们早期设定的目标,是在目标小区部署终端,并以15秒的监测频率,记录、追踪空气质量的波动,将跟踪粒度,由大环境监测细化到微环境监测,实时监测如吸烟、厨房油烟对空气质量的影响。

但在原型系统上线后,仅在5个种子节点的情况下,我们意外的追踪到了大环境污染气团在深圳的移动过程。接下来,将分两个部分进行介绍,分别是“系统简介与追踪分析”及“系统技术架构”,详细的系统各组成部分的技术拆解说明,将在后续陆续放出。
 






一、系统简介与追踪分析

 

1. 系统数据界面


先看一下系统的数据界面。
 


包含三个页面:

- 带有地理位置展示的实时监测数据展示;

- 90分钟历史数据;

- 30天历史数据。

 

2. 监测节点分布



原型系统终端:拥有5个种子节点,均放置于志愿者家中的露天阳台上,直接监测生活环境数据。具体分布地点位于:

- 001:南山区 - (前海:西南部)
- 002:南山区 - (前海:东北部)
- 003:南山区 - (后海:海岸城)
- 004:宝安区 - (宝安:西部)
- 005:宝安区 - (宝安:东部)

注: 005节点选择了厨房外的阳台,用于局部真实环境数据的突出展示(吸烟、油烟等),所以后续展示数据中,短期波动比较大。











3. 追踪数据与分析



短期污染气团移动的情况,出现过多次,这里针对一次典型的事件分析,来看一下具体情况的分析过程,事件时间是 2020年4月3日 星期五。



(1)系统数据

 

实时监测页面

 

由此截图可知,西侧的宝安、南山前海的空气质量尚可,但东侧的后海等地已经出现了读数升高的情况。是内源问题吗?还是数据异常?

接下来看一下90分钟数据

 


由两个先后时间的截图可以明显发现,这是一个外部颗粒物气团,且有一个明显的移动过程:


- 西侧的1、4节点,监测指标首先上升,首先下降;

- 东侧的2、3、5节点,监测指标延后上升,延后下降。

初步判断:污染源是由外部进入深圳,是一个自西向东的移动过程。

由于我们的节点较少,未覆盖深圳以外地区,所以接下来我们使用了中国气象局及aqicn.org(第三方数据,可信度未知,这里仅做参考)的数据,进行对比,及外源性分析。





(2)公开数据

 


先看一下国家气象局深圳南油监测点的数据。

 


国家气象局数据,每小时更新一次,每次一个数据指标,就指标来看,监测数据确实存在一个上升过程,并在16点进入告警状态。

也就是说,指标上升是真实存在的。

再看一下 aqicn.org 的数据。(第三方参考数据,不对其可信度负责,可信数据请关注国家气象局数据)
 





 

aqicn.org 虽然也是以小时为频率更新数据,但提供了地理维度的数据展示效果。从图中可以看到,顺德、中山出现了更高的监测指标,结合我们自己系统的污染源移动数据,初步的推断是:也许顺德、中山首先受到了影响,且污染气团进一步越过珠江,到达了深圳。

但顺德、中山位于深圳的西北方和西方,为什么我们的系统监测看,似乎仅仅是西方传播源呢?为了进一步了解这个问题,我们接下来看一下地理情况及路径分析。



(3)污染来源与路径分析



先来看一下三地的地形情况

 


可以发现,有几座山岭隔开了西北方向的直达路径,且由于珠江入海口的海拔,提供了一个允裕的传递通道。

我们假设有两个传播方向,猜测一下传播效果:

a) 西北方扩散而来




 


由于多个山岭的阻隔,比较难以快速到达,反而会在中山一带聚集,形成一个位于西方的滞留点。

b) 西方扩散而来


 


横跨珠江,自西向东,通道顺畅,理论上是具备条件的。

也就是说,无论污染气团是西北方传播过来,还是西方传播过来,都将产生我们系统中监测的数据效果。我们的监测系统,是真实有效的。

注:本实验性项目,仅仅是验证技术可行性,相关论述仅为模拟性推理,不代表实际情况。





 

二、系统技术架构

 

 

接下来,说明一下系统的组成,以及架构原理。



1. 系统架构图



本系统的核心部分,完全由腾讯云相关产品实现,并配合腾讯云兼容产品,共同搭建了系统。下图介绍了架构组成及使用的云产品。

2. 终端模块与功能



(1)监测节点



监测节点由三个部分组成:

- 固件:软件层,使用TencentOS Tiny,可以使用加密通信方式,对接腾讯云物联网开发平台。



- 主控板:硬件层,使用兼容TencentOS Tiny的硬件产品,搭载固件,读取传感器,上报数据至腾讯云。

- 传感器:硬件层,此处使用了比较常见的攀藤传感器,用于监测数据。



(2)本地网关



网关分为两类,用于不同环境的接入,监测节点通过网关接入网络,并与腾讯云通信:


- LoRa网关:支持LoRa协议终端的接入,单网关支持1km~10km的覆盖能力。由于是长距通信能力,所以在无法使用网关时,也可使用低轨卫星接入。

- WiFi网关:支持WiFi协议终端的接入,用于家庭环境的接入。


  
3. 云端模块与功能



(1)物联网接入层



使用 腾讯云-物联网开发平台,实现终端加密接入腾讯云,具备多产品管理、多协议接入、数据解析、基础存储、状态监测等物联网核心能力。

本项目中将复杂的逻辑处理,转交其它云产品承接,使用了物联网开发平台的转推功能,将数据传递到应用接入模块。





(2)应用接入层



使用 腾讯云-API网关,实现快速的REST服务接口,全面PaaS化的接入服务,后端衔接逻辑层,负担监测数据格式化、展示数据复合化的出入口功能。



(3)逻辑层



使用 腾讯云-云函数,进行实时、定时的逻辑处理。有三种应用:

- 实时入库:将API网关转发的数据,经拆解、分析、入数据库。

- 定时分析:使用自带的定期任务能力,按小时、天等时间,对数据进行汇总分析。

- 实时查询:基于严格鉴权,向展示层提供展示数据。使展示数据有更好的缓存、与复杂数据组合能力。









(4)存储层



使用 腾讯云-云数据库,基于云数据库的高性能与高稳定性,且当前种子节点数据较少的情况,直接使用数据库记录数据。



(5)展示层



使用 腾讯云-腾讯云图,利用云图强大的地图、视效、多接口兼容能力,快速搭建丰富的展示效果。

在展示页中,所有的地图数据均为实时绘制,通过 腾讯云-API网关 和 腾讯云-云函数 这两个产品配合提供的接口数据,按指定经纬度展示数据效果。云图自带的2D、3D省市区展示效果,将应用在本项目的后续功能中。
 




三、结语


由于项目架构点多,且受限于篇幅原因,本文仅展示了实验性项目的核心效果与架构概述,具体每个模块的技术实现与处理细节,将在后续文章中,逐个展开说明。请大家关注后续文章。

注:本项目为实验性项目,相关数据与推论均为简单分析。准确的监测数据值,还请关注国家气象局数据。


 

参考资料:

 

[1] 腾讯云-物联网开发平台:

https://cloud.tencent.com/product/iotexplorer

[2] TencentOS tiny:

https://github.com/Tencent/TencentOS-tiny

[3] 腾讯云-API网关:

https://cloud.tencent.com/product/apigateway

[4] 腾讯云-云函数:

https://cloud.tencent.com/product/scf

[5] 腾讯云-云数据库:

https://cloud.tencent.com/product/cdb

[6] 腾讯云-腾讯云图:

https://cloud.tencent.com/product/tcv

 

作者简介

高树磊,腾讯云高级生态产品经理,2015年加入腾讯,历任腾讯云基础产品经理及生态产品经理,拥有9项国家专利,现负责腾讯生态联合实验室建设及相关标准制定。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!