趙曉慶,閆卓宜,劉世兵,劉 波
(山東工商學院 信息與電子工程學院,山東 煙臺 264005)
近年來,校園、小區(qū)等小環(huán)境內(nèi)的空氣污染愈發(fā)嚴重,對人們的日常生活造成了極大危害,快速部署小型空氣質(zhì)量監(jiān)測系統(tǒng)對有害氣體進行監(jiān)測尤為重要[1]。目前大部分空氣質(zhì)量監(jiān)測系統(tǒng)采用的方法是部署包括自建服務器在內(nèi)的一整套獨立系統(tǒng)[2],但針對區(qū)域內(nèi)的空氣監(jiān)測,采用該方法存在系統(tǒng)部署難、維護成本高等問題[3]。
隨著工業(yè)物聯(lián)網(wǎng)的快速發(fā)展,互聯(lián)網(wǎng)和云平臺技術成為解決小環(huán)境內(nèi)空氣質(zhì)量監(jiān)測的重要手段之一[4-6]。借助云平臺管理監(jiān)測節(jié)點和監(jiān)測數(shù)據(jù),快速部署小環(huán)境內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng),構建“端-網(wǎng)-云-用”智能結合的網(wǎng)絡集聚生態(tài)。
本文基于透傳云平臺設計了一種小型空氣質(zhì)量實時監(jiān)測系統(tǒng),可實時監(jiān)測小環(huán)境內(nèi)的可吸入顆粒物(PM2.5)、總揮發(fā)性有機物(TVOC)、甲醛(CH2O)、等效二氧化碳(eCO2),設備便攜且監(jiān)測誤差小。系統(tǒng)通過傳感器采集局部區(qū)域內(nèi)有害氣體的濃度,利用低功耗無線傳輸技術將監(jiān)測值發(fā)送至接入的云端服務器,采用瀏覽器及移動APP客戶端對數(shù)據(jù)進行實時顯示,不受地區(qū)限制。
云平臺是以互聯(lián)網(wǎng)為核心,面向物聯(lián)網(wǎng)開發(fā)者、軟件開發(fā)者和企業(yè)客戶的物聯(lián)網(wǎng)軟硬件平臺。云平臺提供多種接入?yún)f(xié)議和方案,完成硬件設備與云端的數(shù)據(jù)交互;提供自動處理和存儲數(shù)據(jù)等服務,實現(xiàn)零編程處理;提供客戶端二次開發(fā)接口,可實現(xiàn)數(shù)據(jù)快速應用。
云平臺種類繁多,目前國內(nèi)市場上應用較多的有QQ物聯(lián)、機智云、百度智能云、阿里云、中國移動OneNET和有人透傳云等。QQ物聯(lián)必須關聯(lián)手機QQ客戶端,進行用戶與設備、設備與設備之間的互聯(lián)互通,對脫離QQ軟件的用戶而言使用不便[7];機智云在進行移動客戶端開發(fā)時,手機和硬件設備必須連接同一網(wǎng)絡,對使用不同網(wǎng)絡的用戶而言使用不便[8];針對小環(huán)境空氣質(zhì)量監(jiān)測,百度智能云、阿里云、中國移動OneNET的使用和維護費用較高;有人透傳云獨立于其他軟件,避免了網(wǎng)絡共用,能有效降低研發(fā)成本,在小型物聯(lián)網(wǎng)監(jiān)測領域具有更好的應用前景。
透傳云是有人物聯(lián)網(wǎng)技術有限公司打造的一站式云服務系統(tǒng)[9],其核心是面向用戶和設備的云組態(tài)模塊,可自動進行數(shù)據(jù)處理和存儲,并提供多種設備接入?yún)f(xié)議和用戶開發(fā)接口,實現(xiàn)設備與云平臺和用戶與云平臺的交互。云組態(tài)模塊的基本工作原理如圖1所示。
圖1 云組態(tài)模塊的基本工作原理
1.2.1 設備通信協(xié)議
為適應不同的應用場景,透傳云可采用GPRS/2G/3G/4G、NB-IoT等組網(wǎng)方式,及CoAP、LoRaWAN等接入?yún)f(xié)議和方案,將設備快速接入云平臺。CoAP主要適用于NB-IoT方式組網(wǎng),LoRaWAN主要適用于LoRa方式組網(wǎng)。
1.2.2 客戶端通信協(xié)議
透傳云平臺提供API,以便用戶與云平臺交互。API基于超文本傳輸安全協(xié)議(HTTPS)和消息隊列遙測傳輸協(xié)議(MQTT),提供包括登錄、設備管理、數(shù)據(jù)點管理、實時數(shù)據(jù)訪問、數(shù)據(jù)流訂閱/推送等訪問接口,實現(xiàn)云平臺與用戶之間的業(yè)務邏輯。
基于透傳云的空氣質(zhì)量監(jiān)測系統(tǒng)由監(jiān)測終端、透傳云和客戶端組成,系統(tǒng)架構如圖2所示。系統(tǒng)依據(jù)云組態(tài)原理,將采集的數(shù)據(jù)通過通信模塊組幀上傳至云端;客戶端從云服務器獲取數(shù)據(jù),實現(xiàn)云端與用戶交互,并實時顯示監(jiān)測信息。
圖2 空氣質(zhì)量監(jiān)測系統(tǒng)架構
監(jiān)測終端以GD32作為微處理器,通過單片機定時機制以較高頻率收集數(shù)據(jù),經(jīng)過數(shù)據(jù)濾波處理,以較低的頻率在LCD顯示屏顯示。終端采用PM2.5粉塵傳感器收集固體顆粒的濃度值,采用VOC模組傳感器收集TVOC、eCO2和CH2O等有毒氣體的濃度,并通過UART串口將數(shù)據(jù)發(fā)送給NB-IoT模塊。
NB-IoT屬于低功耗廣域網(wǎng),和其他組網(wǎng)方式相比,具有成本低、覆蓋能力廣和連接能力強等優(yōu)點。本系統(tǒng)選擇有人公司出品的WH-NB75模塊作為NB-IoT通信模塊,該模塊內(nèi)嵌通信接口,可自動封裝、上傳數(shù)據(jù)至透傳云服務器。
客戶端使用透傳云提供的API接口,實現(xiàn)Web和移動APP客戶端對監(jiān)測終端的信息管理和實時數(shù)據(jù)管理。云平臺與客戶端之間采用JSON格式進行數(shù)據(jù)請求交互。
依據(jù)設備通信協(xié)議提供的解決方案,可以方便地完成接入配置。通過配置設備信息,設置通信參數(shù)等,將監(jiān)測因子、監(jiān)測終端和網(wǎng)絡加入云服務器,并通過有人透傳云定制的Modbus協(xié)議設計數(shù)據(jù)幀,將數(shù)據(jù)封裝后傳送至透傳云。
接入配置包括對監(jiān)測因子數(shù)據(jù)、監(jiān)測終端信息以及網(wǎng)絡傳輸模塊參數(shù)的配置。配置監(jiān)測因子數(shù)據(jù)完成監(jiān)測氣體的接入,在數(shù)據(jù)管理中添加數(shù)據(jù)模板,其中數(shù)據(jù)點信息即監(jiān)測因子信息,需根據(jù)設計的數(shù)據(jù)幀進行配置,如圖3所示。配置監(jiān)測終端完成設備的接入,在設備管理模塊中添加若干設備,其中必須包含1個設備號為1的從機,并關聯(lián)上述數(shù)據(jù)點名稱。配置WH-NB75模塊,完成網(wǎng)絡傳輸模塊的接入,該模塊內(nèi)嵌3種工作模式,與CMD指令模式和簡單透傳模式相比,CoAP透傳模式具有固定的收發(fā)機制,操作簡單,可自動完成數(shù)據(jù)傳送過程中的協(xié)議轉(zhuǎn)換等。選擇此模式,將CoAP服務器地址默認為117.60.157.137,目標端口默認為5683,下載模塊的傳輸參數(shù)后,該傳輸模塊將自動重啟完成初始化。
圖3 監(jiān)測因子數(shù)據(jù)配置界面
采集的數(shù)據(jù)依據(jù)透傳云支持的Modbus協(xié)議設計數(shù)據(jù)幀,該協(xié)議為有人擴展指令(非Modbus RTU標準,僅適用于設備與透傳云網(wǎng)絡通信的規(guī)則)[10]。
Modbus協(xié)議請求數(shù)據(jù)幀格式見表1所列,Modbus協(xié)議響應數(shù)據(jù)幀格式見表2所列。
表1 Modbus協(xié)議請求數(shù)據(jù)幀格式
表2 Modbus協(xié)議響應數(shù)據(jù)幀格式
微處理器通過UART串口將數(shù)據(jù)傳送給WH-NB75模塊,該模塊讀取采集的濃度值,并將數(shù)據(jù)封裝成表1所列數(shù)據(jù)幀,以10 s間隔上傳給服務器,流程如圖4所示。
圖4 數(shù)據(jù)采集上傳流程
客戶端通信協(xié)議提供登錄、信息顯示、訂閱和推送等接口,所有的API均需通過身份認證才能繼續(xù)實現(xiàn)接口功能。獲取認證信息必須去有人透傳云官網(wǎng)注冊賬戶,該賬戶作為登錄模塊的請求參數(shù)進行身份認證,驗證成功后得到用戶通行證token。
登錄模塊是系統(tǒng)入口,將用戶名和密碼作為請求參數(shù)發(fā)送至用戶登錄接口https://cloudapi.usr.cn/usrCloud/user/login,返回的數(shù)據(jù)包含狀態(tài)碼和token等,token有效期為2 h。本系統(tǒng)采用Cookie方法將token值保存在本地瀏覽器端,解決HTTPS協(xié)議出現(xiàn)的“短連接”問題,實現(xiàn)流程如圖5所示。移動APP客戶端的登錄模塊與Web客戶端的實現(xiàn)原理基本相同,不同之處是對“短連接”問題的處理,移動APP客戶端將token緩存在SQLite數(shù)據(jù)庫中[11]。
圖5 登錄模塊流程
監(jiān)測終端顯示模塊利用2個接口實現(xiàn):設備接口獲取設備信息,數(shù)據(jù)點接口獲取監(jiān)測因子信息。設備信息獲取需將token作為請求參數(shù)發(fā)送至設備接口https://cloudapi.usr.cn/usrCloud/dev/getDevs,返回數(shù)據(jù)包含設備id、在線狀態(tài)和設備類型等信息,需在token的有效期內(nèi)將其解析并實時顯示,實現(xiàn)流程如圖6所示。數(shù)據(jù)點接口的調(diào)用與設備接口相同。移動APP客戶端的監(jiān)測終端顯示模塊與Web客戶端模塊的實現(xiàn)原理基本相同,不同之處是對返回信息的處理。在SQLite數(shù)據(jù)庫中,建立2個表分別存儲設備信息和數(shù)據(jù)點信息,存儲時采用單例類方法解決訪問服務器時因相同數(shù)據(jù)多次下載造成的時效低下等問題。
圖6 設備信息實現(xiàn)流程
數(shù)據(jù)顯示模塊實現(xiàn)監(jiān)測因子濃度值的實時顯示。有人透傳云提供訂閱機制,可自動推送信息,實現(xiàn)流程如圖7所示。API提供客戶端與服務器建立連接認證的USR_Connect接口、訂閱某臺設備解析數(shù)據(jù)后的USR_SubscribeDevParsed接口,以及一系列回調(diào)函數(shù),包含連接回調(diào)USR_onConnAck、訂閱響應回調(diào)USR_onSubscribeAck和接收數(shù)據(jù)點變化推送USR_onRcvParsedDataPointPush等。移動APP客戶端與Web客戶端的實現(xiàn)原理相同,可實現(xiàn)多參數(shù)的實時監(jiān)測和顯示。
圖7 數(shù)據(jù)顯示模塊流程
選擇山東工商學院東校區(qū)進行系統(tǒng)功能測試,將監(jiān)測終端分別部署在室內(nèi)、交通主干道、食堂附近和新鋪設塑膠跑道的操場進行有害氣體的實時采集,每個節(jié)點的直線距離超500 m。圖8所示為監(jiān)測終端LCD顯示界面,圖9所示為移動APP客戶端數(shù)據(jù)顯示界面,圖10所示為Web客戶端數(shù)據(jù)顯示界面。監(jiān)測終端采集和顯示功能均正常。
圖8 監(jiān)測終端LCD顯示界面
圖9 移動APP客戶端數(shù)據(jù)顯示界面
圖10 Web客戶端數(shù)據(jù)顯示界面
終端設備接入正常,NB-IoT模塊和有人透傳云通信正常,客戶端能夠從云服務器端獲取信息并正常顯示。
每隔1 h對室內(nèi)環(huán)境進行1次監(jiān)測,通過對比標準儀器與本系統(tǒng)采集的4種污染因子的濃度值,對系統(tǒng)的監(jiān)測精度進行檢驗,實驗數(shù)據(jù)見表3所列。
由表3可知,通過對幾組數(shù)據(jù)的監(jiān)測,CH2O的濃度值相對誤差最大不超過0.19%,TVOC的濃度值相對誤差最大不超過0.30%,eCO2的濃度值相對誤差最大不超過0.02%,PM2.5的濃度值相對誤差最大不超過0.46%。系統(tǒng)最大相對誤差不超過0.46%,滿足系統(tǒng)1%監(jiān)測精度的要求。
表3 實驗數(shù)據(jù)對比
設計并實現(xiàn)了基于透傳云的小型空氣質(zhì)量實時監(jiān)測系統(tǒng),可以對街道、校區(qū)等日常生活的小環(huán)境進行實時有效的在線監(jiān)測。系統(tǒng)監(jiān)測終端借助接入?yún)f(xié)議通過基礎模式自動連接透傳云,實現(xiàn)了底層設備與物聯(lián)網(wǎng)云端的數(shù)據(jù)交互,Web客戶端和移動APP客戶端從云服務器獲取數(shù)據(jù)并進行實時展示,實現(xiàn)了監(jiān)測系統(tǒng)的快速搭建。該系統(tǒng)為解決區(qū)域內(nèi)小型監(jiān)測系統(tǒng)部署難、平臺開發(fā)慢、維護成本高以及經(jīng)濟效益低等問題提供了一種選擇,具有一定的借鑒意義。