趙曉慶,閆卓宜,劉世兵,劉 波
(山東工商學院 信息與電子工程學院,山東 煙臺 264005)
近年來,校園、小區等小環境內的空氣污染愈發嚴重,對人們的日常生活造成了極大危害,快速部署小型空氣質量監測系統對有害氣體進行監測尤為重要[1]。目前大部分空氣質量監測系統采用的方法是部署包括自建服務器在內的一整套獨立系統[2],但針對區域內的空氣監測,采用該方法存在系統部署難、維護成本高等問題[3]。
隨著工業物聯網的快速發展,互聯網和云平臺技術成為解決小環境內空氣質量監測的重要手段之一[4-6]。借助云平臺管理監測節點和監測數據,快速部署小環境內空氣質量監測系統,構建“端-網-云-用”智能結合的網絡集聚生態。
本文基于透傳云平臺設計了一種小型空氣質量實時監測系統,可實時監測小環境內的可吸入顆粒物(PM2.5)、總揮發性有機物(TVOC)、甲醛(CH2O)、等效二氧化碳(eCO2),設備便攜且監測誤差小。系統通過傳感器采集局部區域內有害氣體的濃度,利用低功耗無線傳輸技術將監測值發送至接入的云端服務器,采用瀏覽器及移動APP客戶端對數據進行實時顯示,不受地區限制。
云平臺是以互聯網為核心,面向物聯網開發者、軟件開發者和企業客戶的物聯網軟硬件平臺。云平臺提供多種接入協議和方案,完成硬件設備與云端的數據交互;提供自動處理和存儲數據等服務,實現零編程處理;提供客戶端二次開發接口,可實現數據快速應用。
云平臺種類繁多,目前國內市場上應用較多的有QQ物聯、機智云、百度智能云、阿里云、中國移動OneNET和有人透傳云等。QQ物聯必須關聯手機QQ客戶端,進行用戶與設備、設備與設備之間的互聯互通,對脫離QQ軟件的用戶而言使用不便[7];機智云在進行移動客戶端開發時,手機和硬件設備必須連接同一網絡,對使用不同網絡的用戶而言使用不便[8];針對小環境空氣質量監測,百度智能云、阿里云、中國移動OneNET的使用和維護費用較高;有人透傳云獨立于其他軟件,避免了網絡共用,能有效降低研發成本,在小型物聯網監測領域具有更好的應用前景。
透傳云是有人物聯網技術有限公司打造的一站式云服務系統[9],其核心是面向用戶和設備的云組態模塊,可自動進行數據處理和存儲,并提供多種設備接入協議和用戶開發接口,實現設備與云平臺和用戶與云平臺的交互。云組態模塊的基本工作原理如圖1所示。

圖1 云組態模塊的基本工作原理
1.2.1 設備通信協議
為適應不同的應用場景,透傳云可采用GPRS/2G/3G/4G、NB-IoT等組網方式,及CoAP、LoRaWAN等接入協議和方案,將設備快速接入云平臺。CoAP主要適用于NB-IoT方式組網,LoRaWAN主要適用于LoRa方式組網。
1.2.2 客戶端通信協議
透傳云平臺提供API,以便用戶與云平臺交互。API基于超文本傳輸安全協議(HTTPS)和消息隊列遙測傳輸協議(MQTT),提供包括登錄、設備管理、數據點管理、實時數據訪問、數據流訂閱/推送等訪問接口,實現云平臺與用戶之間的業務邏輯。
基于透傳云的空氣質量監測系統由監測終端、透傳云和客戶端組成,系統架構如圖2所示。系統依據云組態原理,將采集的數據通過通信模塊組幀上傳至云端;客戶端從云服務器獲取數據,實現云端與用戶交互,并實時顯示監測信息。

圖2 空氣質量監測系統架構
監測終端以GD32作為微處理器,通過單片機定時機制以較高頻率收集數據,經過數據濾波處理,以較低的頻率在LCD顯示屏顯示。終端采用PM2.5粉塵傳感器收集固體顆粒的濃度值,采用VOC模組傳感器收集TVOC、eCO2和CH2O等有毒氣體的濃度,并通過UART串口將數據發送給NB-IoT模塊。
NB-IoT屬于低功耗廣域網,和其他組網方式相比,具有成本低、覆蓋能力廣和連接能力強等優點。本系統選擇有人公司出品的WH-NB75模塊作為NB-IoT通信模塊,該模塊內嵌通信接口,可自動封裝、上傳數據至透傳云服務器。
客戶端使用透傳云提供的API接口,實現Web和移動APP客戶端對監測終端的信息管理和實時數據管理。云平臺與客戶端之間采用JSON格式進行數據請求交互。
依據設備通信協議提供的解決方案,可以方便地完成接入配置。通過配置設備信息,設置通信參數等,將監測因子、監測終端和網絡加入云服務器,并通過有人透傳云定制的Modbus協議設計數據幀,將數據封裝后傳送至透傳云。
接入配置包括對監測因子數據、監測終端信息以及網絡傳輸模塊參數的配置。配置監測因子數據完成監測氣體的接入,在數據管理中添加數據模板,其中數據點信息即監測因子信息,需根據設計的數據幀進行配置,如圖3所示。配置監測終端完成設備的接入,在設備管理模塊中添加若干設備,其中必須包含1個設備號為1的從機,并關聯上述數據點名稱。配置WH-NB75模塊,完成網絡傳輸模塊的接入,該模塊內嵌3種工作模式,與CMD指令模式和簡單透傳模式相比,CoAP透傳模式具有固定的收發機制,操作簡單,可自動完成數據傳送過程中的協議轉換等。選擇此模式,將CoAP服務器地址默認為117.60.157.137,目標端口默認為5683,下載模塊的傳輸參數后,該傳輸模塊將自動重啟完成初始化。

圖3 監測因子數據配置界面
采集的數據依據透傳云支持的Modbus協議設計數據幀,該協議為有人擴展指令(非Modbus RTU標準,僅適用于設備與透傳云網絡通信的規則)[10]。
Modbus協議請求數據幀格式見表1所列,Modbus協議響應數據幀格式見表2所列。

表1 Modbus協議請求數據幀格式

表2 Modbus協議響應數據幀格式
微處理器通過UART串口將數據傳送給WH-NB75模塊,該模塊讀取采集的濃度值,并將數據封裝成表1所列數據幀,以10 s間隔上傳給服務器,流程如圖4所示。

圖4 數據采集上傳流程
客戶端通信協議提供登錄、信息顯示、訂閱和推送等接口,所有的API均需通過身份認證才能繼續實現接口功能。獲取認證信息必須去有人透傳云官網注冊賬戶,該賬戶作為登錄模塊的請求參數進行身份認證,驗證成功后得到用戶通行證token。
登錄模塊是系統入口,將用戶名和密碼作為請求參數發送至用戶登錄接口https://cloudapi.usr.cn/usrCloud/user/login,返回的數據包含狀態碼和token等,token有效期為2 h。本系統采用Cookie方法將token值保存在本地瀏覽器端,解決HTTPS協議出現的“短連接”問題,實現流程如圖5所示。移動APP客戶端的登錄模塊與Web客戶端的實現原理基本相同,不同之處是對“短連接”問題的處理,移動APP客戶端將token緩存在SQLite數據庫中[11]。

圖5 登錄模塊流程
監測終端顯示模塊利用2個接口實現:設備接口獲取設備信息,數據點接口獲取監測因子信息。設備信息獲取需將token作為請求參數發送至設備接口https://cloudapi.usr.cn/usrCloud/dev/getDevs,返回數據包含設備id、在線狀態和設備類型等信息,需在token的有效期內將其解析并實時顯示,實現流程如圖6所示。數據點接口的調用與設備接口相同。移動APP客戶端的監測終端顯示模塊與Web客戶端模塊的實現原理基本相同,不同之處是對返回信息的處理。在SQLite數據庫中,建立2個表分別存儲設備信息和數據點信息,存儲時采用單例類方法解決訪問服務器時因相同數據多次下載造成的時效低下等問題。

圖6 設備信息實現流程
數據顯示模塊實現監測因子濃度值的實時顯示。有人透傳云提供訂閱機制,可自動推送信息,實現流程如圖7所示。API提供客戶端與服務器建立連接認證的USR_Connect接口、訂閱某臺設備解析數據后的USR_SubscribeDevParsed接口,以及一系列回調函數,包含連接回調USR_onConnAck、訂閱響應回調USR_onSubscribeAck和接收數據點變化推送USR_onRcvParsedDataPointPush等。移動APP客戶端與Web客戶端的實現原理相同,可實現多參數的實時監測和顯示。

圖7 數據顯示模塊流程
選擇山東工商學院東校區進行系統功能測試,將監測終端分別部署在室內、交通主干道、食堂附近和新鋪設塑膠跑道的操場進行有害氣體的實時采集,每個節點的直線距離超500 m。圖8所示為監測終端LCD顯示界面,圖9所示為移動APP客戶端數據顯示界面,圖10所示為Web客戶端數據顯示界面。監測終端采集和顯示功能均正常。

圖8 監測終端LCD顯示界面

圖9 移動APP客戶端數據顯示界面

圖10 Web客戶端數據顯示界面
終端設備接入正常,NB-IoT模塊和有人透傳云通信正常,客戶端能夠從云服務器端獲取信息并正常顯示。
每隔1 h對室內環境進行1次監測,通過對比標準儀器與本系統采集的4種污染因子的濃度值,對系統的監測精度進行檢驗,實驗數據見表3所列。
由表3可知,通過對幾組數據的監測,CH2O的濃度值相對誤差最大不超過0.19%,TVOC的濃度值相對誤差最大不超過0.30%,eCO2的濃度值相對誤差最大不超過0.02%,PM2.5的濃度值相對誤差最大不超過0.46%。系統最大相對誤差不超過0.46%,滿足系統1%監測精度的要求。

表3 實驗數據對比
設計并實現了基于透傳云的小型空氣質量實時監測系統,可以對街道、校區等日常生活的小環境進行實時有效的在線監測。系統監測終端借助接入協議通過基礎模式自動連接透傳云,實現了底層設備與物聯網云端的數據交互,Web客戶端和移動APP客戶端從云服務器獲取數據并進行實時展示,實現了監測系統的快速搭建。該系統為解決區域內小型監測系統部署難、平臺開發慢、維護成本高以及經濟效益低等問題提供了一種選擇,具有一定的借鑒意義。