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