杜朝明 胡靜 宋鐵成 張思源



摘 要:針對傳統消防行業中數據來源單一、無法有效進行巡檢及隱患排查等問題,文章基于NB-IoT設計并實現了一種智慧消防監控系統。該系統選用STM32作為微處理器,并針對易產生火災隱患的煙霧、電氣特性、壓力及水位的信息分別采用相應的傳感器進行信息的采集,根據所處環境的火災風險情況,智能地按不同的周期將這些信息通過NB-IoT網絡上傳至OceanConnect物聯網云平臺,并最終推送至監控平臺進行數據處理。整個系統經過測試,運行狀態良好,性能穩定,有著良好的應用前景和推廣價值。
關鍵詞:NB-IoT;智慧消防;STM32;OceanConnect
0 引言
火災是嚴重危害人民生命財產安全的重大災害之一,而隨著社會的發展,造成火災的源頭也越來越多,其發生的數量及所造成的損失也逐年增長。而消防行業中傳統的數字消防也存在著數據來源單一、不能有效進行日常巡檢及排查隱患等問題[1]。因而脫胎于智慧城市的智慧消防也就應運而生,同時,公安部也發布了《關于全面推進“智慧消防”建設的指導意見》,大力推動現代科技在傳統消防行業上的應用。
現階段,大部分的智慧消防系統都是基于ZigBee實現的[2-3],ZigBee雖然有著低功耗、價格低等優勢,但其通信距離較近,在需要較大的覆蓋范圍時又需要提高發射功率或部署更多的中繼節點,這又與其原本的優勢背道而馳。與之相對應的,NB-IoT則具有低功耗、低成本、強連接、廣覆蓋等優勢[4]。本文將基于此進行智慧消防系統的設計。
1 系統功能及總體架構
1.1 系統功能
整個系統針對可能引發火災的因素,部署對應煙霧、電氣特性、壓力、水位的信息采集終端,并通過NB-IoT的通信方式,以實現低成本、低功耗地將信息上傳至云端物聯網平臺,并設計監控平臺,將云端的數據進行整合、處理,實現指令下發、數據展示、報警燈功能。
1.2 總體架構
整個系統的架構如圖1所示,主要分為3個部分:信息采集終端、物聯網平臺、監控平臺。信息采集終端包含了傳感器、微處理器、NB-IoT模塊等部分,負責采集可能引起火災的溫度、燃氣、電弧及與消防息息相關的消防水栓的壓力、液位等信息;物聯網平臺采用的是華為的OceanConnect物聯網平臺,該平臺可接入NB-IoT網絡,并適配多種通信協議,并提供豐富的api,支持連接管理、設備管理、數據管理等功能,可接入海量的終端設備[5]。監控平臺則通過與物聯網平臺之間的通信,獲取終端設備的數據,通過可視化界面進行設備信息的展示,并實現下發指令的功能,設計報警功能,將設備的異常狀態推送至安全員處。
2 系統的硬件組成
系統的硬件組成如圖2所示,主要由采集不同信息的各種傳感器、微處理器及NB-IoT模塊等組成。針對消防中的不同環節,從3個大的方向進行信息的采集并采用對應的傳感器:可能造成明火隱患的電流特性、實時的煙霧情況及消防用水設施的狀態等。
針對電流特性,采用acs712霍爾電流傳感器獲取被測線路的交流電流特性,然后通過整流橋獲取相對應的直流電流特性;針對煙霧情況,使用MQ-2氣體傳感器,煙霧的濃度越大,導電率越高,輸出的電阻則越低,輸出的模擬電壓也就越高,從而得到煙霧的濃度信息;針對消防用水設施,則主要針對其水壓情況及水位深度進行測量,通過高性能的擴散硅壓阻式傳感器作為測量元件的SY-2088水箱液位器進行水位深度的測量,并通過采用了擴散硅壓力芯體作為敏感元件的PCM300壓力變送器進行水壓的測量。
微處理器部分則采用了基于ARM Cortex-M3的STM32F103微處理器。STM32系列MCU是一個32位MCU,其支持SWD和JTAG接口的調試模式,便于進行開發,且提供gpio及uart等在內的通信接口,可與多個外設之間進行通信,并支持ADC等外設,可實現對傳感器傳入數據的讀取,STM32的特點和這些豐富的資源及存儲空間完全可以滿足系統的需求。
NB-IoT模塊是由WH-NB73為通信芯片組成,且接入SIM卡槽,以提供接入運營商網絡的功能,并外接天線以增強信號強度,且內置CoAP,UDP透傳等通信協議,以滿足物聯網通信的需求。
最終整個系統以傳感器為起點,將采集到的終端信號量通過STM32的ADC傳入MCU進行處理,并通過NB-IoT模塊將數據傳至基站處,最終傳至物聯網云平臺進行后續處理。
3 系統的軟件設計
整個系統的軟件設計部分主要分為信息采集端的軟件設計、物聯網云平臺的開發及監控平臺的開發。
3.1 信息采集終端的軟件設計
信息采集終端主要包含了微處理器處的邏輯控制、終端信息的采集以及信息的接收與發送。
整個系統啟動時,首先會進行系統的初始化過程,包括微處理器本身的初始化過程以及NB-IoT模塊的初始化。微處理器初始化時會打開時鐘、配置gpio端口、設置波特率等。進行NB-IoT模塊的初始化時,會通過AT指令獲取模塊上插入的SIM卡的IMEI號碼,以此作為本設備的唯一標志,用于與別的設備進行區分,并設置需要連接的物聯網云平臺的IP地址,進行聯網嘗試,如果嘗試10次后仍未能連接至指定的云平臺,則視為當前網絡擁塞,并將在1 h后重新進行嘗試。
在微處理器中會涉及數據的采集,為了盡可能地反映一段時間內數據的一致性,避免單個采樣數據錯誤導致的誤警情況,會使用定時器進行多次采集并在取平均值后進行上傳。設當前上傳周期中已采集過的數據次數為a,采集到大于閾值的數據次數為b,累計采集到的小于閾值的數據之和為c,累計采集到的大于閾值的數據之和為d,并設置初始的最大采集次數為a0,初始的大于閾值的最大采集次數為b0,初始的采集數據的閾值為c0。針對不同的傳感器,則會根據其量程設置不同的參數以滿足其具體需求。
在采集數據的過程中,當定時器溢出觸發中斷的時候,會首先判斷采集到大于閾值的數據次數b是否大于b0,如果是,說明當前的數據已達到需要告警的程度,則會將數據采集的周期減半,更頻繁地進行數據采集,并立即進行數據的上報;否則視為未達到需要報警的情況,會判斷已采集過的數據次數a是否大于a0,如果是,則說明當前周期已結束,需要將該段時間所累加的數據c,d進行疊加并除以a0以獲得這段時間內數據的平均情況,并進行上報;否則就說明當前周期未結束,需要對該次采集到的數據進行判斷,根據其與閾值的大小關系,將其累加至c或者d上。每次通過NB-IoT模塊上傳數據時,也會將a,b,c,d的值清零,從而進入下一個采集周期。
在定時器未觸發中斷的時候,會通過NB-IoT模塊監聽是否有指令的下發,當NB-IoT模塊接收到數據包時,會通過串口通信傳給微處理器,然后會對數組的長度、格式等進行校驗,通過校驗則會將指令中想要修改的采集周期等參數進行更新(見圖3)。
3.2 物聯網云平臺的開發
系統所使用的是華為的OceanConnect物聯網平臺,該平臺與NB-IoT模塊之間通過CoAP協議實現通信,該協議基于UDP,且依靠二進制格式,最小長度僅需要4個字節,從而具有更加輕量化的特點,更適用于低功耗的物聯網場景[6]。
如圖4所示,在進行OceanConnect平臺的開發時,首先新建一個項目,在項目中創建新的產品,并在產品界面中定義profile文件,即該產品所能提供的服務、產品會上傳的信息類型以及該產品所需要接收的命令,最后開發編解碼插件定義好信息的編解碼規則并進行產品的部署。對于終端設備,則在物聯網平臺上進行設備的創建,并將終端設備上SIM卡所對應的IMEI號作為標識進行綁定。聯網成功后則能實現終端設備與物聯網平臺之間的交互。
由于在物聯網平臺與終端設備之間采用CoAP協議進行通信,二進制格式的數據需要通過特定的編解碼規則來進行解析。在本系統中,對于從終端設備處所上傳的數據按照表1中規定的數據幀格式進行解析,其中針對不同的設備可能會上傳不同種類的信息,故會根據其功能設定不同的消息種類,并上傳相應字節長度的消息至物聯網平臺,且為了節約成本、功耗,并不要求物聯網平臺對上傳的數據進行響應。對于命令的數據幀則是按照表2中的格式進行設計,根據不同種類的命令分配1字節進行區分,并設計命令序號以對某條命令進行精準定位,以獲得該條命令的響應;在終端設備向物聯網平臺進行命令響應時,還會附帶上1字節的命令執行狀態信息,供物聯網平臺獲取命令的執行情況,以防命令未能成功執行時所帶來的系統狀態的不一致。
3.3 監控平臺的開發
監控平臺與物聯網平臺之間的通信,主要是通過調用物聯網平臺的北向接口實現的。首先在物聯網平臺上傳監控平臺的CA證書,之后便可以通過https協議進行通信,監控平臺通過調用物聯網平臺的消息訂閱接口,實現當采集終端上傳指定信息至物聯網平臺時,會同時將該信息解析推送至監控平臺處;當監控平臺有命令需要下發時,也能調用物聯網平臺的命令下發接口以利用profile文件中規定的命令實現對終端設備的控制。在監控平臺處,用MySQL數據庫對接收到的數據進行存儲,以供顯示及數據分析使用。
監控平臺主要集成了系統節點管理、節點信息查詢、節點狀態更改等功能,如圖5所示。節點管理模塊中,可顯示當前系統中所涉及的不同傳感器類型,及各種類型傳感器所對應終端節點的編號,可對當前系統的整體容量有直觀的體現。針對特定編號的終端,節點信息查詢模塊可通過對數據庫的查詢,對該終端在特定時間段內所收集到的信息進行查詢、顯示。各個終端節點都有其特定的告警閾值、采集周期等狀態信息,這些信息都可在節點狀態更改模塊中進行查詢,并可對其數值進行修改,同時經過監控平臺-物聯網平臺-終端節點這一下行鏈路將此信息更新至終端節點中,以實現對于終端的靈活控制。
4 系統的測試
將帶有煙霧、電流、液壓等傳感器的終端節點放置于室內、衛生間等處,并設置不同的初始閾值、采集周期等進行測試。各終端設備成功初始化并連接上NB-IoT網絡后,開始按照預設的采集周期向OceanConnect物聯網平臺進行數據的上傳,且數據都能正常地推送至監控平臺處。在監控平臺處,系統節點管理模塊能正常地顯示出系統中已接入的終端設備的編號。針對接入了煙霧傳感器的終端節點,節點狀態更改模塊如圖6所示,能順利查詢出各終端設備所預設的初始閾值為1.00、采集周期為240 s等信息,且將采集周期修改為30 s后,該終端設備也能如圖7所示,按照最新的采集周期進行上傳。節點信息查詢模塊的測試如圖8所示,首先在無煙的狀態下進行數據上傳,監測平臺處會以較長的周期接收到煙霧數據,隨后將點燃后熄滅了的紙片放到傳感器附近,模擬有火災發生的情況。由于采集數據大于預設的閾值,終端節點則一次次地以更短的采集周期上傳數據,并很快收斂到以最短的周期進行數據上傳,將紙片遠離傳感器,模擬火災結束的情況。由于采集數據小于預設的閾值,終端也會一次次以更長的周期進行數據上傳,并很快按最大的采集周期進行上傳,以達到節能的目的。
5 結語
文章基于NB-IoT的通信方式設計并實現了一個智慧消防系統,并對整個系統的架構及其軟硬件的設計過程進行了詳細的描述。測試結果顯示,系統的運行結果良好,滿足智慧消防的需求。
[參考文獻]
[1]胡悅,童恩,曹浩彤,等.構建全面的智慧消防體系[C]//杭州:物聯網與無線通信—2018年全國物聯網技術與應用大會論文集,2018.
[2]張偉,徐暉,陳馥婧.基于物聯網的滅火防護服監測系統設計與實現[J].消防界(電子版),2019(24):36-37.
[3]倪建云,張薦,解樹枝,等.分布式消防報警監控系統的設計與實現[J].實驗室研究與探索,2018(4):308-312.
[4]曲井致.NB-IoT低速率窄帶物聯網通信技術現狀及發展趨勢[J].科技創新與應用,2016(31):115.
[5]郭亞勤,楊靜,王艷花.基于OceanConnect室內空氣質量檢測系統[J].電子設計工程,2020(5):56-60.
[6]湯春明,張熒,吳宇平.無線物聯網中CoAP協議的研究與實現[J].現代電子技術,2013(1):40-44.
(編輯?王永超)
Design and implementation of intelligent fire control system based on NB-IoT
Du Chaoming, Hu Jing, Song Tiecheng, Zhang Siyuan
(School of Information Science and Engineering, Southeast University, Nanjing 210096, China)
Abstract:In view of the problems of single data source, being unable to carry out inspection and hidden trouble investigation effectively in the traditional fire fighting industry, this paper designs and implements an intelligent fire control monitoring system based on NB-IoT. The system selects the STM32 as the microprocessor and uses the corresponding sensors to collect the information of smoke, electrical characteristics, pressure and water level. According to the fire risk of the environment, the information is uploaded to the OceanConnect Internet of Things cloud platform through the NB-IoT network according to pushed to the monitoring platform for data processing. After test, it proves that the whole system runs in good condition, has stable performance, and has good application prospect and popularization value.
Key words:NB-IoT; intelligent fire; STM32; OceanConnect
作者簡介:杜朝明(1995— ),男,四川瀘州人,碩士研究生;研究方向:物聯網技術及應用。