李楠,蘇航,張安莉,徐艷
(1.西安交通大學(xué)城市學(xué)院電氣與信息工程系,陜西西安 710018;2.機(jī)器人與智能制造陜西省高校工程研究中心,陜西 西安 710018)
火災(zāi)是嚴(yán)重危害人民生命財(cái)產(chǎn)安全的重大災(zāi)害之一,如何在火災(zāi)的前期快速識(shí)別與消滅火災(zāi)成為目前急需解決的問(wèn)題[1-5]?,F(xiàn)階段對(duì)于消防監(jiān)控系統(tǒng)的研究大多集中在通信方式的創(chuàng)新應(yīng)用[6-11]、算法的優(yōu)化[12-15]以及新興技術(shù)的融合應(yīng)用[16-18],針對(duì)數(shù)據(jù)實(shí)時(shí)監(jiān)控方面的研究以及監(jiān)控?cái)?shù)據(jù)分析還存在著一定程度的弱化或不足。
該文提出一種基于NB-IoT 和OneNET 云平臺(tái)的智慧消防監(jiān)控系統(tǒng)。采用STM32 單片機(jī)為主控芯片,外接多傳感器采集實(shí)時(shí)數(shù)據(jù)并打包上傳云平臺(tái),完成數(shù)據(jù)分析及火災(zāi)報(bào)警,通過(guò)移動(dòng)端APP 實(shí)時(shí)監(jiān)控火警情況,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)顯示、火警報(bào)警、歷史數(shù)據(jù)存儲(chǔ)與查看等功能。
系統(tǒng)總體框架如圖1 所示,其分為下位機(jī)和上位機(jī)兩部分。下位機(jī)部分:DHT11溫濕度傳感器采集環(huán)境濕度和溫度數(shù)據(jù),MQ-2 煙霧傳感器采集氣體數(shù)據(jù),ALIM8812 火焰?zhèn)鞲衅鞑杉鹧鏀?shù)據(jù)。主控芯片STM32完成對(duì)數(shù)據(jù)的A/D 轉(zhuǎn)換,并控制通信模塊將數(shù)據(jù)上傳至上位機(jī)。上位機(jī)部分由云平臺(tái)和移動(dòng)端APP兩部分組成,云平臺(tái)是上位機(jī)的中樞模塊,由云平臺(tái)實(shí)現(xiàn)數(shù)據(jù)接收、數(shù)據(jù)處理、實(shí)時(shí)監(jiān)控、指令下發(fā)和報(bào)警。并將數(shù)據(jù)同步于移動(dòng)端APP。用戶可登錄APP查看,隨時(shí)掌握消防狀況、接收火警并且一鍵處置。
圖1 系統(tǒng)結(jié)構(gòu)框圖
主控芯片采用基于ARM Cortex-M3的STM32F103單片機(jī),其是一個(gè)32 位微處理器,工作頻率可達(dá)48 MHz,存儲(chǔ)器可外部擴(kuò)展,支持SWD 和JTAG 借口的調(diào)試模式。通信方式上,提供GPIO、UART、I2C 等通信接口,可與多個(gè)外設(shè)之間通信,并支持ADC 等外設(shè),可讀取傳感器傳入數(shù)據(jù)。
DHT11 數(shù)字溫濕度傳感器是由感濕電阻、熱敏電阻和一個(gè)8 位單片機(jī)構(gòu)成的溫濕度傳感器。平均工作電流不超過(guò)0.5 mA。工作電壓為3~5.5 V,采用4 針引腳的封裝,連接單片機(jī)的I/O 口。溫度測(cè)量范圍為-40~80 ℃,分辨率為0.1 ℃,誤差為±0.5 ℃。濕度測(cè)量范圍為0~100%RH,分辨率為0.1%RH,誤差為±2%RH。
ALIM8812 煙霧傳感器可檢測(cè)火焰或波長(zhǎng)在760~1 100 nm 范圍內(nèi)的光源,測(cè)試距離伴隨著火焰增大而增大,探測(cè)角度為60°左右,并且對(duì)火焰光譜特別敏感。采用比較器輸出,具有干凈信號(hào)和良好的波形,以及驅(qū)動(dòng)能力強(qiáng)、價(jià)格低廉等優(yōu)點(diǎn)。
MQ-2 煙霧傳感器主要由二氧化錫半導(dǎo)體氣敏材料構(gòu)成。當(dāng)該傳感器與煙霧接觸時(shí),其表面導(dǎo)電率會(huì)伴隨著煙霧的濃度變化而變化,煙霧的濃度越大,導(dǎo)電率越高,輸出的電阻越低,輸出的模擬電壓也就越高,從而得到煙霧的濃度信息。MQ-2 煙霧傳感器對(duì)天然氣、液化石油氣等煙霧敏感,能有效排除非可燃性煙霧的干擾信息。檢測(cè)煙霧及可燃性氣體范圍為10-4~10-2。
采用移遠(yuǎn)BC260Y-CN 芯片作為NB-IoT 無(wú)線通信模塊,其是一款高性能、低功耗且多頻段的LTE Cat NB2 無(wú)線通信模塊。采用LCC 封裝,外觀尺寸17.7 mm×15.8 mm×2.0 mm。和傳統(tǒng)的WiFi、Zigbee無(wú)線通信方式相比,基于NB-IoT 的移遠(yuǎn)BC260YCN 具有廣覆蓋、多連接、低功耗的特點(diǎn)。BC260YCN 與STM32 主控芯片之間通過(guò)UART2 接口連接,實(shí)現(xiàn)數(shù)據(jù)傳輸,主控芯片通過(guò)AT 指令實(shí)現(xiàn)對(duì)BC260Y-CN的控制。BC260Y-CN通過(guò)MQTT協(xié)議接入到OneNET 云平臺(tái)。
火災(zāi)的發(fā)生伴隨大量有毒氣體和煙霧排放、火焰的產(chǎn)生,且環(huán)境溫度和濕度都會(huì)發(fā)生明顯變化,本系統(tǒng)結(jié)合多傳感器采集消防環(huán)境數(shù)據(jù),消防監(jiān)控流程如圖2 所示。
圖2 主程序流程圖
步驟1:系統(tǒng)初始化,包括初始化串口、初始化GPIO、初始化NB-IoT 模塊等。
步驟2:設(shè)定各項(xiàng)參數(shù)范圍?;鹧骈撝翟O(shè)置為760 nm,煙霧濃度閾值為6×10-5。溫度閾值設(shè)定為50 ℃,濕度閾值設(shè)定為40%RH。
步驟3:下位機(jī)上傳各項(xiàng)數(shù)據(jù),寫入云端。
步驟4:判斷火焰?zhèn)鞲衅鲾?shù)據(jù)是否超過(guò)報(bào)警閾值。
步驟5:若火焰數(shù)值超閾值,再判斷煙霧濃度是否也超過(guò)閾值
步驟6:如果以上兩項(xiàng)數(shù)值都超過(guò)閾值,再判斷是否出現(xiàn)溫度瞬時(shí)上升和濕度瞬時(shí)波動(dòng)的情況,或溫度高于所設(shè)置的閾值50 ℃。
步驟7:以上三重判斷都通過(guò),判定為火災(zāi)警情,提示報(bào)警并控制繼電器滅火。
步驟8:數(shù)據(jù)存儲(chǔ)到歷史記錄模塊。
步驟9:進(jìn)入下一次循環(huán)。
采用中國(guó)移動(dòng)提供的OneNET 云平臺(tái)來(lái)實(shí)現(xiàn)云平臺(tái)設(shè)計(jì)。整體設(shè)計(jì)流程圖如圖3 所示,包括云平臺(tái)賬號(hào)的注冊(cè)、產(chǎn)品的創(chuàng)建、設(shè)備的添加、可視化監(jiān)控界面的設(shè)計(jì)等步驟。
圖3 OneNET云平臺(tái)設(shè)計(jì)流程圖
2.2.1 設(shè)備的添加及數(shù)據(jù)管理
首先在官網(wǎng)注冊(cè)用戶賬號(hào),成功注冊(cè)之后,在用戶賬號(hào)下創(chuàng)建產(chǎn)品,在產(chǎn)品中就可添加設(shè)備了。以該系統(tǒng)為例,添加一臺(tái)名為“test”的硬件設(shè)備,IP 地址分配為183.230.40.39,端口號(hào)為6002。將產(chǎn)品ID及設(shè)備信息作為登錄參數(shù)上傳至云平臺(tái),連接成功后,設(shè)備狀態(tài)顯示為在線。
設(shè)備數(shù)據(jù)的管理是通過(guò)數(shù)據(jù)流來(lái)實(shí)現(xiàn)的,在云端平臺(tái)搭建數(shù)據(jù)流模板,下位機(jī)通過(guò)AT 指令將數(shù)據(jù)上傳到云平臺(tái)后,數(shù)據(jù)以數(shù)據(jù)點(diǎn)的形式存儲(chǔ)在數(shù)據(jù)流中,在設(shè)備列表中點(diǎn)擊數(shù)據(jù)流,進(jìn)入后即可查看各項(xiàng)實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)信息。
2.2.2 預(yù)警觸發(fā)器的設(shè)計(jì)
設(shè)備添加完后,為各設(shè)備上傳的數(shù)據(jù)添加觸發(fā)器功能。分別設(shè)置火焰、溫濕度、煙霧濃度對(duì)應(yīng)的觸發(fā)器名稱、ID、觸發(fā)條件、關(guān)聯(lián)設(shè)備數(shù)等信息。當(dāng)數(shù)值達(dá)到觸發(fā)條件時(shí),云平臺(tái)會(huì)自動(dòng)發(fā)送報(bào)警信息。以煙霧濃度觸發(fā)器為例,當(dāng)煙霧濃度大于6×10-5時(shí),觸發(fā)報(bào)警信息,接收方式選擇為短信接收,信息內(nèi)容包含觸發(fā)器信息、觸發(fā)數(shù)據(jù),觸發(fā)時(shí)間等,根據(jù)觸發(fā)器ID 可以快速定位發(fā)生火情的位置,根據(jù)觸發(fā)時(shí)間可以確定火情發(fā)生的準(zhǔn)確時(shí)間。
2.2.3 可視化界面設(shè)計(jì)
經(jīng)過(guò)上述的賬戶注冊(cè)、設(shè)備添加、數(shù)據(jù)管理及觸發(fā)器設(shè)置后,進(jìn)入數(shù)據(jù)可視化操控平臺(tái),該系統(tǒng)選取的組件包括設(shè)備管理組件、傳感器數(shù)據(jù)組件、數(shù)據(jù)報(bào)警組件、天氣預(yù)報(bào)組件。傳感器數(shù)據(jù)組件采用儀表盤+折線圖的設(shè)計(jì)方案,儀表盤顯示實(shí)時(shí)數(shù)據(jù),折線圖展示最近一段時(shí)間內(nèi)的數(shù)據(jù)。移動(dòng)端同樣可以登錄OneNET 賬號(hào),從而實(shí)現(xiàn)手機(jī)的遠(yuǎn)程監(jiān)控和操作。
該系統(tǒng)研發(fā)了一款消防監(jiān)控APP,圖4 為APP設(shè)計(jì)流程圖。通過(guò)OneNET 平臺(tái)提供的Android 應(yīng)用創(chuàng)建器。采用云平臺(tái)注冊(cè)的用戶名登錄APP,實(shí)現(xiàn)云平臺(tái)與APP 數(shù)據(jù)實(shí)時(shí)互通、火警信號(hào)實(shí)時(shí)發(fā)送。
圖4 APP設(shè)計(jì)流程圖
正常運(yùn)行時(shí)的云平臺(tái)界面如圖5(a)所示。設(shè)置可檢測(cè)溫度范圍為0~80 ℃、分辨率為0.1 ℃、誤差為±2 ℃,濕度檢測(cè)范圍為20~95%RH、分辨率為1%RH、誤差為±5%RH,火焰波長(zhǎng)在760~1 100 nm 范圍內(nèi)的光源,煙霧濃度范圍為0~6×10-5。檢測(cè)實(shí)時(shí)數(shù)據(jù):溫度為26 ℃,濕度為51%RH,煙霧以及可燃性氣體濃度為8×10-6。
圖5 OneNET云平臺(tái)測(cè)試界面
模擬火災(zāi)場(chǎng)景進(jìn)行測(cè)試,如圖5(b)所示,實(shí)時(shí)數(shù)據(jù):溫度為26 ℃,濕度為49%RH,煙霧濃度為9.1×10-5,觸發(fā)火災(zāi)預(yù)警。
設(shè)定溫度測(cè)量范圍為0~80 ℃,濕度測(cè)量范圍為20~95%RH,當(dāng)火焰?zhèn)鞲衅鞅挥|發(fā)后系統(tǒng)測(cè)算溫濕度系統(tǒng)是否有瞬時(shí)上升或下降情況,時(shí)間間隔為10 s。溫度實(shí)時(shí)數(shù)據(jù)如圖6(a)、(b)所示;濕度實(shí)時(shí)數(shù)據(jù)如圖7(a)、(b)所示。下位機(jī)中,T代表溫度,顯示25 ℃,H代表濕度,顯示51%RH,實(shí)時(shí)數(shù)據(jù)顯示,上位機(jī)溫度在瞬時(shí)出現(xiàn)25~26 ℃上升情況,并且濕度出現(xiàn)34~51%RH 的波動(dòng)情況,觸發(fā)火災(zāi)報(bào)警。
圖6 溫度監(jiān)測(cè)系統(tǒng)
圖7 濕度監(jiān)測(cè)系統(tǒng)
設(shè)置煙霧濃度測(cè)量范圍為0~6×10-5。實(shí)時(shí)監(jiān)測(cè)煙霧濃度為91%,遠(yuǎn)超閾值,顯示此時(shí)煙霧濃度異常,觸發(fā)火災(zāi)報(bào)警。
分別記錄傳感器采集的溫濕度、濃度、可見(jiàn)光波長(zhǎng)數(shù)據(jù),并與標(biāo)準(zhǔn)值比較,得到相對(duì)誤差,如表1所示。
表1 下位機(jī)數(shù)據(jù)測(cè)試
數(shù)據(jù)上傳延時(shí)情況測(cè)試,整體延時(shí)在8~50 ms。上位機(jī)進(jìn)行數(shù)據(jù)分析后,將異常數(shù)據(jù)發(fā)送給用戶移動(dòng)端報(bào)警,并控制下位機(jī)進(jìn)行繼電器操控消防設(shè)備滅火操作。
數(shù)據(jù)標(biāo)準(zhǔn)值由標(biāo)準(zhǔn)函數(shù)表測(cè)量,相對(duì)誤差的計(jì)算如式(1)所示:
式中,X為相對(duì)誤差,Xa為測(cè)量值,Xb為標(biāo)準(zhǔn)值。
根據(jù)以上測(cè)試結(jié)果分析,監(jiān)測(cè)系統(tǒng)可見(jiàn)光波長(zhǎng)誤差范圍為0~1.5%,濃度誤差范圍為0~4%,溫度誤差范圍為0~3.8%,濕度誤差范圍為0~8.9%。
通過(guò)對(duì)測(cè)量數(shù)據(jù)進(jìn)行一階多項(xiàng)式擬合,提高測(cè)量準(zhǔn)確度,對(duì)擬合后的數(shù)據(jù)和測(cè)量數(shù)據(jù)分別進(jìn)行平均相對(duì)誤差計(jì)算??梢?jiàn)光波長(zhǎng)測(cè)量值平均相對(duì)誤差為1.3%,擬合后平均相對(duì)誤差為1.12%;煙霧濃度測(cè)量值平均相對(duì)誤差為3.62%,擬合后平均相對(duì)誤差為3.49%;溫度測(cè)量值平均相對(duì)誤差為3.2%,擬合后平均相對(duì)誤差為3.02%;濕度測(cè)量值平均相對(duì)誤差為3.89%,擬合值平均相對(duì)誤差為3.42%。由式(1)可得,系統(tǒng)報(bào)警準(zhǔn)確率為97.2%。
測(cè)量數(shù)據(jù)表明,擬合后所得到的參數(shù)測(cè)量誤差與相對(duì)誤差計(jì)算值具有較高準(zhǔn)確性。因此,將此算法加入對(duì)參數(shù)測(cè)量算法的優(yōu)化方案中,可讓系統(tǒng)火警判定率得到提升。
該文所設(shè)計(jì)的智慧消防遠(yuǎn)程監(jiān)控系統(tǒng),下位機(jī)由STM32 單片機(jī)、DHT11 溫濕度傳感器、MQ-2 煙霧傳感器和ALIM8812 火焰?zhèn)鞲衅鳂?gòu)成。上位機(jī)由云平臺(tái)和移動(dòng)APP 組成,實(shí)現(xiàn)數(shù)據(jù)顯示、波形圖表、報(bào)警、數(shù)據(jù)查詢、數(shù)據(jù)存儲(chǔ)、火警一鍵處置等功能。測(cè)試表明,該系統(tǒng)溫度測(cè)量范圍為0~80 ℃,平均相對(duì)誤差為3.02%;濕度測(cè)量范圍為20~95%RH,平均相對(duì)誤差為3.42%;可見(jiàn)光測(cè)量范圍為760~1 100 nm,擬合后平均相對(duì)誤差為1.12%;煙霧濃度測(cè)量范圍為0~6×10-5,擬合后平均相對(duì)誤差為3.49%;系統(tǒng)報(bào)警準(zhǔn)確率為97.2%,數(shù)據(jù)延遲低于50 ms。滿足智慧消防監(jiān)控系統(tǒng)的設(shè)計(jì)需求。