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