高萌萌,孫志剛,李 碩,高亞杰,王國濤,2
(1.黑龍江大學 電子工程學院,哈爾濱 150008; 2.哈爾濱工業(yè)大學 軍用電器研究所,哈爾濱 150001)
近年來,隨著經(jīng)濟的快速發(fā)展,人民對其居住與生活環(huán)境的空氣質(zhì)量狀況關(guān)注度越來越高。對于居住環(huán)境,房地產(chǎn)開發(fā)商在新房裝修完畢后,安排專職員工定期進行空氣質(zhì)量檢測,在各項指標合格后通知戶主入住,但在檢測過程中,有害氣體會損害員工的身體,人工檢測也會帶來資源浪費、效率低下的問題。對于生活環(huán)境,人們越來越關(guān)注電視或手機軟件上對所處行政區(qū)空氣質(zhì)量指數(shù)的播報,多數(shù)地區(qū)現(xiàn)行的對范圍內(nèi)空氣的檢測方法是通過設(shè)立固定監(jiān)測站點,由巡視人員每天固定時間前往“抄表”并進行后期數(shù)據(jù)融合,完成區(qū)域范圍的空氣質(zhì)量評估,由于區(qū)域范圍內(nèi)空氣流動性快以及巡視人員機動性差,采用人工“抄表”記錄的方式存在數(shù)據(jù)實時性不高、記錄時間不匹配等問題。
物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展帶來通信技術(shù)的更新迭代,專為低帶寬、低功耗、遠距離、大量連接的物聯(lián)網(wǎng)應(yīng)用而設(shè)計的低功耗廣域網(wǎng)技術(shù)得到了廣泛應(yīng)用,目前較為成熟的低功耗廣域網(wǎng)技術(shù)有NB-IoT、LoRa與Sigfox等[1]。NB-IoT 技術(shù)作為最有發(fā)展前景的低功耗廣域網(wǎng)通信技術(shù)之一,在物聯(lián)網(wǎng)應(yīng)用中的優(yōu)勢顯著,為傳統(tǒng)蜂窩網(wǎng)技術(shù)及藍牙、WiFi 等短距離傳輸技術(shù)所無法比擬[2]。NB-IoT功耗低、支持待機時間最長可達十年,適合應(yīng)用于區(qū)域范圍內(nèi)的監(jiān)測應(yīng)用設(shè)計,并且NB-IoT可以直接部署于GSM網(wǎng)絡(luò)、UMTS網(wǎng)絡(luò)和LTE網(wǎng)絡(luò),部署成本低,最后,在支持大數(shù)據(jù)方面,NB-IoT連接所收集的數(shù)據(jù)可以直接上傳至云端。
趙智佩等采用ARM9和NB-IoT通信技術(shù),設(shè)計了電容電池信息監(jiān)測終端,將采集的A/D電壓與溫度值上報云平臺與PC服務(wù)器,實現(xiàn)對電容電池的電壓和工作溫度的監(jiān)測[3]。朱代先等基于NB-IoT技術(shù)設(shè)計實現(xiàn)了智慧井蓋監(jiān)測系統(tǒng),應(yīng)用低功耗芯片STM32采集井蓋的壓力和位移以及窨井下的甲烷濃度和水位,通過NB-IoT模塊上傳至服務(wù)器,實現(xiàn)采集終端與服務(wù)器之間低功耗的信息交互[4]。吳正平等同樣基于NB-IoT設(shè)計實現(xiàn)了智能水表抄表系統(tǒng),能夠更好地解決傳統(tǒng)水表抄表系統(tǒng)的傳輸距離短、覆蓋范圍小、穿透力不強、數(shù)據(jù)傳輸穩(wěn)定性差等問題[5]。本文在此基礎(chǔ)上,設(shè)計一種基于NB-IoT的區(qū)域空氣質(zhì)量監(jiān)測系統(tǒng),遠程監(jiān)管平臺的管理人員可在地圖和數(shù)據(jù)列表中查看大區(qū)域范圍內(nèi)各個空氣質(zhì)量監(jiān)測節(jié)點的參數(shù)采集狀況和運行狀態(tài),Android移動終端的使用人員同樣可在地圖和數(shù)據(jù)列表中查看權(quán)限范圍內(nèi)各個空氣質(zhì)量監(jiān)測節(jié)點的參數(shù)采集狀況和運行狀態(tài),使得對區(qū)域范圍內(nèi)的空氣質(zhì)量監(jiān)測實時性提高、可監(jiān)管性增強。
本文設(shè)計的區(qū)域空氣質(zhì)量監(jiān)測系統(tǒng),包括:監(jiān)測節(jié)點、遠程監(jiān)管平臺與Android移動終端,涵蓋物聯(lián)網(wǎng)技術(shù)的感知層、傳輸層與應(yīng)用層。系統(tǒng)功能架構(gòu)如圖1所示。
圖1 系統(tǒng)功能架構(gòu)圖
其中,各個監(jiān)測節(jié)點采集其所在位置的空氣質(zhì)量信息與位置信息,在固定時間內(nèi)將采集的信息通過NB-IoT網(wǎng)絡(luò)發(fā)送至遠程監(jiān)管平臺,各個監(jiān)測節(jié)點能夠自我進行檢測,在欠壓情況下發(fā)送遠程報警信息至遠程監(jiān)管平臺;遠程監(jiān)管平臺能夠通過調(diào)用地圖顯示各個監(jiān)測節(jié)點的位置,點擊具體的節(jié)點查看實時的空氣質(zhì)量信息,各個監(jiān)測節(jié)點發(fā)送的空氣質(zhì)量信息與位置信息存儲到遠程監(jiān)管平臺的本地數(shù)據(jù)庫中,通過選擇小區(qū)域范圍的節(jié)點完成授權(quán)數(shù)據(jù)至指定Android移動終端;Android移動終端能夠調(diào)用地圖顯示權(quán)限范圍內(nèi)各個監(jiān)測節(jié)點的位置,同樣點擊具體的節(jié)點查看實時的空氣質(zhì)量信息;系統(tǒng)在使用過程中可根據(jù)實際需求在遠程監(jiān)管平臺和Android移動終端對指定監(jiān)測節(jié)點設(shè)置各空氣質(zhì)量參數(shù)的閾值,該監(jiān)測節(jié)點在達到該閾值后發(fā)送提示信息至遠程監(jiān)管平臺。
系統(tǒng)的硬件設(shè)計部分主要是針對監(jiān)測節(jié)點的,其設(shè)計的效果影響整個系統(tǒng)運行的高效性和可靠性[4]。監(jiān)測節(jié)點硬件設(shè)計包括3個部分,分別是:微處理器、通信模塊,傳感器模塊與避雷針模塊。其中,一個監(jiān)測節(jié)點的硬件結(jié)構(gòu)如圖2所示。
圖2 監(jiān)測節(jié)點硬件結(jié)構(gòu)圖
傳感器模塊包括:北斗定位模塊、甲醛濃度傳感器、惰性氣體傳感器、PM2.5傳感器、甲烷濃度傳感器、苯濃度傳感器、溫濕度傳感器與電能采集模塊。微處理器與傳感器模塊、通信模塊之間采用串口通信方式,同時電源模塊給監(jiān)測節(jié)點提供8 V直流電源,避雷針模塊保護監(jiān)測節(jié)點在戶外場景中免遭雷電擊損。監(jiān)測節(jié)點上電完成初始化配置,微控制器進入待機模式等待定時器將其喚醒,通信模塊在設(shè)定時間內(nèi)處于PSM低功耗休眠模式;定時器到達時間觸發(fā)后,微控制器退出待機模式,開始控制傳感器模塊采集當前的空氣質(zhì)量信息,完成一次采集后,將采集信息發(fā)送給通信模塊,再次進入待機模式等待定時器觸發(fā);通信模塊在接收到采集信息后退出PSM模式,主控芯片通過AT指令將參數(shù)信息經(jīng)基站發(fā)送至遠程監(jiān)管平臺,完成一次發(fā)送后再次進入PSM模式。通信模塊在接收到遠程監(jiān)管平臺發(fā)送的閾值信息后,退出PSM模式,主控芯片通過串口將閾值信息發(fā)送給微控制器后繼續(xù)進入PSM模式,由微控制器開啟工作并進行存儲。微控制器在定時器觸發(fā)采集空氣質(zhì)量信息的同時通過電能采集模塊獲取自身的電壓信息,電壓偏低時會在當前空氣質(zhì)量信息的最后添加欠壓報警信息;同樣,在微控制器存儲各參數(shù)閾值情況下判斷某個參數(shù)到達設(shè)定閾值時,同樣在當前空氣質(zhì)量信息的最后添加閾值提醒信息,當同時存在報警信息與提示信息時,報警信息置于最后。
微控制器選用STM32F103RCT6型號單片機,其電路原理如圖3所示。該型號單片機實際工作時處理數(shù)據(jù)的頻率可達72 MHz,具有256K字節(jié)系統(tǒng)可編程Flash存儲器,48K字節(jié)的RAM空間,可以通過CAN、I2C、UART、USB等方式控制外設(shè),同時具有9個通信接口[6],完全符合本文設(shè)計監(jiān)測系統(tǒng)對多個傳感器同時控制、對大量數(shù)據(jù)及時處理的需求,與此同時,剩余空間資源應(yīng)用于數(shù)據(jù)通信也顯得游刃有余。
圖3 STM32F103RCT6微控制器電路原理圖
圖4 NB-IoT通信模塊電路原理圖
圖4為NB-IoT模塊電路,該NB-IoT模塊電路選用BC95-B5模組。BC95模組通過串口RX/TX收發(fā)數(shù)據(jù),通過電信NB網(wǎng)絡(luò)將來自微控制器的采集信息發(fā)送至遠程監(jiān)管平臺,并且接收來自遠程監(jiān)管平臺發(fā)送的閾值設(shè)定信息。模塊主要包括以下幾個部分:BC95模組、電源指示、天線接口、USIM卡接口電路[7]。
電能模塊采用的是ATT7022B芯片,該芯片有3路電流采集、3路電壓采集。V1P/V1N是A相電流采集通道,V2P/V2N是A相電壓采集通道,V3P/V3N是B相電流采集通道,V4P/V4N是B相電壓采集通道,V5P/V5N是C相電壓采集通道,V6P/V6N是C相電流采集通道[8]。通過電流互感器采集每相電流的值,通過電阻分壓進行電壓采集。圖5是一路電壓與電流的采集電路。
本文對傳感器模塊的選擇均遵循低功耗與安全穩(wěn)定原則。
北斗定位模塊選用K706-GNSS型號的高精度定位模塊。模塊尺寸小、重量輕、功耗低,板載8 G超大存儲空間可連續(xù)存儲超過100天的定位數(shù)據(jù),在正常情況下定位精度可達2厘米,滿足本文對監(jiān)測節(jié)點的精確定位需求。
采用MS1100傳感器模塊獲取甲醛濃度與苯濃度,該模塊體積小,可以檢測空氣中0.1 PPM以上的揮發(fā)氣體,芯片響應(yīng)速度快、數(shù)據(jù)檢測準確。
選用MD62型號的傳感器采集氬氣等惰性氣體的濃度,模塊根據(jù)混合氣體的總導熱系數(shù)隨待分析氣體含量的不同而改變的原理制成,響應(yīng)快,具有良好的重復性,可在無氧、缺氧環(huán)境中檢測。
選用GP2Y1010AU0F型號的光學粉塵濃度檢測傳感器,傳感器利用光敏原理進行工作,可以檢測體積細微的顆粒,如煙霧顆粒、灰塵顆粒等,主要依靠輸出脈沖的高度來判斷顆粒濃度。
選用MQ-4型號的甲烷濃度傳感器。該類型傳感器檢測到甲烷氣體時,會產(chǎn)生相應(yīng)的電壓值,并由模擬信號輸出端口(AO)輸出到MCU,甲烷濃度增大時,輸出端口的電壓值相應(yīng)的成比例增長。
圖5 一路電壓與電流采集電路原理圖
最后,本文選用DHT11型號的溫濕度傳感器,實現(xiàn)對所處環(huán)境的溫度與濕度同時進行檢測,響應(yīng)時間短、精度高,在系統(tǒng)設(shè)計中得到廣泛應(yīng)用。
區(qū)域空氣質(zhì)量監(jiān)測系統(tǒng)軟件設(shè)計主要包括監(jiān)測節(jié)點微控制器的軟件設(shè)計、遠程監(jiān)管平臺的軟件設(shè)計以及Android移動終端的軟件設(shè)計。
監(jiān)測節(jié)點軟件設(shè)計包括:主程序、節(jié)點服務(wù)程序、串口接收服務(wù)程序,主程序流程如圖6所示。
圖6 監(jiān)測節(jié)點軟件設(shè)計流程圖
主程序啟動后,首先對STM32微控制器的串口及定時器進行初始化,然后對NB-IoT模塊進行初始化,初始化完成后STM32微控制器與NB-IoT都進入低功耗休眠模式[4]。定時器達到設(shè)定的時間后,STM32微控制器開始控制傳感器模塊完成當前位置空氣質(zhì)量信息的定時采集,并按照規(guī)定的協(xié)議通過NB-IoT通信模塊將采集信息上傳至遠程監(jiān)管平臺。同時,STM32微控制器對自身的電壓狀況進行檢測,在欠壓時將報警信息添加至采集信息中進行遠程發(fā)送,STM32微控制器通過NB-IoT通信模塊判斷遠程監(jiān)管平臺發(fā)送的閾值信息,并存儲到內(nèi)存中進行定時判斷,判斷閾值溢出時也將提示信息添加至采集信息中進行遠程發(fā)送。
遠程監(jiān)管平臺軟件采用C/S(客戶端/服務(wù)器)模式進行設(shè)計,連接MySQL數(shù)據(jù)庫,采用C#語言在VisualStudio環(huán)境下設(shè)計開發(fā)[9]。遠程監(jiān)管平臺在整個系統(tǒng)中起著“中轉(zhuǎn)站”的作用,一方面通過COAP協(xié)議接收來自監(jiān)測節(jié)點發(fā)送的采集信息,解析顯示并存儲到數(shù)據(jù)庫中,將設(shè)定的閾值信息反向傳輸給監(jiān)測節(jié)點;另一方面,通過選定指定小區(qū)域下發(fā)該區(qū)域內(nèi)的監(jiān)測節(jié)點采集信息至指定Android移動終端,并接收移動終端上設(shè)定返回的閾值信息,最終發(fā)送至監(jiān)測節(jié)點。遠程監(jiān)管平臺軟件包括登錄模塊、數(shù)據(jù)顯示模塊、閾值設(shè)定模塊、地圖模塊與歷史數(shù)據(jù)查詢模塊,其工作流程如圖7所示。
圖7 遠程監(jiān)管平臺軟件設(shè)計流程圖
Android移動終端軟件的工作流程如圖8所示。
圖8 Android移動終端軟件設(shè)計流程圖
Android移動終端軟件包括登錄模塊、數(shù)據(jù)顯示模塊、地圖模塊與閾值設(shè)定模塊,主要為巡視人員設(shè)計,基于Java語言與AndroidStudio環(huán)境開發(fā)[10],與遠程監(jiān)管平臺同樣采用C/S通信結(jié)構(gòu)與TCP/IP通信協(xié)議,實現(xiàn)對授權(quán)監(jiān)測節(jié)點采集信息的接收和數(shù)據(jù)解析顯示,在監(jiān)測節(jié)點欠壓或檢測閾值溢出時接收報警或提示信息,并能夠完成對指定監(jiān)測節(jié)點的閾值設(shè)定。
本文設(shè)計的系統(tǒng)已經(jīng)進行了實際場景下的測試,具體來說,在黑龍江大學校園內(nèi)的不同地點分布放置7個監(jiān)測節(jié)點,在遠程監(jiān)管平臺上調(diào)用地圖可以查看其位置分布,點擊其中一個節(jié)點,可以查看其實時的監(jiān)測數(shù)據(jù),并可對該節(jié)點的閾值進行設(shè)定,點擊“歷史數(shù)據(jù)查詢”可以查看該節(jié)點正常運行以來的所有采集數(shù)據(jù),遠程監(jiān)管平臺的測試界面如圖9所示。將實驗樓區(qū)域的1個監(jiān)測節(jié)點的權(quán)限下發(fā)至Android移動終端,在Android移動終端軟件上可以查看該節(jié)點的實時監(jiān)測信息,通過點擊具體的參數(shù)可以設(shè)定閾值,Android移動終端軟件測試界面如圖10所示。如此反復在遠程監(jiān)管平臺和Android移動終端進行循環(huán)測試,均正常運行,表明系統(tǒng)穩(wěn)定可靠,達到了很好的預(yù)期效果。
圖9 遠程監(jiān)管平臺軟件測試界面
圖10 Android移動終端軟件測試界面
針對現(xiàn)有場景中存在的區(qū)域范圍內(nèi)空氣質(zhì)量監(jiān)測機動性差、信息化程度低與管理不便等問題,考慮到現(xiàn)有檢測設(shè)備功能單一且移植性不高的問題,本文提出并設(shè)計了一種基于NB-IoT的區(qū)域空氣質(zhì)量監(jiān)測系統(tǒng),可以應(yīng)用于多場景監(jiān)測且適應(yīng)性強、靈活高效。設(shè)計的多個監(jiān)測節(jié)點采用STM32為微控制器,控制傳感器模塊實現(xiàn)對所在位置空氣質(zhì)量相關(guān)參數(shù)的實時檢測,并通過NB-IoT通信模塊發(fā)送至遠程監(jiān)管平臺,在遠程監(jiān)管平臺上實現(xiàn)對區(qū)域范圍內(nèi)空氣質(zhì)量的監(jiān)控與管理。同時,遠程監(jiān)管平臺通過下發(fā)指定區(qū)域的權(quán)限至指定的Android移動終端,使得Android移動終端使用人員可以對權(quán)限范圍內(nèi)的空氣質(zhì)量狀況進行監(jiān)控與管理。除此之外,考慮到本文設(shè)計系統(tǒng)實際可能應(yīng)用的多場景,系統(tǒng)保留有自我安全保護與報警功能,包括欠壓報警與避雷保護等,該系統(tǒng)助力推動智慧城市的實現(xiàn),長時間的數(shù)據(jù)收集也為大數(shù)據(jù)建立了基礎(chǔ),為建立智能決策系統(tǒng)提供了條件。