鄭州大學西亞斯國際學院 陳 楊
基于Zigbee的樓宇監控系統協議淺析
鄭州大學西亞斯國際學院 陳 楊
本文對基于Zigbee的樓宇監控系統的協議設計進行了分析;結合監控系統節點流動性大的特點,根據監控系統的模型和拓撲,提出了兩種協議設計方案,并對方案進行了比較和分析,指出各自的特點;最終實現系統網絡流量更小,可靠性更高,同時大大降低了協議實現的復雜度.
Zigbee;樓宇;監控;協議
Zigbee樓宇監控系統主要是以樓宇內重要設備的監控為主要對象,防止樓宇內重要設備的失竊和未經允許的擅自遷移等.
1)管理中心配置網絡中各個節點的相關參數;
2)管理中心定位某一個監控節點;
3)監控節點移動報警;
4)監控節點出監控區域報警;
5)重要設備實時信息傳送和命令傳送;
6)普通節點上報電量不足信息.
樓宇監控系統使用的節點類型分為三種:監控子節點、路由節點和協調器節點.[1]
監控子節點:根據監測設備的不同,我們設計了兩種監控子節點--縮小型,和多功能型.縮小型監控子節點體積小巧、功耗低、布置方便,能夠輕易與被監控設備結合在一起;多功能型監控子節點具有多種監控功能,比如電壓監測、溫度測量、紅外監測等功能,可以對重要設備進行實時監控,以獲取重要設備的運行參數,滿足用戶對重要設備監測中希望獲取實時信息的需求.為了能夠有效降低監控子節點的功耗,延長子節點工作時間,降低用戶維護成本,監控子節點自身不具備報文轉發能力,只針對自身監控的設計進行信息采集,并完成數據上報功能,上報數據要通過路由節點完成.
路由節點:根據監測環境的不同,使用的路由節點也分為兩類--大功率型和普通型.大功率型路由節點具有功率高,信號傳播距離遠,接受靈敏度高等特點,可以有效地與監控子節點進行通信,而不必部署大量節點,從而能夠降低網絡成本以及網絡通信開銷.對于環境不復雜的場合我們可以使用普通型路由節點,以降低成本和功耗.路由節點具備報文轉發能力,它在協調器與監控子節點間建立一條通信轉發的通道,以方便報文的傳送,拓展網絡的監控范圍.
協調器節點:協調器節點是網絡部署的中心,功能強大,是網絡管理、控制命令下達的主節點,直接與管理中心通信,完成網絡的配置及管理協調功能.協調器節點自身通常帶有GSM/GPRS模塊,用以同遠距離管理中心聯系,以保證數據快速到達.GSM/GPRS模塊的使用可以讓管理中心擺脫地域限制,同時也可以將重要信息隨時發送給管理員,提高管理上的靈活性.協調器節點收集監控節點的各種信息,發布網絡管理的各種命令,它可以通過zigbee網絡和移動通信方式進行數據傳送,該節點一般應為大功率節點.
Zigbee監控系統模型如圖1所示.
為了能夠保持網絡的有效連通性,通常情況下每一層樓內我們都部署有路由節點,而監控節點一般是隨同重要的被監控設備放置于各個房間內,在樓宇的合適的地方我們設置一個協調器節點用來對樓宇內網絡進行管理.如果管理中心距離被監控樓宇較遠,則通過帶有GPRS模塊的協調器節點進行通信.[2]
監控系統的一個重要特點就是節點的流動性很大,沒有固定的拓撲結構,所以,沒有一個萬能的通信協議適合所有的傳感器網絡.因此在網絡通信協議設計的過程中我們針對樓宇監控環境自行設計了一條適合的網絡通信協議;這樣使得網絡流量更小,可靠性也更高,同時大大降低了協議實現的復雜度.
根據網絡中我們使用的三種節點類型,我們設計的協議針對使用節點的類型將網絡通信分為兩層,第一層是協調器同路由節點之間的通信協議,第二層是路由節點同監控子節點間的通信協調.兩層協議有機地融合在一起就能夠完成對網絡的有效管理,并且有著網絡流量低、可靠性高、復雜度低的特點.網絡拓撲圖如圖2所示.

圖1 Zigbee系統模型

圖2 監控系統拓撲圖
從拓撲結構中我們可以看出,在整個網絡中路由節點相當于監控子節點的簇首,而協調器節點又相當于路由節點的簇首,整個網絡分為兩層:協調器節點同路由節點為第一層,該層為一個樹型網絡;路由節點同監控子節點為一層,該層為一跳星型網.因此設計協議過程中采用分層協議的方法.下面分別對兩層協議進行介紹.
2.1.1 協調器與路由節點之間通信協議
路由節點和協調器節點是網絡的骨干,他們之間的通信性能決定著整個網絡的性能.在我們所設計的網絡中,協調器節點和路由節點共同組成一個樹型網絡,網絡結構如圖3所示.之所以采用樹型網絡組要原因就在于通常情況下數據的最終目的節點通常為協調器,而除協調器節點外其他節點之間的相互通信幾乎沒有.這樣只要路由節點知道樹型網絡的中心就能夠有效地進行通信了.

圖3 樹型網絡結構圖
拓撲圖中黑色圓周代表協調器節點的無線信號覆蓋半徑,在此半徑中的路由節點都可以直接與協調器進行通信,并且距離僅為一跳.而通信半徑以外的節點與協調器進行數據傳送就必須通過節點間的路由來完成,比如節點A要與協調器節點通信必須經過B、C路由節點進行報文轉發才行.具體的協調器與路由節點網絡通信協議設計過程中,我們有以下幾個基本前提:
網絡中由于所有路由節點都是布置在樓宇環境中,且位置比較固定.
路由節點之間通常情況下除轉發報文外,一般不通信,或很少進行通信.
每個路由節點肯定會有一條路徑與協調器節點相通,也就是說在部署路由節點時至少保證每個路由節點都能夠聯接到協調器.
樓宇環境中的路由節點受外界環境影像小,電量充足,一般不會失效.
暫不考慮組網過程中的各種安全問題.
基于以上客觀前提,并且系統主要的目的是監控設備的移動狀況和位置信息,所以通信協議在設計中主要是圍繞以上特點展開的.
2.1.2 路由節點與監控子節點之間通信協議
路由節點與監控子節點間的網絡結構如圖4所示.監控子節點在部署好以后由于布置的位置不同,和監測的設備不同,所以對監控節點的要求也不一樣,比如重要設備的節點我們想實時進行監控,隨時報告狀態信息和位置信息,一些不重要的設備只需要監控其在不在,在什么地方就可以.同時由于監控節點所處的位置不同,所以并不是所有監控節點都能夠隨時和路由節點聯系,所以存在長時間某些節點監測不到的可能.對于重要設備的節點,我們可以通過影子節點(為專門監控節點設計中繼節點)的方式讓其隨時能夠聯接到網絡.
路由節點與監控子節點構成整個網絡的葉子部分,監控節點多,應用場景復雜,因此能否有效的完成對設備的監控主要靠路由節點與監控子節點間的網絡通信協議.在我們部署的網絡中,為了簡化設計,我們設定路由節點與監控子節點間構成一跳星型網絡.同樣這樣一個星型網絡也有設計的前提:
監控子節點之間不進行相互間的通信.
監控子節點由于部署的位置不同,有些節點可能不能總是與網絡聯通.
監控子節點與協調器進行通信必須經過路由節點來完成,哪怕它可以一跳到達.
為了節省監控子節點功耗,降低維護成本及開銷,監控子節點采用的工作模式是"睡眠-工作-睡眠"模式,且工作的過程較短,睡眠的時間較長.因此組網等數據要在工作的時間段完成.
路由節點與監控子節點之間的網絡通信協議的設計就是基于以上客觀實際的.

圖4 路由節點與監控子節點間的網絡結構圖
2.1.3 網絡層幀結構設計
良好的幀結構可以降低網絡開銷,提高網絡可靠性,延長網絡壽命.因此網絡層幀結構的設計對于網絡通信也十分重要.網絡層幀結構如下:

?
網絡層幀結構包括10個部分,最大長度不超過122字節,其中數據部分最大不超過110字節,如果數據部分大于110字節,則需要對報文進行分組傳送,這時可以利用報文控制字段中的D2位來進行說明,具體在后面有詳細說明.
其中源地址字段部分給出發送報文的起始地址(該部分可以選擇使用,本系統中使用該字段);目的地址字段給出報文的目的地址(該部分可以選擇使用,本系統中使用該字段);協議類型字段給出協議的具體相關類型;報文控制字段給出報文的加解密等相關的控制;報文序號字段給出報文發送時的序號,接收端利用該字段判斷是否重復接收報文;剩余跳數字段給出報文還可以最多轉發的次數;特別標志位字段給出報文的一些特定要求或特定提示;報文長度字段給出當前報文中數據部分(或整個網絡層幀長)的長度;數據部分為具體的相關數據;最后一個字節是預留字段,以備后用.
該方案與方案一最大的不同之處在于網絡中監控子節點采用自動分配地址的方式.即當網絡部署完成后,協調器節點和路由節點外,其他監控子節點沒有網絡地址,而是等到接入網絡完成后由路由節點為其分配地址,且其地址與其所屬路由節點的地址高字節部分一樣.網絡地址結構如下圖所示:

路由器節點的地址是網絡部署前事先分配好的,每個監控子節點在加入某個路由器節點時,路由器根據自身的地址給其分配地址;,比如某路由節點網絡地址為000 01 000001 000000B, 則可以給其子節點分配的地址為000 01 000001 000001B~000 01 000001 111111B,一個路由節點可以管理63個子節點.網絡中一共可以有63個路由節點,總計近四千個監控節點.
整個網絡的通信協議也分為兩層,一個是協調器與路由節點的組網協議,另一層是路由節點與監控子節點的組網協議,下面分別進行介紹.
2.2.1 協調器同路由節點間網絡通信協議設計
同樣路由節點和協調器節點是網絡的骨干,他們之間的通信性能決定著整個網絡的性能.在我們所設計的網絡中,協調器節點和路由節點共同組成一個樹型網絡,網絡結構如圖5所示.之所以采用樹型網絡組要原因就在于通常情況下數據的最終目的節點通常為協調器,而除協調器節點外其他節點之間的相互通信幾乎沒有.這樣只要路由節點知道樹型網絡的中心就能夠有效地進行通信了.

圖5 協調器節點和路由節點組成樹型網絡結構圖
網絡當中協調器節點記錄下全部路由節點和監控子節點的路徑信息,也就是說要建立一個全網絡節點的路由表,起到整個網絡的管理作用;路由節點也要維護一個路由表,這個路由表中記錄的是所有曾經被它路由過信息的相關節點;通常情況下各節點的信息都是上報給協調器的,但是若在上圖中節點A想要發送信息給節點E,若在其自身維護的路由表中沒有E的路徑信息,則他要通過協調器對其信息進行轉發,在轉發過程中,若C點接收到該信息,并且C點知道如何找到E,則它將該信息直接通過路由送給E,而不需要經過協調器轉發,這樣就可以降低協調器的通信量.同樣在協議設計過程中我們暫不考慮安全問題,假定所有節點都是可靠的.
2.2.2 路由節點間同監控子節點網絡通信協議設計
所有監控子節點在網絡部署之初的網絡地址都為000 10 000000 000000B,待自身加入到網絡后,路由節點再分配網絡地址給監控子節點.監控子節點在系統中都可以一跳到達至少一個路由節點.

圖6 路由節點間同監控子節點網絡結構
以上組網過程與方案一的最大不同就是地址的分配,這里地址的分配方法有很多種,可以采用按順序分配等方法.由于監控子節點的地址與其路由節點的地址高端相同,因此其他路由節點或協調器節點就可以只記錄下到達路由節點的路徑信息,而不需要記錄所有節點信息就可以找到任何一個子節點.
基于ZIGBEE的無線傳感器網絡系統以其低廉的價格,靈活的部署方式獲得廣泛的應用,其中樓宇安全監控就是其中一個事例.結合Zigbee無線傳感器網絡系統的特點,設計適合的協議,可以實現流量低、可靠性高、復雜度低,完成樓宇中重要設備的狀態、位置、移動情況的監控;并且該系統容易改變成為對其他設備的監控,或者擴展成為更大范圍的監控系統.
[1]李文仲,段朝玉.ZigBee2006無線網絡與無線定位實戰/無線單片機技術叢書[M].北京:北京航空航天大學出版社,2008.
[2]臧大進,劉增良.基于物聯網的智能家居系統設計與實現[J].襄樊學院報,2010,31(11):37-39.
陳楊(1973-),男,河南濮陽人,碩士,副教授(通信),研究方向:信號處理、物聯網等.