(滇西科技師范學(xué)院智能與信息工程學(xué)院,云南臨滄 677000)
智能樓宇消防報警系統(tǒng)基于無線傳感網(wǎng)設(shè)計開發(fā)。采用zigbee無線傳感通信技術(shù),匯聚煙霧傳感器、溫濕度傳感器、聲光報警器、繼電器、排煙扇等終端數(shù)據(jù),設(shè)計開發(fā)智能網(wǎng)關(guān)子系統(tǒng)和控制中心子系統(tǒng),使用mysql數(shù)據(jù)庫存儲,形成一套對智能樓宇實(shí)施消防安全監(jiān)控的報警系統(tǒng)[1]。本系統(tǒng)的設(shè)計開發(fā)符合物聯(lián)網(wǎng)無線通信技術(shù)規(guī)范,使用穩(wěn)定成熟的技術(shù),體現(xiàn)了安裝便捷、運(yùn)行穩(wěn)定、系統(tǒng)輕量化等特點(diǎn),適用于智慧大樓分層監(jiān)控、數(shù)據(jù)匯聚分析、智能樓宇師職業(yè)鑒定考評等方面。
系統(tǒng)總體設(shè)計以現(xiàn)有的智慧樓宇互聯(lián)網(wǎng)為基礎(chǔ),設(shè)計一套滿足各子系統(tǒng)功能需求的智能消防報警系統(tǒng)。
其中,數(shù)據(jù)采集子系統(tǒng)采用無線傳感網(wǎng)技術(shù)規(guī)范實(shí)現(xiàn),通過串口通信與智能網(wǎng)關(guān)子系統(tǒng)相連接;智能網(wǎng)關(guān)子系統(tǒng)采用x86平臺串口通信和TCP/IP通信設(shè)計,支持計算機(jī)有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)(wifi或5G)與智慧樓宇互聯(lián)網(wǎng)相連接;消防報警云平臺采用HTTP 服務(wù)器技術(shù)設(shè)計,架設(shè)一套支持HTTP傳輸?shù)膚eb平臺,連接到智慧樓宇互聯(lián)網(wǎng);數(shù)據(jù)庫服務(wù)器采用MySQL 實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)庫的存儲和查詢,通過智慧樓宇互聯(lián)網(wǎng)實(shí)現(xiàn)數(shù)據(jù)存儲和讀取;消防報警監(jiān)控中心子系統(tǒng)采用網(wǎng)絡(luò)數(shù)據(jù)庫三層架構(gòu),通過智慧樓宇互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)的讀取、統(tǒng)計和控制[2]。
數(shù)據(jù)采集子系統(tǒng)采用無線傳感網(wǎng)技術(shù)規(guī)范實(shí)現(xiàn),采用zigbee自組網(wǎng)技術(shù)實(shí)現(xiàn)對傳感網(wǎng)數(shù)據(jù)的無線采集和控制。
其中,系統(tǒng)設(shè)計中使用煙霧傳感器、溫濕度傳感器、聲光報警器、繼電器四種類型的傳感器,實(shí)現(xiàn)消防數(shù)據(jù)采集功能。采集數(shù)據(jù)分為數(shù)字量數(shù)據(jù)和模擬量數(shù)據(jù),另外實(shí)現(xiàn)對聲光報警器、繼電器的控制。傳感器由STM8 單片機(jī)控制,整合數(shù)據(jù)傳輸協(xié)議,形成一套規(guī)范的、統(tǒng)一的數(shù)據(jù)協(xié)議格式,便于傳輸和匯聚分析。
1.2.1 煙霧傳感器模塊設(shè)計
煙霧傳感器的數(shù)據(jù)輸出引腳(MQ2_AD)接入STM8S103F3單片機(jī)的PD2引腳,做為數(shù)據(jù)采集的第一道入口。STM8S103F3單片通過PD5引腳用串口輸出的方式向外部輸出串口數(shù)據(jù)。
1.2.2 溫濕度感器模塊設(shè)計
溫濕度傳感器的數(shù)據(jù)輸出引腳(DHT22_DATA)接入STM8S103F3單片機(jī)的PD3引腳,做為數(shù)據(jù)采集的第一道入口。STM8S103F3單片通過PD5引腳用串口輸出的方式向外部輸出串口數(shù)據(jù)。
1.2.3 聲光報警器模塊設(shè)計
聲光報警器的蜂鳴器數(shù)據(jù)輸出引腳(BEEP)接入STM8S103F3單片機(jī)的PD4引腳,做為蜂鳴器發(fā)聲的命令輸出口。聲光報警器的LED燈光數(shù)據(jù)輸出引腳(HL_LED)接入STM8S103F3單片機(jī)的PD3引腳,做為LED燈光閃爍的命令輸出口。STM8S103F3單片通過PD6引腳用串口接收的方式從外部接收報警數(shù)據(jù)。
1.2.4 繼電器模塊設(shè)計
繼電器的數(shù)據(jù)輸出引腳(IO)接入STM8S103F3單片機(jī)的PD4引腳,做為控制信號的命令輸出口。STM8S103F3單片通過PD6引腳用串口接收的方式從外部接收繼電器開關(guān)數(shù)據(jù)。繼電器通過P3模塊,外接排風(fēng)扇電源和數(shù)據(jù),實(shí)現(xiàn)排風(fēng)扇的控制。
1.2.5 無線傳感網(wǎng)設(shè)計
系統(tǒng)設(shè)計使用,使用CC2530單片機(jī)集成BasicRF技術(shù),實(shí)現(xiàn)基于2.4G無線通信并符合IEEE802.15規(guī)范的zigbee無線傳感網(wǎng)。Zigbee的特點(diǎn)是滿足自動組網(wǎng)、多節(jié)點(diǎn)無線連接,透明傳輸?shù)?。zigbee無線通信模塊分為兩類,一類稱為終端,終端與傳感器模塊相連,實(shí)現(xiàn)讀取或控制傳感數(shù)據(jù)的功能;另一類稱為協(xié)調(diào)器,其主要功能是實(shí)現(xiàn)zigbee組網(wǎng),一個網(wǎng)絡(luò)中,由一個協(xié)調(diào)器和多個終端構(gòu)成[3-4]。
在終端模塊中,zibgee無線通信終端中的P1子模塊與STM8S103F3單片機(jī)P1子模塊相連,實(shí)現(xiàn)串口通信,即傳感網(wǎng)模塊通過協(xié)議封裝,STM8S103F3通過P1子模塊把數(shù)據(jù)傳輸?shù)絲ibgee無線通信模塊。再由zibgee無線通信模塊把數(shù)據(jù)通過BasecRF無線信號傳輸?shù)絽f(xié)調(diào)器[5-6]。
在組網(wǎng)模塊中,協(xié)調(diào)器實(shí)現(xiàn)zigbee組網(wǎng)和數(shù)據(jù)接收的功能。模塊的P1子模塊與智能網(wǎng)關(guān)系統(tǒng)的串口相連,協(xié)調(diào)器接收無線傳感器數(shù)據(jù),并進(jìn)行無線傳感網(wǎng)數(shù)據(jù)封裝,通過串口把數(shù)據(jù)傳輸?shù)街悄芫W(wǎng)關(guān)進(jìn)行處理和綜合控制。
智能網(wǎng)關(guān)子系統(tǒng)采用x86平臺串口通信和TCP/IP通信設(shè)計。使用基于.Net框架的C#程序開發(fā)。
1.3.1 串口通信設(shè)計
主要實(shí)現(xiàn)與協(xié)調(diào)器的數(shù)據(jù)交換,使用.Net 框架的System.IO.Ports類庫,編寫SerialPort串口通信程序,一方面解析協(xié)調(diào)器發(fā)送來的無線傳感網(wǎng)數(shù)據(jù)格式,提取必要信息進(jìn)行計算,另一方面向協(xié)調(diào)器發(fā)送控制命令,實(shí)現(xiàn)對聲光報警器和繼電器的控制。
1.3.2 HTTP數(shù)據(jù)傳輸設(shè)計
實(shí)現(xiàn)HTTP客戶端功能,使用.Net框架的System.Net.Http類庫,編寫HttpClient程序,向消防報警云平臺發(fā)送傳數(shù)據(jù)采集時間、傳感器類型、傳感器數(shù)據(jù)等信息。使用HTTP 傳輸?shù)膬?yōu)點(diǎn)是可以跨越網(wǎng)段,實(shí)現(xiàn)互聯(lián)網(wǎng)通信。
1.3.3 綜合計算設(shè)計
(1)采用C#多線程和數(shù)據(jù)響應(yīng)觸發(fā)方式實(shí)現(xiàn)實(shí)時數(shù)據(jù)采集功能,并根據(jù)數(shù)據(jù)計算實(shí)現(xiàn)智能控制和自動控制。(2)使用.Net框架的Chart圖表實(shí)現(xiàn)數(shù)據(jù)可視化能力。
消防報警云平臺采用IIS服務(wù)器架設(shè)基于ASP.Net的云服務(wù)邏輯,主要功能包括:(1)接收智能網(wǎng)關(guān)子系統(tǒng)(Http客戶端)發(fā)送來的數(shù)據(jù);(2)實(shí)現(xiàn)三層架構(gòu),連接數(shù)據(jù)庫服務(wù)器實(shí)現(xiàn)數(shù)據(jù)的存儲和讀取。網(wǎng)絡(luò)數(shù)據(jù)庫采用mysql 5.1部署[7-8]。
其中,數(shù)據(jù)庫服務(wù)器采用MySQL5.1部署,在.Net框架中引用mysql-connector-net-6.6.6-noinstall_for_framwork4.0版本能夠?qū)崿F(xiàn)數(shù)據(jù)庫的連接。
監(jiān)控中心子系統(tǒng)采用網(wǎng)絡(luò)數(shù)據(jù)庫三層架構(gòu)規(guī)范,實(shí)現(xiàn)對消防報警數(shù)據(jù)庫的讀取和存儲操作,結(jié)合智能網(wǎng)關(guān)子系統(tǒng)的數(shù)據(jù)匯集基礎(chǔ),最終實(shí)現(xiàn)消防報警數(shù)據(jù)的監(jiān)控功能。
Zigbee無線傳感網(wǎng)基于z-stack協(xié)議棧,實(shí)現(xiàn)BasicRF無線通信。在z-stack協(xié)議棧中,采用事件和事件處理實(shí)現(xiàn)無線數(shù)據(jù)的接收和發(fā)送。
2.1.1 無線終端算法實(shí)現(xiàn)
無線終端主要實(shí)現(xiàn)兩個功能:(1)從傳感器模塊讀取傳感器數(shù)據(jù),封裝成幀,并通過BasicRF無線通信發(fā)送到協(xié)調(diào)器;(2)從協(xié)調(diào)器通過BasicRF無線通信接收控制命令,封裝命令幀并向傳感器模塊發(fā)送命令。
無線終端算法中,z-stack協(xié)議棧啟動后,由OSAL輪詢系統(tǒng)接管系統(tǒng)運(yùn)行,通過檢測事件實(shí)現(xiàn)系統(tǒng)功能,事件包括系統(tǒng)事件和用戶事件兩種,根據(jù)事件源和事件句柄區(qū)分事件,并調(diào)用事件處理程序完成業(yè)務(wù)邏輯。在讀取傳感器數(shù)據(jù)的業(yè)務(wù)邏輯中,傳感器數(shù)據(jù)幀包括:幀頭2byte、傳感器類型1byte、傳感器編號1byte、命令1byte、數(shù)據(jù)6byte、擴(kuò)展2byte、幀尾1byte,共計14byte。在發(fā)送控制命令幀的業(yè)務(wù)邏輯中,也是對這14byte的數(shù)據(jù)進(jìn)行動態(tài)編寫而實(shí)現(xiàn)。
2.1.2 協(xié)調(diào)器算法實(shí)現(xiàn)
協(xié)調(diào)器有三個功能:(1)監(jiān)聽網(wǎng)絡(luò),實(shí)現(xiàn)終端加入網(wǎng)絡(luò);(2)從終端接收BasicRF無線數(shù)據(jù),封裝傳感器數(shù)據(jù)幀,并發(fā)送到串口;(3)從串口接收命令幀,解析命令幀,并向終端發(fā)送控制命令。
協(xié)調(diào)器模塊算法中,協(xié)調(diào)器從上位機(jī)讀取的命令幀包括幀頭2byte、終端地址2byte、傳感器類型1byte、命令1byte、幀尾1byte,共計7byte。在讀取BasicRF無線數(shù)據(jù)業(yè)務(wù)邏輯中,對14byte傳感器數(shù)據(jù)幀進(jìn)行封裝,增加了網(wǎng)絡(luò)標(biāo)識1byte、終端地址4byte、網(wǎng)絡(luò)地址4byte、終端信號強(qiáng)度1byte、信道1byte、終端節(jié)點(diǎn)1byte,共計26byte,協(xié)調(diào)器將封裝后端無線傳感網(wǎng)數(shù)據(jù)幀26byte發(fā)送到串口,向智能網(wǎng)關(guān)子系統(tǒng)提供傳感器數(shù)據(jù),并從智能網(wǎng)關(guān)子系統(tǒng)接收對聲光報警器和繼電器的控制命令幀。
智能網(wǎng)關(guān)采用C#實(shí)現(xiàn)對System.IO.Ports.SerialPort串口的read和write操作。
智能網(wǎng)關(guān)算法中,從協(xié)調(diào)器讀取26byte數(shù)據(jù)幀,進(jìn)行有效識別后,解析這26byte數(shù)據(jù)幀,提取終端地址、傳感器類型、傳感器數(shù)據(jù)。根據(jù)傳感器類型對傳感器數(shù)據(jù)進(jìn)行有效計算,對于溫濕度數(shù)據(jù)和煙霧數(shù)據(jù),進(jìn)行數(shù)據(jù)可視化顯示,根據(jù)煙霧濃度是否超標(biāo)判斷,自動向協(xié)調(diào)器發(fā)送開啟聲光報警器命令,根據(jù)聲光報警器是否開啟判斷,自動向協(xié)調(diào)器發(fā)送開啟繼電器打開排煙扇命令。向協(xié)同器發(fā)送的命令的幀包括幀頭2byte、終端地址2byte、傳感器類型1byte、命令1byte、幀尾1byte,共計7byte。這是一個自定義的協(xié)議幀格式。
在發(fā)送Http數(shù)據(jù)的業(yè)務(wù)邏輯中,需要設(shè)置web服務(wù)器IP地址,設(shè)置端口號,調(diào)用調(diào)用HttpClient實(shí)例發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)的內(nèi)容包括數(shù)據(jù)采集時間、管理員ID、樓層ID、傳感器類型和傳感器數(shù)據(jù)。
智能網(wǎng)關(guān)采用C#實(shí)現(xiàn)對MySql網(wǎng)絡(luò)數(shù)據(jù)庫的查詢和統(tǒng)計操作。
根據(jù)總體設(shè)計,為每個樓層設(shè)計獨(dú)立的數(shù)據(jù)采集子系統(tǒng)和智能網(wǎng)關(guān)子系統(tǒng),監(jiān)控中心算法設(shè)計中,按照樓層統(tǒng)計各類傳感器數(shù)據(jù),采用C#引用MySql為.Net提供的API實(shí)現(xiàn)數(shù)據(jù)庫連接和訪問。
數(shù)據(jù)采集子系統(tǒng)由一個協(xié)調(diào)器和四個終端模塊構(gòu)成,上電組網(wǎng)成功后,CC2530單片機(jī)的紅色LED常亮,代表組網(wǎng)成功;藍(lán)色LED閃爍,代表正在傳輸數(shù)據(jù)。終端模塊用5v供電運(yùn)行,協(xié)調(diào)器用5v供電運(yùn)行,并且使用U轉(zhuǎn)串?dāng)?shù)據(jù)線連接到智能網(wǎng)關(guān)子系統(tǒng)。
智能網(wǎng)關(guān)子系統(tǒng)在啟動前:(1)設(shè)置連接協(xié)調(diào)器的串口,并且設(shè)置波特率為 115200;(2)設(shè)置消防報警云平臺IP地址和端口號;(3)填寫當(dāng)前采集的樓層號和管理員ID。完成三個部分的設(shè)置后,啟動采集工作,識別傳感器數(shù)據(jù),若煙霧濃度超標(biāo),則認(rèn)定為可能發(fā)生火災(zāi),自動打開聲光報警器,并打開繼電器(排風(fēng)扇),實(shí)現(xiàn)智能控制,并向云平臺發(fā)送數(shù)據(jù)。
監(jiān)控中心子系統(tǒng)按自動刷新和手動刷新兩種模式,從消防報警數(shù)據(jù)庫中查詢數(shù)據(jù),按照樓層統(tǒng)計和顯示,圖中藍(lán)色背景樓層為已經(jīng)采集到數(shù)據(jù)的樓層,灰色背景的樓層為沒有數(shù)據(jù)的樓層。
本系統(tǒng)綜合應(yīng)用STM8 單片機(jī)、CC2530 單片機(jī)、z-stack協(xié)議棧、.net串口操作、.net HttpClient操作、asp.net Web操作、MySql數(shù)據(jù)庫連接操作等技術(shù),設(shè)計開發(fā)一套基于物聯(lián)網(wǎng)技術(shù)的智能消防報警系統(tǒng),體現(xiàn)了無線技術(shù)在系統(tǒng)部署和系統(tǒng)擴(kuò)展方面的優(yōu)勢和特點(diǎn)。系統(tǒng)設(shè)計方案在智慧大樓分樓層(分區(qū)域)消防報警監(jiān)控、智能樓宇管理師職業(yè)資格認(rèn)定等方面具有實(shí)用價值。