引言git
爲了跟蹤小區級的微環境質量,騰訊內部發起了一個實驗性項目:細粒度的分佈式大氣監測。此係統徹底基於騰訊雲搭建,組成部分包含: 騰訊雲-物聯網開發平臺 、 TencentOS tiny 、 騰訊雲-API網關 、 騰訊雲-雲函數 、 騰訊雲-雲數據庫 、 騰訊雲-騰訊雲圖 ,以及配套的 NUCLEO LoRa 開發套件、攀藤 PMS7003 顆粒物傳感器等。
咱們早期設定的目標,是在目標小區部署終端,並以15秒的監測頻率,記錄、追蹤空氣質量的波動,將跟蹤粒度,由大環境監測細化到微環境監測,實時監測如吸菸、廚房油煙對空氣質量的影響。
但在原型系統上線後,僅在5個種子節點的狀況下,咱們意外的追蹤到了大環境污染氣團在深圳的移動過程。接下來,將分兩個部分進行介紹,分別是「系統簡介與追蹤分析」及「系統技術架構」,詳細的系統各組成部分的技術拆解說明,將在後續陸續放出。
1、系統簡介與追蹤分析github
1. 系統數據界面
先看一下系統的數據界面。
數據庫
包含三個頁面:後端
原型系統終端:擁有5個種子節點,均放置於志願者家中的露天陽臺上,直接監測生活環境數據。具體分佈地點位於:
- 001:南山區 - (前海:西南部)
- 002:南山區 - (前海:東北部)
- 003:南山區 - (後海:海岸城)
- 004:寶安區 - (寶安:西部)
- 005:寶安區 - (寶安:東部)
注: 005節點選擇了廚房外的陽臺,用於局部真實環境數據的突出展現(吸菸、油煙等),因此後續展現數據中,短時間波動比較大。
3. 追蹤數據與分析
短時間污染氣團移動的狀況,出現過屢次,這裏針對一次典型的事件分析,來看一下具體狀況的分析過程,事件時間是 2020年4月3日 星期五。
(1)系統數據
接下來看一下90分鐘數據
由兩個前後時間的截圖能夠明顯發現,這是一個外部顆粒物氣團,且有一個明顯的移動過程:
- 西側的一、4節點,監測指標首先上升,首先降低;
初步判斷:污染源是由外部進入深圳,是一個自西向東的移動過程。
因爲咱們的節點較少,未覆蓋深圳之外地區,因此接下來咱們使用了中國氣象局及aqicn.org(第三方數據,可信度未知,這裏僅作參考)的數據,進行對比,及外源性分析。
(2)公開數據
先看一下國家氣象局深圳南油監測點的數據。
國家氣象局數據,每小時更新一次,每次一個數據指標,就指標來看,監測數據確實存在一個上升過程,並在16點進入告警狀態。
也就是說,指標上升是真實存在的。
再看一下 aqicn.org 的數據。(第三方參考數據,不對其可信度負責,可信數據請關注國家氣象局數據)
但順德、中山位於深圳的西北方和西方,爲何咱們的系統監測看,彷佛僅僅是西方傳播源呢?爲了進一步瞭解這個問題,咱們接下來看一下地理狀況及路徑分析。
(3)污染來源與路徑分析
先來看一下三地的地形狀況
能夠發現,有幾座山嶺隔開了西北方向的直達路徑,且因爲珠江入海口的海拔,提供了一個允裕的傳遞通道。
咱們假設有兩個傳播方向,猜想一下傳播效果:
a) 西北方擴散而來
因爲多個山嶺的阻隔,比較難以快速到達,反而會在中山一帶彙集,造成一個位於西方的滯留點。
b) 西方擴散而來
橫跨珠江,自西向東,通道順暢,理論上是具有條件的。
也就是說,不管污染氣團是西北方傳播過來,仍是西方傳播過來,都將產生咱們系統中監測的數據效果。咱們的監測系統,是真實有效的。
注:本實驗性項目,僅僅是驗證技術可行性,相關論述僅爲模擬性推理,不表明實際狀況。
2、系統技術架構api
1. 系統架構圖
本系統的核心部分,徹底由騰訊雲相關產品實現,並配合騰訊雲兼容產品,共同搭建了系統。下圖介紹了架構組成及使用的雲產品。
(1)監測節點
監測節點由三個部分組成:
- 固件:軟件層,使用TencentOS Tiny,可使用加密通訊方式,對接騰訊雲物聯網開發平臺。
(2)本地網關
網關分爲兩類,用於不一樣環境的接入,監測節點經過網關接入網絡,並與騰訊雲通訊:
- LoRa網關:支持LoRa協議終端的接入,單網關支持1km~10km的覆蓋能力。因爲是長距通訊能力,因此在沒法使用網關時,也可以使用低軌衛星接入。
3. 雲端模塊與功能
(1)物聯網接入層
使用 騰訊雲-物聯網開發平臺 ,實現終端加密接入騰訊雲,具有多產品管理、多協議接入、數據解析、基礎存儲、狀態監測等物聯網核心能力。
本項目中將複雜的邏輯處理,轉交其它雲產品承接,使用了物聯網開發平臺的轉推功能,將數據傳遞到應用接入模塊。
(2)應用接入層
使用 騰訊雲-API網關 ,實現快速的REST服務接口,全面PaaS化的接入服務,後端銜接邏輯層,負擔監測數據格式化、展現數據複合化的出入口功能。
(3)邏輯層
使用 騰訊雲-雲函數 ,進行實時、定時的邏輯處理。有三種應用:
- 實時入庫:將API網關轉發的數據,經拆解、分析、入數據庫。
- 定時分析:使用自帶的按期任務能力,按小時、天等時間,對數據進行彙總分析。
- 實時查詢:基於嚴格鑑權,向展現層提供展現數據。使展現數據有更好的緩存、與複雜數據組合能力。
(4)存儲層
使用 騰訊雲-雲數據庫 ,基於雲數據庫的高性能與高穩定性,且當前種子節點數據較少的狀況,直接使用數據庫記錄數據。
(5)展現層
使用 騰訊雲-騰訊雲圖 ,利用雲圖強大的地圖、視效、多接口兼容能力,快速搭建豐富的展現效果。
在展現頁中,全部的地圖數據均爲實時繪製,經過 騰訊雲-API網關 和 騰訊雲-雲函數 這兩個產品配合提供的接口數據,按指定經緯度展現數據效果。雲圖自帶的2D、3D省市區展現效果,將應用在本項目的後續功能中。
3、結語緩存
因爲項目架構點多,且受限於篇幅緣由,本文僅展現了實驗性項目的核心效果與架構概述,具體每一個模塊的技術實現與處理細節,將在後續文章中,逐個展開說明。請你們關注後續文章。
注:本項目爲實驗性項目,相關數據與推論均爲簡單分析。準確的監測數據值,還請關注國家氣象局數據。
做者簡介微信
本文分享自微信公衆號 - 氣象學家(Meteorologist2019)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。網絡