鵝廠的這波青年,自發搭建了一套分佈式大氣監測系統

​引言

「綠水青山,就是金山銀山」,隨着我國增強立法,大力投入環境治理,你們已經明顯感受到身邊的大氣環境在不斷改善,那麼除了國家氣象局的城市級監測數據外,咱們身邊的微環境到底是什麼樣子的呢?接下來的進一步環保努力,又應該在什麼位置呢? git

爲了跟蹤小區級的微環境質量,騰訊內部發起了一個實驗性項目:細粒度的分佈式大氣監測。此係統徹底基於騰訊雲搭建,組成部分包含:騰訊雲-物聯網開發平臺TencentOS tiny騰訊雲-API網關騰訊雲-雲函數騰訊雲-雲數據庫騰訊雲-騰訊雲圖,以及配套的 NUCLEO LoRa 開發套件、攀藤 PMS7003 顆粒物傳感器等。 github

咱們早期設定的目標,是在目標小區部署終端,並以15秒的監測頻率,記錄、追蹤空氣質量的波動,將跟蹤粒度,由大環境監測細化到微環境監測,實時監測如吸菸、廚房油煙對空氣質量的影響。 數據庫

但在原型系統上線後,僅在5個種子節點的狀況下,咱們意外的追蹤到了大環境污染氣團在深圳的移動過程。接下來,將分兩個部分進行介紹,分別是「系統簡介與追蹤分析」及「系統技術架構」,詳細的系統各組成部分的技術拆解說明,將在後續陸續放出。
 後端

1、系統簡介與追蹤分析

1. 系統數據界面

先看一下系統的數據界面。
 api

包含三個頁面:緩存

- 帶有地理位置展現的實時監測數據展現;網絡

- 90分鐘歷史數據;架構

- 30天曆史數據。分佈式

2. 監測節點分佈

原型系統終端:擁有5個種子節點,均放置於志願者家中的露天陽臺上,直接監測生活環境數據。具體分佈地點位於: 函數

- 001:南山區 - (前海:西南部)
- 002:南山區 - (前海:東北部)
- 003:南山區 - (後海:海岸城)
- 004:寶安區 - (寶安:西部)
- 005:寶安區 - (寶安:東部)

注: 005節點選擇了廚房外的陽臺,用於局部真實環境數據的突出展現(吸菸、油煙等),因此後續展現數據中,短時間波動比較大。

3. 追蹤數據與分析

短時間污染氣團移動的狀況,出現過屢次,這裏針對一次典型的事件分析,來看一下具體狀況的分析過程,事件時間是 2020年4月3日 星期五。

(1)系統數據

實時監測頁面

由此截圖可知,西側的寶安、南山前海的空氣質量尚可,但東側的後海等地已經出現了讀數升高的狀況。是內源問題嗎?仍是數據異常?

接下來看一下90分鐘數據

由兩個前後時間的截圖能夠明顯發現,這是一個外部顆粒物氣團,且有一個明顯的移動過程:

- 西側的一、4節點,監測指標首先上升,首先降低;

- 東側的二、三、5節點,監測指標延後上升,延後降低。

初步判斷:污染源是由外部進入深圳,是一個自西向東的移動過程

因爲咱們的節點較少,未覆蓋深圳之外地區,因此接下來咱們使用了中國氣象局及aqicn.org(第三方數據,可信度未知,這裏僅作參考)的數據,進行對比,及外源性分析。

(2)公開數據

先看一下國家氣象局深圳南油監測點的數據。

國家氣象局數據,每小時更新一次,每次一個數據指標,就指標來看,監測數據確實存在一個上升過程,並在16點進入告警狀態。

也就是說,指標上升是真實存在的

再看一下 aqicn.org 的數據。(第三方參考數據,不對其可信度負責,可信數據請關注國家氣象局數據)
 

aqicn.org 雖然也是以小時爲頻率更新數據,但提供了地理維度的數據展現效果。從圖中能夠看到,順德、中山出現了更高的監測指標,結合咱們本身系統的污染源移動數據,初步的推斷是:也許順德、中山首先受到了影響,且污染氣團進一步越過珠江,到達了深圳

但順德、中山位於深圳的西北方和西方,爲何咱們的系統監測看,彷佛僅僅是西方傳播源呢?爲了進一步瞭解這個問題,咱們接下來看一下地理狀況及路徑分析。

(3)污染來源與路徑分析

先來看一下三地的地形狀況

能夠發現,有幾座山嶺隔開了西北方向的直達路徑,且因爲珠江入海口的海拔,提供了一個允裕的傳遞通道。

咱們假設有兩個傳播方向,猜想一下傳播效果:

a) 西北方擴散而來

因爲多個山嶺的阻隔,比較難以快速到達,反而會在中山一帶彙集,造成一個位於西方的滯留點。

b) 西方擴散而來

橫跨珠江,自西向東,通道順暢,理論上是具有條件的。

也就是說,不管污染氣團是西北方傳播過來,仍是西方傳播過來,都將產生咱們系統中監測的數據效果。咱們的監測系統,是真實有效的

注:本實驗性項目,僅僅是驗證技術可行性,相關論述僅爲模擬性推理,不表明實際狀況。

 

2、系統技術架構

接下來,說明一下系統的組成,以及架構原理。

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省市區展現效果,將應用在本項目的後續功能中。
 

3、結語

因爲項目架構點多,且受限於篇幅緣由,本文僅展現了實驗性項目的核心效果與架構概述,具體每一個模塊的技術實現與處理細節,將在後續文章中,逐個展開說明。請你們關注後續文章。

注:本項目爲實驗性項目,相關數據與推論均爲簡單分析。準確的監測數據值,還請關注國家氣象局數據。

參考資料:

[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項國家專利,現負責騰訊生態聯合實驗室建設及相關標準制定。

相關文章
相關標籤/搜索