郭昊陽,楊志冰,殷曉佳,曹 雄,秦清風,于晨曦,王 博
(中北大學 環(huán)境與安全工程學院,山西 太原 030051)
受限空間是指封閉或者部分封閉,與外界相對隔離,出入口較為狹窄,作業(yè)人員不能長時間在內(nèi)工作,自然通風不良,易造成有害、易燃易爆物質(zhì)積聚或者氧含量不足的空間。
據(jù)統(tǒng)計數(shù)據(jù)顯示,僅在2021 年上半年,全國已發(fā)生16 起受限空間事故,累計造成39 人死亡、15 人受傷。從2021 年6 月到2022 年5 月,一年時間內(nèi),僅環(huán)保行業(yè)就已發(fā)生至少13 起中毒窒息類事故,導致45 人死亡。在有毒有害氣體引發(fā)的中毒事故中,若搶救及時,可以挽救窒息人員生命,但長時間的窒息會對身體器官尤其是大腦造成不可逆的傷害。若未能及時搶救窒息人員,就會發(fā)生人員死亡的悲劇。傳統(tǒng)的探測方式需要人員佩戴氣體檢測儀進入受限空間,存在成本較高、數(shù)據(jù)無法互通、無法預測氣體變化趨勢的問題。
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,采用無線組網(wǎng)的氣體監(jiān)測系統(tǒng)開始出現(xiàn)。例如,Jabbar 等[1]設計了一種基于LoRaWAN 的室外空氣質(zhì)量監(jiān)測系統(tǒng);洪濤等人[2]設計了基于STM32 和CC1101 的受限空間關(guān)鍵氣體濃度檢測系統(tǒng)。而隨著此類系統(tǒng)的日漸成熟,部分學者開始將神經(jīng)網(wǎng)絡等機器學習方法融入其中。例如,寶銀曇[3]設計了基于ZigBee 和RBF 神經(jīng)網(wǎng)絡的礦井通風質(zhì)量預測方法。目前,物聯(lián)網(wǎng)技術(shù)及機器學習算法正不斷發(fā)展,本文結(jié)合阿里云物聯(lián)網(wǎng)平臺以及神經(jīng)網(wǎng)絡、高斯過程回歸算法等機器學習算法,設計了基于NB-IoT 的受限空間有害氣體檢測物聯(lián)網(wǎng)系統(tǒng)。此系統(tǒng)具有有害氣體監(jiān)測、時間序列預測、可視化平臺展示等功能,具有低功耗、自動化程度高、自適應性強等特點。
本系統(tǒng)為針對受限空間的有害氣體監(jiān)測系統(tǒng)(有害氣體為二氧化碳、甲烷和硫化氫)。系統(tǒng)包括探測終端、阿里云物聯(lián)網(wǎng)平臺、神經(jīng)網(wǎng)絡終端以及可視化應用4 個部分。探測終端探測有害氣體濃度,并將探測結(jié)果整合成數(shù)據(jù)包后通過NB-IoT 網(wǎng)絡上傳至阿里云物聯(lián)網(wǎng)平臺。NB-IoT 即窄帶物聯(lián)網(wǎng),可在現(xiàn)行的2G、3G 及4G 網(wǎng)絡上部署,具有覆蓋范圍廣、網(wǎng)絡增益高、設備功耗低以及建設與運行維護成本低等特點[4],可以滿足如地窖、窖井等受限空間內(nèi)部的網(wǎng)絡需求。
平臺在收到探測終端上傳的數(shù)據(jù)包后,會將該數(shù)據(jù)包復制并發(fā)送至神經(jīng)網(wǎng)絡終端。神經(jīng)網(wǎng)絡終端會對探測器上傳的數(shù)據(jù)進行處理,使用RBF 神經(jīng)網(wǎng)絡及高斯過程回歸方法得出監(jiān)測點所在位置處有害氣體濃度的未來值。處理結(jié)果將被打包回傳至阿里云物聯(lián)網(wǎng)平臺。
可視化應用基于阿里云IoT-Studio 搭建,可查看各氣體濃度的實時值與歷史曲線,若其中的某一/某些參數(shù)超標,則會在對應數(shù)據(jù)卡片的下方顯示告警/超標信息。圖1 為系統(tǒng)總體結(jié)構(gòu)。
圖1 系統(tǒng)總體結(jié)構(gòu)
氣體傳感器電路:包括MG-812 二氧化碳傳感器、MQ-4甲烷傳感器、MQ-136 硫化氫傳感器。其中,MG-812 的輸出電平與CO2濃度成反比,而MQ-4 和MQ-136 的輸出電平與CH4、H2S 的濃度成正比。氣體傳感器的模擬值輸出引腳與單片機的ADC 引腳連接。
單片機及其外圍電路[5]:采用STM32F103RCT6 作為處理器,該單片機擁有256 KB 儲存空間以及48 KB RAM,工作電壓為3.3 V,主頻為72 MHz。單片機負責讀取連接在ADC 引腳上的3 種氣體傳感器的電平并進行計算,然后整合為供BC-26 模塊發(fā)送的數(shù)據(jù)包。外圍電路由5 V 轉(zhuǎn)3.3 V降壓電路、晶振、復位電路、串口通信電路、傳感器連接電路與ST-Link 電路構(gòu)成。
NB-IoT 模塊及其外圍電路:采用BC26-NC-04-STD 作為NB-IoT 發(fā)送模塊,該模塊支持MQTT 協(xié)議,具有高靈敏度、低功耗的特點[6]。NB-IoT 模塊負責將探測終端通過連接至阿里云物聯(lián)網(wǎng)平臺,并將單片機整合的數(shù)據(jù)包進行上傳。外圍電路由供電電路、SIM 卡電路、電平轉(zhuǎn)化電路、射頻電路組成。圖2 為電路結(jié)構(gòu)。探測終端性能參數(shù)見表1 所列。
圖2 電路結(jié)構(gòu)
表1 探測終端性能參數(shù)
程序開發(fā)環(huán)境為Visual Studio 2019+Keil uVision5。程序分為3 部分:傳感器采集程序、單片機主程序、BC-26 模塊程序。傳感器采集程序負責讀取氣體傳感器對應ADC 引腳上的電壓,并將采集數(shù)據(jù)經(jīng)過傳感器特性函數(shù)計算后返回計算結(jié)果,供主程序進行調(diào)用。單片機主程序負責初始化串口,開啟BC-26,獲取傳感器引腳的輸出電平,根據(jù)傳感器特性曲線的擬合函數(shù)進行氣體濃度計算,并將其以10 s 的頻率轉(zhuǎn)發(fā)至BC-26 模塊發(fā)送程序。BC-26 模塊程序?qū)⒃O備連接至阿里云,并將主函數(shù)轉(zhuǎn)發(fā)的數(shù)據(jù)進行打包與上傳。圖3 為探測終端程序流程。
外殼的3D 模型使用SpaceClaim 軟件進行建模。底部的結(jié)構(gòu)包括螺柱固定孔、水泥釘預留孔、底面以及電路板固定孔。頂部設有大量間距2 mm、寬2 mm 的格柵,保證有害氣體的流入流出,同時留有調(diào)整接線端子的通孔,側(cè)面預留有接線/插入USB 數(shù)據(jù)線的通孔,內(nèi)部有固定傳感器的支柱。探測終端實物如圖4 所示。
圖4 探測終端實物
在系統(tǒng)運行過程中,神經(jīng)網(wǎng)絡終端會下載探測器上傳至物聯(lián)網(wǎng)平臺的信息,并保存至本地,進行數(shù)據(jù)處理后,再傳輸至物聯(lián)網(wǎng)平臺用于可視化展示。下載與上傳所用程序均為使用Python 編寫的含MQTT 協(xié)議的開源程序,程序中包含阿里云物聯(lián)網(wǎng)提供的aliyun-iot-linkkit 模塊。數(shù)據(jù)處理在電腦端完成,處理速度快,且可額外添加其余處理算法,自定義性高。本文以二氧化碳濃度的預測為例展示該部分的運作原理。
本項目采用的2 種方法分別為啟發(fā)式算法[7]中的神經(jīng)網(wǎng)絡算法和統(tǒng)計學算法中的高斯過程回歸方法[8]。高斯過程回歸方法在時間序列預測分析中被廣泛應用[9-11],本次回歸訓練所用程序基于MATLAB 自帶的predict 函數(shù),參數(shù)選擇GPR 模型。
系統(tǒng)預測過程中,選擇使用最新的80 個數(shù)據(jù)組成預測中的訓練集,預測未來40 個時間序列的值,訓練集與預測集的數(shù)量在系統(tǒng)中可更改。在預測算法部分,神經(jīng)網(wǎng)絡搭建的自回歸函數(shù)還需要考慮回歸階數(shù),本次選用自回歸函數(shù)為:
神經(jīng)網(wǎng)絡作為一種淺層的機器學習算法已在未來值預測中被廣泛使用[12],選擇此算法的原因在于其擁有較高的準確性和自適應性。但實際應用時存在弊端,在少數(shù)預測過程中,出現(xiàn)預測結(jié)果遠大于訓練集中氣體濃度數(shù)據(jù)的情況(千倍到百萬倍),遠不符合濃度變化趨勢。為解決該問題,本文引入高斯過程回歸。
高斯過程回歸的結(jié)果最終會接近收斂。因此,本系統(tǒng)的預測值獲取邏輯為:當時間序列神經(jīng)網(wǎng)絡未出現(xiàn)過擬合現(xiàn)象時,比較神經(jīng)網(wǎng)絡與高斯過程回歸的預測結(jié)果(置信區(qū)間上限),取最大值作為最終結(jié)果。當時間序列神經(jīng)網(wǎng)絡產(chǎn)生過擬合現(xiàn)象時,采用高斯過程回歸的預測結(jié)果作為最終結(jié)果。
本文將使用一組實際探測數(shù)據(jù)以及一組模擬數(shù)據(jù)對預測效果進行檢驗。首先是實際探測數(shù)據(jù)方面,使用的時間序列包含500 個濃度數(shù)據(jù),探測地點為封閉不透明箱體內(nèi)部,二氧化碳釋放源為盆景植物長壽花。在一組預測中,將預測集的最后一個數(shù)據(jù)與實際探測數(shù)據(jù)中相應位置的數(shù)據(jù)作對比,用以衡量預測效果的好壞,結(jié)果如圖5 所示。
圖5 實際探測數(shù)據(jù)預測結(jié)果
圖5 中已去除產(chǎn)生過擬合現(xiàn)象的神經(jīng)網(wǎng)絡預測結(jié)果。高斯過程回歸的預測平均相對誤差為1.45%,而神經(jīng)網(wǎng)絡的預測平均相對誤差為1.52%。結(jié)果表明,在二氧化碳濃度變化不大的實際場景中,預測值偏差較小,即不會產(chǎn)生過大的預測結(jié)果導致物聯(lián)網(wǎng)平臺誤報警。
在系統(tǒng)的測試過程中,有害氣體濃度的采集時間較短,故所得濃度數(shù)據(jù)變化趨勢不大。而在實際應用場景中,探測器終端上傳數(shù)據(jù)間隔時間長達數(shù)小時,會產(chǎn)生較大的氣體濃度變化。因此引入一段上升趨勢較大的氣體濃度時間序列來模擬真實情況,在此基礎上加入正態(tài)分布的隨機誤差來模擬探測器的探測誤差,結(jié)果如圖6 所示。
圖6 模擬數(shù)據(jù)預測結(jié)果
從圖6 中可以看出,對于較為平滑的、有增長趨勢的濃度變化,兩種算法能較好地預測其結(jié)果,高斯過程回歸算法的預測結(jié)果大多在真實值下方,而神經(jīng)網(wǎng)絡算法的預測結(jié)果相反。高斯過程回歸的預測平均相對誤差為6.68%,神經(jīng)網(wǎng)絡預測平均相對誤差為6.71%。從結(jié)果來看,兩種算法均能承擔預測任務。
可視化應用基于阿里云IoT-Studio 進行開發(fā)。登錄可視化應用后可在PC 端網(wǎng)頁查看探測終端上傳的各氣體濃度的當前值/歷史值曲線,也可查看神經(jīng)網(wǎng)絡返回的實時平面內(nèi)最大濃度、各設備的未來濃度、未來平面內(nèi)最大濃度及其歷史值曲線與各設備狀態(tài)??梢暬瘧弥黜撊鐖D7 所示。
圖7 可視化應用主頁
可視化應用可具體查看各設備的報警信息及神經(jīng)網(wǎng)絡返回值的報警信息。應用詳情頁將在系統(tǒng)測試部分展示。為使數(shù)據(jù)更加直觀,應用采用ppm(百萬分比)作為氣體濃度單位。
報警信息分為3 類:氣體濃度正常、氣體濃度有風險、氣體濃度已超標。報警信息的輸出邏輯如圖8 所示。
圖8 報警信息輸出邏輯
對探測終端的氣體濃度監(jiān)測功能進行實驗,實驗場地為一居民樓內(nèi)房間,面積為15 m2,且開啟了通風窗口。探測終端部署高度為40 cm。實驗時,將探測終端部署至實驗場地后開啟1 個探測終端,并通過可視化應用對探測結(jié)果進行監(jiān)測。監(jiān)測平臺為個人計算機,監(jiān)測軟件為Microsoft Edge瀏覽器。圖9 為可視化應用顯示的二氧化碳歷史濃度曲線。結(jié)果表明,探測終端連接穩(wěn)定,未出現(xiàn)連接斷開的現(xiàn)象,且可以及時對環(huán)境內(nèi)氣體濃度的變化做出反應。
圖9 二氧化碳濃度實時監(jiān)測頁面
在探測終端就緒后,開啟神經(jīng)網(wǎng)絡對有害氣體濃度進行預測?;貍鹘Y(jié)果表明:探測終端周圍氣體的未來濃度穩(wěn)定在0.2‰~0.5‰,且全程未出現(xiàn)異常值報告。
本文提出了一種基于神經(jīng)網(wǎng)絡與窄帶物聯(lián)網(wǎng)的受限空間氣體監(jiān)測預警系統(tǒng)。探測終端采用NB-IoT 與移動基站連接,可以滿足地窖、窖井、深井等地下受限空間的網(wǎng)絡要求,探測終端與云端通信穩(wěn)定且延遲低,可及時、穩(wěn)定地將氣體濃度數(shù)據(jù)上傳至阿里云物聯(lián)網(wǎng)平臺,并通過神經(jīng)網(wǎng)絡終端進行可信度較高的預測。該系統(tǒng)可顯著改善受限空間內(nèi)部的安全狀況,有效減少窒息中毒事故的發(fā)生。