鹅厂的这波青年,自发搭建了一套分布式大气监测系统
引言
“绿水青山,就是金山银山”,随着我国加强立法,大力投入环境治理,大家已经明显感觉到身边的大气环境在不断改善,那么除了国家气象局的城市级监测数据外,我们身边的微环境究竟是什么样子的呢?接下来的进一步环保努力,又应该在什么位置呢?
为了跟踪小区级的微环境质量,腾讯内部发起了一个实验性项目:细粒度的分布式大气监测。此系统完全基于腾讯云搭建,组成部分包含:腾讯云-物联网开发平台、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项国家专利,现负责腾讯生态联合实验室建设及相关标准制定。