劉傳振+程耕國



摘 要: 針對現有大型樓宇安全監控功能單一、數據量大、監控盲區多的問題,設計基于ZigBee的大型樓宇安全監控系統,通過采用多個協調器節點的傳感器網絡結構解決監控難題。ZigBee網絡節點采用低功耗的CC2430微控制器,外接多個傳感器采集樓宇內溫度、濕度、煙霧、紅外等數據。管理中心對各個節點進行可視化管理,若收到報警信息,管理員可查詢節點信息,確定節點位置后通知保安前去處理,同時以短信的方式通知住戶。實驗結果表明,系統能夠可靠完成數據采集并完成本地報警功能,管理中心能夠查詢各網絡節點信息。
關鍵詞: 樓宇安全監測; ZigBee; 傳感器網絡; 樓宇管理; CC2430
中圖分類號: TN948.64?34; TP277 文獻標識碼: A 文章編號: 1004?373X(2017)04?0095?04
Large building security monitoring system based on ZigBee
LIU Chuanzhen, CHENG Gengguo
(School of Information Science and Engineering, Wuhan University of Science and Technology, Wuhan 430081, China)
Abstract: For the problems of single function, massive data quantity and numerous monitoring dead zone of the large building safety monitoring, the large?scale building security monitoring system based on ZigBee was designed, in which the sensor network structure with multiple coordinator nodes is used to solve the monitoring problem. The microcontroller CC2430 with low?power consumption is adopted by the ZigBee network node to collect the temperature, humidity, smog and infrared data in the building through multiple sensors. The management center can perform the visual management for each node. The administrator can query the node information while receiving the alarm information, and notice the security guard to deal with and the inhabitant with SMS after determining the node location. The experimental results show that the system can acquire the data reliably and implement the local alarm function, and the management center can query the information of each network node.
Keywords: building safety monitoring; ZigBee; sensor network; building management; CC2430
隨著社會經濟的高速發展,城市的小區越來越多,小區的樓宇也越來越趨向于大型化。樓宇的大型化一方面提高了土地的利用率,另一方面也會帶來很多安全隱患。近年來,很多小區發生了火災、天然氣或者煤氣泄漏、盜竊的安全事故,由于大型樓宇樓層高,住戶也多,一旦發生安全事故,如果及時處理,就會造成大量財產損失和人員傷亡。為了避免這類事故的發生,必須要有高效智能化的安全監測系統對這些威脅提前報警,讓住戶能夠有足夠的時間轉移到安全的地方[1]。
目前,一些小區樓宇都安裝了安全監測系統,但是監控功能單一,只能進行本地報警,缺少遠程監控,從而造成事故處理不及時,釀成悲劇。對于大型化樓宇,住戶很多,為了對每個住戶都安全監測,需要很多監測點,每個監測點也要監測多種數據,同時需要有效地進行遠程監控,方便部署,節約成本,采用ZigBee無線傳感器網絡比較適合。ZigBee傳感器網絡可以容納很多的節點,這對于大型樓宇監測中需要大量傳感器的要求很吻合。所以本文采用ZigBee和樹莓派來監測大型樓宇,同時服務器Web端可以實時地查詢各節點信息,確定事故位置,然后作出及時有效的處理。
1 系統總體結構
大型樓宇的樓層一般都很高,每層的住戶也會很多,如果每戶都要安裝一個ZigBee監測節點,則需要安裝數量很龐大的監測節點,而且每個監測節點還要和多個傳感器連接。傳統的無線傳感器網絡中,一般只有一個協調器節點(sink)來處理所有終端節點的信息,這對于需要監控節點比較少的中小型樓宇,還能滿足需要,但是對于大型的樓宇需要很多的監測節點的情況,傳輸的數據量很大,而協調器節點的數據處理能力有限,這樣會增加數據傳輸的誤碼率,造成網絡的不穩定,所以本文設計的大型樓宇系統中用到多個協調器節點,用來均衡數據流量。
傳感器網絡一般包含監測節點、路由節點、協調器節點。監測節點通過各種傳感器,負責采集環境數據;路由節點負責數據的轉發;協調器節點負責數據傳輸、網絡的建立和維護等功能。本文中ZigBee節點采用的是TI公司的CC2430芯片,在TI公司提供的ZigBee協議棧里面定義了NWK_MAX_DEVICS,NWK_MAX_
ROUTERS,NWK_MAX_DEPTH的值,NWK_MAX_DEVICS決定了路由或者協調器節點可以處理的子節點的最大個數,默認值為20;NWK_MAX_ROUTERS決定了協調器節點可以處理的具有路由功能的兒子節點的最大個數,默認值為6;NWK_MAX_DEPTH決定了網絡的最大深度,默認值為5。假設大型樓宇有n層,每層住戶m家,每戶需要安裝一個ZigBee監測節點,網絡的深度為3。如果每層需要p個路由節點,k層為一個控制單位,需要一個匯聚節點,則p的值為m除以20,k的值為p除以6,系統的整體部署如圖1所示。
從圖1中看到,每層的m個監控節點負責采集環境數據,p個路由節點負責數據的轉發,然后在每個k層的控制單位的中間層位置安裝帶GPRS模塊的匯聚節點,負責數據的傳輸、網絡的管理和維護。管理中心一般相對于被監測的樓宇較遠,為了實現遠程控制,每個協調器節點需要帶一個GPRS模塊和服務器之間進行通信。管理中心用樹莓派作服務器,通過串行接口和一個帶GPRS模塊的協調器連接,這里的協調器負責接收樓宇內采集的數據,同時當發生事故時,廣發短信通知住戶。
2 數據傳輸可靠性分析
為了測試大數據傳輸中的誤碼率,實驗中讓PC端向一個ZigBee節點發送一串數據,為了體現大數據傳輸的特點,使結果更加接近系統真實的誤碼率,傳輸的數據必須足夠大,需要連續不斷地傳送0xFF字節。程序中通過設定不同的連續傳輸次數,每次傳輸256 B,在115 200 b/s的傳輸速率情況下,測得不同的誤碼率。實驗條件有限,沒有考慮噪聲的影響,表1列出了測試結果。
表1 測試數據
從實驗數據可以看出,傳輸總的比特數越大時,誤碼率也越高,所以大數據傳輸可靠性的研究很有必要。
目前ZigBee主要應用在少量小數據傳輸的網絡中,不會發生數據阻塞和丟失的問題,可靠性很高。但大型樓宇的ZigBee網絡,包含有數量龐大的監測節點,而且每個監測節點和多個傳感器連接,需要傳輸的數據量很大,對于這種長時間、大數據量的無線通信,傳輸效率不高,可靠性也很低。本文通過設計合理的傳輸機制可以確保較大數據文件的可靠傳輸。
ZigBee協議應用層中的ASP子層提供了可靠傳輸、碎片(當數據包長度大于網絡層幀時,可以分割數據包)流控制、阻塞控制等數據服務,但處理能力有限,當大量數據涌入ZigBee時,ASP層的數據分割能力不能有效發揮出來,另外,數據傳輸過快,會出現阻塞的情況,從而造成數據丟失。
綜上所述,傳統的ZigBee協議提供的一些服務不能很好地解決大數量傳輸帶來的溢出、阻塞和傳輸失敗的問題。所以本文對ZigBee通信協議做了改進,以確保大數據傳輸的可靠性。包括兩個方面:首先,ZigBee將待發送的信息分割成較小的數據包,使數據包維持在合適的長度;其次,為了保證每個數據的可靠傳輸,需要實現自動重傳請求ARQ協議和停止等待協議的無差錯情況。ZigBee使用的是32.768 kHz的外部晶振,實驗中開啟了MT_TASK,輪詢周期為6 ms,每秒傳輸11 B,則一個輪詢周期傳輸66 B。而緩沖區的數據是64 B,所以傳輸的數據包要大于64 B且小于66 B,實驗中數據包長度取64 B。停止等待協議需要數據包和響應包,當發送完一個數據包后,暫停發送,等待確認響應包。兩個ZigBee之間發送數據時,如果沒有收到數據包,就不會發送響應包,沒有收到響應包,就認為數據丟失,需要重新發送數據包。
3 硬件設計
硬件設計包括無線傳感器網絡和控制中心兩部分,無線傳感器網絡由監控節點、中繼節點、協調器節點組成。其中監控節點主要負責數據采集。中繼節點是在監控節點基礎上增加一個CC2591射頻前端,來提高發送功率。協調器節點不需要采集數據,需要增加一個GPRS模塊,負責遠程通信。
3.1 監控節點設計
監控節點需要不間斷的采集環境數據,硬件結構如圖2所示,監控節點采用 CC2430微處理器,需要外接多個傳感器和一個起報警作用的喇叭。結構上非常簡單,其中只有CC2430片上系統能耗較大,但正常工作時功耗也很低,所以系統具有低功耗特點,滿足應用需求[2]。
數據采集模塊負責采集樓宇溫度、濕度、煙霧、紅外數據,需要用到數字溫度傳感器、濕度傳感器、煙霧傳感器、紅外探測傳感器[3]。火災監測采集的是溫度和煙霧濃度數據,采用DS18B20數字溫度傳感器和MQ?2煙霧傳感器,天然氣檢測采集的是天然氣濃度數據,采用MQ?5傳感器,它的工作原理同MQ?2。防盜監測采用紅外探測傳感器,看是否有陌生人員入侵。
3.2 協調器節點設計
樓宇內的協調器節點負責接收傳感器網絡數據并發送給服務器,服務器端的協調器節點除了完成數據的接收外,當收到報警信息時,需要廣發短信通知住戶。由于協調器節點在監控節點基礎上增加了一個GPRS模塊,同時需要遠距離傳輸,功耗較大,因而協調器節點最好能夠工作在外接電源的條件下,才能滿足系統長時間工作的需要。硬件結構如圖3所示。
4 軟件設計
系統軟件流程如圖4所示,從圖4中可看到包括四個部分,數據采集、數據傳輸和網絡管理屬于傳感器網絡節點的軟件設計,數據顯示屬于服務器軟件設計。傳感器網絡節點中的監控節點負責數據采集,中繼節點負責數據傳輸,協調器節點負責網絡的管理。服務器軟件負責數據存儲。
4.1 ZigBee節點的軟件設計
節點軟件設計包括監控節點、中繼節點、協調器節點程序。監控節點主要是數據的采集和發送,首先進行上電初始化,然后申請加入無線網絡,加入網絡后,開始采集環境數據,采集的數據通過無線通信模塊的發送程序發送出去。中繼節點通過無線通信模塊的接收程序接收監控節點采集的數據,數據經過CC2430微處理器處理后,再通過無線通信模塊的發送程序發送給協調器節點,節點都是周期性的工作,當任務完成時,進入休眠狀態[4?5]。節點程序流程圖如圖5所示。
協調器節點負責輸的傳輸,另外服務器端的協調器節點還有接收控制中心的命令,廣播短息給住戶。上電后首先系統初始化,然后建立起網絡連接,當網絡建立起來后,開始接收傳感器網絡發送的數據,封裝之后通過串口發送給服務器。節點流程圖如圖6所示。
4.2 組網測試
實驗中使用SSCOM 3.2串口調試工具接收協調器節點的數據,設置好串口的波特率和串口號,在軟件界面觀測網絡組網調試結果見圖7,網絡組建起來后,IEEE地址為0x0100000000000000和0x0200000000000000
的節點成功加入到網絡,并成功接收了節點發送的數據包。
5 結 語
本文設計的基于ZigBee的大型樓宇安全監測系統,由于采用無線網絡模式,部署簡單,功耗低,實用性強。在實驗過程中,改進的協議實現了低誤碼率的大數據量傳輸,采用ZigBee星型拓撲結構,實現了數據的長距離傳輸,在20 m距離內能夠準確無誤的傳輸,在實際生活中有很好的應用價值[6]。
參考文獻
[1] 萬文青,賴松林,程樹英,等.基于ZigBee的樓宇安防報警系統的設計與實現[J].電子測量技術,2006,35(12):2?5.
[2] 楊文鉑,尤一鳴.基于MC13192的Zigbee無線數傳模塊設計[J].單片機與嵌入式系統應用,2008(1):46?49.
[3] 周嶺松,余春暄.基于ZigBee技術的溫、濕度控制系統[J].電子測量技術,2011,34(6):47?50.
[4] 劉青,宋立軍.ZigBee無線傳感器網絡組網研究[J].電腦開發與應用,2008,21(6):44?45.
[5] 于海峰.基于ZigBee技術的嵌入式智能樓宇安防系統的研究與設計[D].鎮江:江蘇大學,2012.
[6] 周燕燦.ZigBee技術的樓宇安全測控研究與應用[D].廣州:廣東工業大學,2010.
[7] 夏華.無線通信模塊設計與物聯網應用開發[M].北京:電子工業出版社,2011.
[8] 郭淵博,楊奎武,趙武,等.ZigBee技術與應用[M].北京:國防工業出版社,2010.
[9] 梅志堅,馬婭婕,肖凡男.基于ZigBee和GPRS的大氣污染監測系統設計[J].武漢科技大學學報(自然科學版),2015,38(1):63?66.
[10] 楊波,陳憂先.熱釋電紅外傳感器的原理和應用[J].儀表技術,2008(6):66?68.