zigbee協議范文
時間:2023-04-05 03:03:39
導語:如何才能寫好一篇zigbee協議,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
1 引言
Zigbee是一種短距離、低速率的無線傳感器網絡的技術標準,其PHY層和MAC層協議為IEEE802.15.4協議標準,主要特性是低速率、近距離、低功耗、低復雜度和低成本。
目前,Zigbee技術已經應用于智能家居、工業控制、手機移動終端等領域,但主要還是限于Zigbee技術的無線個域網(WPN)應用,每個接入點所能接納的傳感器節點數遠遠低于協議所稱的255個。為了達到傳感器網絡密集覆蓋的目的,必須進行復雜的組網,這不僅增加了傳感器網絡的復雜性,還增加了網絡整體的功耗,傳感器節點的壽命大大降低。本文描述了簇樹形拓撲結構的Zigbee傳感器網絡構建過程,并給出在簇樹拓撲結構中的簇樹協議的詳細分析。
2 Zigbee的簇樹結構
IEEE802.15.4無線個域網定義了三種拓撲結構:星形、網狀和簇樹拓撲。在Zigbee的個域網里,必須有一個PAN協調器(PNC)。每個獨立的PAN有一個唯一的標識,即PAN id(PID)。臨近區域內的節點構成了一個簇,每個簇有且僅有一個簇頭(CLH),CLH是簇內協調器,負責管理該簇和簇標識(CID),CID是簇內所有設備共享的ID號。相鄰的簇頭又循環構成了另一個簇,這樣依次反復,構成了一個簇樹形結構的傳感網絡,簇樹拓撲提高了Zigbee網絡的覆蓋區域。BRD是直接連接鄰居簇的簇頭的節點。Zigbee的簇樹結構如圖1所示
3 簇樹(cluster tree)協議分析
簇的形成開始于簇頭的選擇。有了簇頭后,簇頭擴展連接到其他的成員節點上就形成了簇,多個簇構成了簇樹網絡。
3.1 Intra Cluster Network
(1)簇頭的形成
一個節點打開后,它監聽并搜索來自其他節點的HELLO信息。如果在一定時間內沒有獲取HELLO信息,它就變成簇頭并向其他節點發送HELLO信息。新的簇頭在接下來的時間里等待鄰居的請求,如果它沒收到任何連接請求,則又變成普通節點繼續監聽。
簇頭也可用其他的方法形成。總之,簇頭的選擇依賴于節點的存儲/計算參數,如傳輸范圍、功率容量、計算能力或位置信息。
(2) 簇樹路由
單播情況下,當一個節點向其他的節點發送數據包時,它在源NID域設置自己的節點ID,在目標NID域設置目標節點ID。如果一個節點沒有向它的鄰居發送信息,目標節點位于樹中源分支的下方,源節點在接收NID域時設置其孩子節點ID,并讓其孩子節點繼續轉發到目標。
如果源節點沒有向其鄰居發送信息,目標節點沒有位于源分支的下方,源節點必須在接收NID域里設置其父節點ID,并向父節點發送數據包。當更新接收和發射NID域時,每個中間節點應該向目標節點轉發數據包。
除了最后一跳,數據包沿著簇樹拓撲結構路由,如果目標節點位于樹形結構的發送節點下方,數據包沿著分支達到目標節點。否則,數據包沿著樹結構尋找目標。如果中間節點的鄰居表里有目標節點,數據包被路由繼續轉發。
當一個節點接收了單播信息,接收的節點向發送節點發送ACK信號。廣播情況下,在一個簇內廣播信息總是由簇頭向其所有成員節點發送。接收節點不用ACK響應廣播信息。成員節點應該轉發其雙親節點發送的信息,這樣可以避免相同的信息多次轉發。
3.2 Inter Cluster Network
各簇之間通信是通過路由實現的,BRD節點作為路由器,連接簇并轉發簇間通信的數據包,如圖2所示。
單播時,因為每個節點知道其父節點、孩子節點和BRD的ID,它們能夠決定是否收發數據包。當BRD節點收到數據包時,它檢測目標地址,然后轉發到相鄰簇的BRD節點,或者轉發到本簇內的目標節點。
廣播時,僅有DD能夠向網絡內的所有節點發送數據包。信息沿著簇的樹路由轉發。BRD節點從父節點向孩子節點廣播數據包。
4 結束語
本文描述了基于Zigbee的樹形拓撲結構,以及簇樹結構下的簇樹協議的實現過程,對Zigbee技術用于傳感器網絡密集覆蓋方面有一定的借鑒意義。
參考文獻
[1]ZigBee Alliance.ZigBee/IEEE 802.15.4 summary[EB/OL]., 2007-05-10.
[2]Motorola.IEEE P802.15 Working Group for Wireless Personal Area Networks,2001-04-12.
篇2
關鍵詞:無線網絡分析器;ZigBee;802.15.4
短距離無線網絡市場正呈爆炸性增長。In-Stat稱,通過ZigBee協議規范和其他專有協議,到2009年IEEE 802.15.4無線個人局域網(PAN)的市場可實現200%的增長,年發貨量將超過1,5000萬單位。
對于無線設計人員而言,目前有許多射頻(RF)收發器和ZigBee協議棧可用來在應用中實現ZigBee協議功能。無論選擇了哪種收發器和協議棧,設計工程師都應該查找能夠幫助他們快速評估和開發ZigBee協議應用的設備和工具。若已確定ZigBee協議的復雜度,那么設計人員也需要使用合適的開發工具來幫助他們設計和調試應用程序。
有多個無線網絡分析器或“嗅探器”可供使用。在您首次:開始無線開發時,獲取一個無線網絡分析器是一項關鍵性投資,可為您免去許多麻煩。有些分析器具有圖形界面,而有些分析器則具有更為基于文本的界面。請確保選擇的分析器具有易于閱讀的界面。在以下示例中,我們將使用Microchip的ZENA無線網絡分析器,它采用圖形的格式顯示消息。但是不管您選擇了哪種分析器,能夠快速解密ZigBee協議消息的密鑰部分將有助于您高效地開發和調試系統。
網絡構成
設備加入ZigBee協議網絡時出現的消息會告訴我們許多關于網絡的信息。當設備試圖加入一個網絡時,它會發出一個信標(beacon)請求。鄰近的協調器或路由器通過發出信標作出響應。新設備將選擇一個信標,然后向該設備發送一個關聯請求,請求加入網絡。在一段短暫延時后,新設備發送一個數據請求,請求響應。網絡設備則發送一個關聯響應,指示該新設備是否已被網絡接受。這些消息顯示如圖1。
第一條消息來自于新設備,用于請求信標。后兩條消息是信標。我們可以從這些信標中知道一些關于設備的有用信息。首先,我們可以知道第二條信標來自于協調器,因為其源地址為0x0000且信標有效負載中指定的深度為0。第一條信標來自于路由器,因為其源地址非零。我們也可以知道此路由器會通過該協調器加入網絡,因為它在同一個網絡上(源PAN是相同的)且信標有效負載“深度”為1。我們還可以知道在應用層,這兩個設備都將接受新設備加入網絡,因為超幀規范“Assoc”位被置1。但是,如果我們查看信標有效負載,我們可以看到協調器不能接受任何其他路由器或終端設備加入網絡,因為“RtrCap”和“DevCap”位均為0。同時,路由器仍然可以接受路由器和終端設備。
在第四條消息中,新設備已決定試圖加入網絡。通過檢查關聯請求的目標地址,我們可以知道新設備正試圖加入哪個網絡設備――路由器。關聯請求可告訴我們關于新設備的許多信息。其關鍵元素是“Dev”和“RxOn”位。“Dev”位指示設備正試圖作為終端設備加入。而且,可以知道此設備將總是保持其收發器開啟,因此其父設備不必為其緩沖消息。此位對于以后的通信很重要。如果“RxOn”設置:為關閉,那么其父設備將認為新設備保持其收發器關閉,它將為新設備緩沖消息。如果新設備從未請求消息,那么父設備也從不會發送消息給它!
最后,我們可以看到關聯請求成功。現在我們在網絡上有了一個新的FFD(全功能設備)終端設備,其短地址為0x1AF9。
應答的發送
ZigBee協議是一個高度應答的協議。有三個應答級別:MAC(介質訪問控制)、APS(應用子層支持)和AF(應用框架)。這不但提高了系統的可靠性,也使我們在發生問題時能夠識別故障所在。在圖2中,設備0x0001正告知設備0x0000來使用應答的所有三種級別將屬性設置為指定值。
第一條消息是發送給設備0x0000、要求設置屬性的命令。接下來是一條短MAC應答,指示接收設備的收發器正確接收消息,通常可由收發器自動生成。ZigBee協議指定所有消息必須請求MAC應答。在第一條消息的APS幀控制字段中,有一個位指示是否請求了APS應答。如果該位置1,那么接收方ZigBee協議棧的APS層將自動生成一條APS應答,如第三條消息所示。此應答指示目標設備的協議棧接收到了消息。APS應答還將生成另外一條MAC應答,如第四條消息所示。
查看第一條消息的事務解碼,我們將看到使用了“Set with Acknowledge”命令。這是一條發送給應用層的指示,應用層必須使用“Set Response”命令對該命令進行應答,如第五條消息所示。此應答指示應用層接收到了消息,而且在將屬性設置為請求的值時,發送的錯誤代碼將指示是否存在任何問題。AF應答將生成另外一條MAC應答,如第六條消息所示。此外,發送的AF應答帶有請求的APS應答,這將生成第七和第八條消息。這些多層應答會產生相當大的數據流量;但是如果消息鏈中出現中斷,我們將更容易定位問題,如表1所示。
拓撲問題
當開發了無線網絡系統之后,無線網絡分析器可以幫助進行安裝和拓撲分析。一些無線網絡分析器,如ZENA無線網絡分析器在內,當消息經由網絡的時候都能夠以圖形的方式顯示數據流量。設備以圓形節點表示,而消息則以連接到節點的線表示若裝載了描述物理布局的位圖,則拓撲問題將清楚得多。
假設有一個網絡,它有四個設備、一個協調器、兩個路由器和一個FFD終端設備。盡管所有設備都是全功能設備,還是可以從數據包分析中看出,FFD終端設備和任一路由器之間的消息是通過另一個路由器發送的。如果打開“NetworkConfiguration Display”(網絡配置顯示)窗口,裝載描述性位圖,并將節點拖到描述其物理位置的位圖上的相應位置時,那么可以很快地看出發生了什么。圖3顯示了“Network Configuration Display”窗口,其中網絡流量有問題。我們可以看到有兩個設備彼此都不在對方的射頻范圍內,很有可能是由于建筑物內的隔墻造成的。消息必須經過另一個設備路由才能到達其目標設備。因此,盡管這種情況一開始有點糟糕,但現在可以看出系統行為與預期設想完全一致。
注意,一個“嗅探器”可能無法看到網絡上所有節點。為了觀測所有網絡流量,可能需要獲得來自不同位置的多個消息捕獲,或者使用位于不同位置的多個“嗅探器”。
篇3
【關鍵詞】輸電線路;微氣象;ZigBee技術;IEC-60870-5-101規約
1.概述
目前,電網輸電網絡發展越來越迅猛,分布也日益廣泛,但輸電網絡受到的威脅也越發嚴重,輸電線路的安全維護成為各個國家關心的首要問題。在輸電線路安全運行上,微氣象因數因為地方差異性大、變化細微等特點造成的影響尤其嚴重。在一些山區,環境惡劣,輸電線路的覆冰等現象極易發生,不及時采取措施,就會出現電氣設備故障、桿塔倒塌等危害,造成大面積斷電現象,產生巨大的直接或間接經濟損失。現在,世界大部分國家都在研發和推廣電網輸線路的實時微氣象無線監測技術。
無線數據通信技術蓬勃發展,無線組網通信發展迅猛,這些技術滿足了電網工作人員對輸電線路微氣象信息隨時隨地地獲取和交換的迫切要求。在復雜的電網環境中,分布廣泛的微氣象傳感器需要通過無線數據傳輸系統形成網絡體系,達到好的電網運行環境監測效果。
ZigBee,藍牙,無線局域網,超寬頻短距離無線傳輸到無線通信技術實現集成監控系統,其中ZigBee無線通訊協議更加適合輸電線路微氣象無線監測,ZigBee技術低速率和低功耗的特點使監測系統的前端數據收集部分需要的供電更少,這樣監測設備工作更持久。本文針對ZigBee技術相關原理和輸電線路微氣象監測系統中ZigBee無線通訊協議的實現進行研究。
2.ZigBee技術
ZigBee無線組網通信技術的成本要求低,工作時電量需求不高功耗小能長時間[1]。IEEE802.15.4是ZigBee的基底,這種準則是IEEE PAN工作組里的一個標準。多信道的無線通訊設備和微控制器(MCU)是ZigBee的中心裝置,它們在芯片上進行集成拼裝。對需要相互溝通,相互交流,不同功能的無線網絡節點,需要確保節點之間的信息的網絡傳輸正常準確,即網絡需要的標準,ZigBee就是依此而來的一種國際標準。
在輸電線路微氣象監測中,各個前端傳感器要像一張大網一樣相互連接,任意節點間可以相互進行通信,這種復雜的網絡管理需要大量軟件代碼,但代碼的ZigBee網絡的實施是國標化機構和ZigBee聯盟幫助下進行的,完整的機制,并提供源代碼的軟件庫。因此我們使用ZigBee技術的無線監控系統的設計,安裝方便,ZigBee無線網絡可以使用便宜的電池就可連續工作很長時間,經濟實用,降低傳感器應用的安裝和使用維護成本。同時,ZigBee分布式系統的幫助下,我們可以獲得更準確,更具體的信息,信息可以覆蓋到GPRS不到的區域。在通常的網絡結構中,當一個節點出現故障會導致整個網絡無法工作時,ZigBee的系統可以進行自我的調節并尋找代替方案[2]。在輸電線路網絡中某個微氣象信息監測點出現問題時,無線自組織網狀網絡通過避開這個監測點,數據就能通過其他途徑進行繼續傳遞,保障監測系統可以正常工作。
3.ZigBee的協議體系
輸電線路微氣象無線監測系統的通信部分是根據IEEE802.15.4標準及ZigBee協議構建的。無線媒體接入控制層(MAC層)使用沖突避免機制。在數據傳輸機制充分證實,當有數據傳輸要求立即發送時,每個發送的數據包必須等待接收,如果沒有消息的答復,表明碰撞發生需再發送。這樣提高了微氣象信息傳輸的可靠性,保證電網工作人員在接收到微氣象信息后可以做出準確的處理措施[3]。
ZigBee協議棧構造并不復雜,實現起來很容易,并不需要其他特定的器件來組成,這樣芯片的整個花費不高很經濟。ZigBee協議棧體系基于標準的七層開放式系統互聯模型,針對涉及ZigBee的層加以定義。
3.1 物理層
啟動和停止能量檢測,無線收發信器,信道選擇,鏈路質量指示,空閑信道評估,數據的發送和接收是IEEE802.15.4物理層來做的工作。對IEEE802.15.4三頻帶物理層劃分為27信道。同步頭(SHR)授權接收裝置同步和位流鎖,物理層幀頭中包含的信息幀的長度,有效負載部分三部分構成的物理層協議數據單元(PPDU)[4]。
3.2 MAC層
在概念層面上,MAC層還包括其管理實體和管理服務的接口;同時,也負責MAC和泛信息庫的維護(MAC PIB)。MAC公共部分子層和MLME-SAP兩個服務后PD-SAP和PLME-SAP物理層提供了一個連接之間的特定服務會聚子層和物理層。同時,一個內部的連接通道存在于MAC公共部分子層和作為獨立于MAC層之外的實體之間,用于后者調用MAC的數據服務。
3.3 網絡層
網絡層包括兩個服務實體,分別是網絡層數據實體和網絡層管理實體。在NLME中,應用程序可以與協議棧間進行交互。通過網絡層服務訪問點(SAP)提供了兩種服務網絡數據服務和網絡服務管理。目的MAC地址及目的PAN標志應設置回路由請求命令幀的第一跳的網絡地址和泛識別路徑開始,該目的PAN標識應與相應路由請求命令發起設備的PAN標識相同。源MAC地址和源PAN標識應分別設置為發送路由應答命令設備的地址和PAN標識,該發送設備不一定是路由應答命令的發起設備,而只是轉發設備。幀控制字段的設置應制定該幀為MAC數據幀并禁止MAC安全處理,因為NWK層發起的任何安全幀都應采用NWK層安全處理。在MAC幀的發送選項中應指定該幀要求確認。地址模式和PAN內標識位應支持地址字段的相應設置[5]。
3.4 應用層
IEC60870-5-101規約的實時數據傳輸利用網絡數據交換數據而不是以往的串口傳遞的傳統方式,這樣就是整個通信系統網絡更加的穩定可靠,成本也更低。
BZT發生動作時,動態信息主動上傳到監測中心,此時,101規約的傳送原因單元數據為0x03(突發信息);當監測中心召喚BZT信息時,監測中心發出召喚報文的信息體標識被定義為數據類別,信息體元素被定義為終端設備號,這是101規約在該裝置中的特殊應用。例如,監測中心召喚02#設備的遙信量,則召喚報文的信息體單元數據為0x90(遙信量)0x00 0x02(2#設備)。
報文舉例
召喚1#開閉所內的1#BZT設備的遙信量信息報文如下:
68 09 09 68 8B 01 64 01 05 01 90 00 01 88 16
響應報文如下:
68 0A 0A 68 28 01 28 8D 14 01 90 01 C0 00 44 16
帶下劃線的數據內容為信息體元素,召喚報文中代表設備號,響應報文中代表遙信量信息。3個16進制數最多攜帶24個遙信量。
4.微氣象監測中心部分
微氣象無線通信部分將前端數據采集部分的信息傳遞給終端的監測中心,由處理分析數據單元,存儲數據單元,人機交互單元組成數據分析處理部分。電網工作人員可以通過微氣象主站監測軟件提供友好的上位機界面進行數據分析處理,同時工作人員還隨時獲取任意采集點的微氣象信息,存儲、統計與分析采集到的數據,并將所有數據通過曲線等方式直觀的顯示出來。其中,為了得到很高的開放性和互連性,上位機軟件采用SQL SERVER數據庫和MFC。為了使監測人員能夠防患于未然,通過面向對象的編程技術編寫的查詢和系統監控軟件統計,風速,風向,濕度,溫度和其他相關的微氣象信息能夠得到及時的處理,確保了輸電網絡的安全運行。
5.結語
輸電線路微氣象無線監測需要安裝大量的前端微氣象信息收集處理裝置在電網的各個關鍵部位,這樣就要求監測系統裝置的安裝、信息的傳遞等部分需要設計的十分經濟。以往的信息傳輸通信協議部分大部分采用通用分組無線服務技術GPRS,這種移動通信網不僅是有償使用而且建立的移動基站價值一般都十分昂貴,而ZigBee這種短距離無線通信不需要申請無線頻道,“基站”的建造也很廉價。
相對于其他通信技術,ZigBee針對特定的用途環境追求的是低速率、近距離,從而使設備的價格也十分低昂。輸電線路的微氣象信息并不是很龐大的數據,通過ZigBee傳輸的速度就已經夠用,起到了經濟實惠的目的。在監測設施中,通過多跳通信鏈路使短距離的ZigBee通信距離大幅度提高,并避免了因長距離傳輸導致的信息失真,保證了微氣象信息的準確傳輸。由于由于電網的監測點多在野外等環境條件惡劣處,監測系統采用太陽能電池板和蓄電池相結合的方式,前端設備的用電需求就要得到控制,對于傳輸速率和數據量小的ZigBee節點,它的功耗非常低,耗電量小,能確保監測設備能夠長時間穩定工作。通過ZigBee無線通訊協議在監測系統上的實現,分布在電網線路上的監測點上限可以得到擴展,更全面的監測輸電線路網絡各點的微氣象信息,保證電網的運行安全。
作者簡介:
篇4
ZigBee Gateway是ZigBee聯盟推出的第十個應用標準,是一個溝通IP網絡與ZigBee網絡之間的橋梁。介紹了ZigBee Gateway的概念、性能、架構、功能等方面的內容,最后指出ZigBee Gateway可以幫助開發商、制造商縮短產品整體開發時間,并降低開發風險,免去使用定制或專用解決方案的必要,減少開發和制造成本。
【關鍵詞】
ZigBee網關 IPHA ZigBee協議棧 ZGD
中圖分類號:TN92 文獻標識碼:A 文章編號:1006-1010(2013)-18-0048-06
ZigBee Gateway for Wireless Sensor Networks
LV Ran, CHEN Chuan-hong
(Mobile Communication National Engineering Research Center, Guangzhou 510310, China)
[Abstract]
ZigBee Gateway, the 10th standard announced by the ZigBee Alliance, is a bridge between IP network and Zigbee network. This paper introduce the concept, performance, architecture and function for Zigbee network, and demonstrates that Zigbee shortens the time and the risk of R&D rather than customized or special solution.
[Key words]
ZigBee Gateway IPHA ZigBee protocol stack ZGD
*基金項目:2011年度廣東省中國科學院全面戰略合作項目-基于物聯網的中老年關愛救援系統的關鍵技術研究及應用(2011A090100025)
收稿日期:2013-08-06
1 引言
隨著寬帶接入的普及和智能家居系統、遠程健康跟蹤/監護系統等的興起,網關設備具有很大的潛在市場空間。
目前許多公司都開發了各自的網關產品,如家庭網關等,然而要開發出更多復雜的和具有兼容性的網關,迫切需要制定相應的網關標準。
ZigBee技術是一個具有統一技術標準的短距離無線通信技術,其物理層(PHY)和介質訪問控制層(MAC)協議基于IEEE802.15.4協議標準,網絡層(NWK)和應用層(APS)由ZigBee聯盟來制定。為了更方便地控制ZigBee無線傳感器網絡,讓各無線節點設備間有序、高效地工作,有必要將已經非常成熟的基于TCP/IP技術的以太網與ZigBee無線傳感器網絡相連通,從而實現通過以太網來控制ZigBee無線傳感器網絡。
2011年7月28日,ZigBee聯盟宣布推出的第十個標準ZigBee Gateway(簡稱ZigBee網關),是ZigBee Network Devices(網絡設備)這一新類別的首個標準。ZigBee網關提供了一種簡單、高性價比的互聯網連接方式,使服務提供商、企業和個人消費者可以將各種類型的ZigBee無線傳感器網絡連接至互聯網,同時還提供了面向消費者設計的各種云和智能電話服務的使用權。
2 ZigBee Gateway概述
2.1 ZigBee技術介紹
ZigBee是基于IEEE802.15.4無線標準研制開發的關于組網、安全和應用軟件等方面的技術標準,ZigBee的基礎是IEEE802.15.4協議架構,如圖1所示。IEEE802.15.4是IEEE無線個人區域網(PAN,Personal Area Network)工作組的一項標準,是一種經濟、高效、低數據速率(250kbps),采用直接序列擴頻(DSSS,Direct Sequence Spread Spectrum)技術,工作在2.4GHz和868MHz(歐洲)/915MHz(北美)的無線短距離技術,用于個人區域網和對等網狀網絡。
ZigBee聯盟在IEEE802.15.4物理層、MAC層的基礎上,對其網絡層協議和應用程序接口(API)進行標準化,并對安全層進行開發。完整的ZigBee協議套件由高層應用規范、應用會聚層、網絡層、數據鏈路層和物理層組成,應用匯聚層是把不同的應用映射到ZigBee網絡上。多個ZigBee節點設備可以構成一個無線個人區域網,在這個網絡中主協調器可以對各個節點設備進行控制。
隨著ZigBee無線網絡技術的廣泛應用,如何通過現有網絡基礎設施(如Internet網)對其進行遠程管理、控制,逐漸成為該領域的重要研究課題。
2.2 ZigBee網關簡介
ZGD(ZigBee Gateway Device,ZigBee網關設備)作為ZigBee無線傳感器網絡的一部分,在整個無線網絡中具有唯一性,所有無線節點設備數據均發送給網關,并由其進行地址、協議轉換后發送給以太網;反之,以太網數據也需由網關進行地址、協議轉換后,才發送給ZigBee無線傳感器網絡。總的來說,ZigBee網關是ZigBee無線傳感器網絡與以太網數據交換的中轉站。
一個連通ZigBee無線傳感器網絡和以太網的網關應該解決以下問題:
(1)能與ZigBee無線傳感器網絡中的各節點設備進行通信,同時控制、協調無線傳感器網絡間的通信;
(2)能通過以太網接口與計算機實現有線通信;
(3)為了實現ZigBee通信,需要相應的底層驅動程序協議棧;
(4)具備與無線傳感器網絡中的新節點建立動態鏈接的能力。
自2002年ZigBee聯盟成立以來,多家國際巨頭公司參與到其標準的制定和應用推廣,如今在智能家庭、工業控制、醫療健康監護和電信應用領域都有大量的應用。ZigBee聯盟為制定Gateway的協議,于2004年2月成立網關工作小組,專門負責Gateway堆棧協議的制定與標準化。Gateway的首要目標,是建立IP網絡的應用端與ZigBee網絡之間的通信管道,整合ZigBee堆棧的服務,實現跨網絡與服務的存取。
根據ZigBee聯盟公布的標準規范文件,作為一個溝通IP網絡與ZigBee網絡之間的橋梁,ZigBee Gateway必須要滿足以下最低限度的要求:
(1)ZCL(ZigBee Cluster Library,ZigBee簇庫)的讀、寫屬性,能夠設定回報事件;
(2)提供ZDO(ZigBee Device Objects,ZigBee設備對象)針對網絡搜尋與服務發現的宏操作;
(3)服務應用端點的管理;
(4)Gateway基礎數據(Information Base)的存取;
(5)尋址ZGD's AIB、NIB和PIB屬性;
(6)靈活地啟動和網絡連接操作;
(7)能夠直接控制ZigBee的安全操作;
(8)ZGD與應用服務端(IPHA)的雙向通信機制。
ZCL是ZigBee聯盟根據各種應用制定的功能標準化的集合,可視ZCL為根據不同的應用功能而制定,是屬于ZigBee堆棧應用層之上的協議,提供了傳送各種屬性值改變的一種機制、配置傳送參數的命令。所以ZCL相關的操作,簡單來說,就是支持應用層級制定的通信命令的操作,若廠商須自定義一個應用層級的溝通接口,就會使用到ZCL相關的操作。
ZDO則是屬于ZigBee堆棧(ZigBee Stack)的一部分,提供ZigBee相關的服務,如裝置與服務發現(Device and Service Discovery)、安全管理(Security Manager)、網絡管理(Network Manager)、綁定管理(Binding Manager)與節點管理(Node Manager)。
通用的ZigBee網關部署示意圖如圖2所示:
ZigBee網關設備利用基于TCP/IP的主機應用程序,提供了一個通信傳輸通道連接到ZigBee個域網(ZigBee PAN)。該機制能使外部應用與單獨的ZigBee節點互通,實現控制或獲取節點的數據,反之,節點也能與外部應用進行互相通信。
網關的一端根據ZigBee協議棧和IEEE802.15.4介質訪問控制層特性在服務訪問程序(SAPs)上提供二進制編碼遠程程序調用API,另一端在UDP(User Datagram Protocol,用戶數據報協議)傳輸層,通過特征引擎提供基于個域網的圖形化顯示,用戶能以Web瀏覽器方式與樹狀節點交互。
ZigBee網關的基本功能是將基于TCP/IP協議的網絡與基于ZigBee協議棧的數據進行轉換,實現數據在兩個協議之間的雙向傳輸,從而可以將基于常用的以太網的數據發送到ZigBee網絡中,也可以將ZigBee網絡中的數據發送到以太網中,在無線傳感器網絡和以太網之間搭建一條數據傳輸通道。
消費市場細分要求提供廉價的ZigBee網關設備,因此ZigBee網關規范要確保最小需求的功能特征集和計算復雜性,為大多數家居/消費應用提供令人信服的功能。但實現一個最小限度的ZigBee網關可能會增加主機應用程序的復雜度。
相比之下,商業、工業等企業應用可能要求ZigBee網關設備具有豐富的功能,可用典型的環境協議訪問。因此,ZigBee網關設備規范要確保可選特征集和功能,提供一套不以計算復雜度為限制的功能。但一個功能豐富的ZigBee網關設備有可能降低主機應用程序的實現復雜度。
3 ZigBee Gateway性能
ZigBee Gateway支持下列性能:
(1)核心IP,兼容IPv4或IPv6連接
1)IP安全域;
2)配置;
3)IP RPC(RemoteProcedureCall,遠程過程調用)協議定義;
4)網絡地址和端口轉換(NAT)/防火墻穿越;
5)兼容IETF、W3C和其他現有的基于IP的標準(SOAP,REST)。
(2)提供廣泛的ZigBee/IP應用程序的支持,且支持所有配置要求(通用)
1)公共配置文件的ZigBee網關能將ZigBee網絡連接到IP網絡;
2)專用配置文件的標準網關設備將專用的ZigBee網絡連接到遠程應用程序。
(3)可升級,可擴展
1)分層規范使其成為低成本、強大的網關;
2)網關框架擴展。
4 架構和功能
4.1 架構
網關的架構示意圖如圖3所示。
通過GRIP、SOAP、REST綁定,IPHA或網關在IP網絡上通過遠程過程調用(RPC)相互通信。其信息交換是請求-響應格式,每個設備都能發出請求和接收響應。IPHA發出到網關的請求指令在網關執行,且通過網關的無線接口尋址ZigBee節點,在遠程節點上執行指令。反之,由網關發出到IPHA的請求指令由IPHA運行,網關重新定向節點始發的信息,通過回叫能力發送到IPHA。總之,IP網元通過網關提供的GRIP或REST協議接口,就可以對ZigBee無線傳感器網絡進行各種控制操作,或指定接收ZigBee網絡定類型的消息事件。
(1)ZigBee堆棧是在IEEE 802.15.4標準基礎上建立的,定義了協議的MAC和PHY層。ZigBee設備包括IEEE802.15.4(該標準定義了RF射頻以及與相鄰設備之間的通信)的PHY和MAC層,以及ZigBee堆棧層,包括網絡層(NWK)、應用層和安全服務提供層。ZigBee協議堆棧分層架構如圖4所示。
網關應用提供了到應用支持子層(APS)、ZigBee設備對象(ZDO)、ZigBee簇庫(ZCL)和其他通信(COMM)層的接口,如網絡層和MAC層,以及網關管理對象(GMO)。所有這些層提供訪問駐留在網關上的ZigBee協議棧,執行各種功能。
(2)應用支持子層(APS)通過網絡層和安全服務提供層與端點相接,并為數據傳送、安全和綁定提供服務,因此能夠適配不同但兼容的設備。
(3)ZigBee設備對象(ZDO)描述了應用框架層中應用對象的公用接口以及控制設備和應用對象的網絡功能。這個功能在應用對象、設備profile和APS之間提供了一個接口。ZDO位于應用框架和應用支持子層之間。它滿足所有在ZigBee協議棧中應用操作的一般需要。此外ZDO還初始化應用支持子層、網絡層、安全服務規范(SSS)以及從終端應用集合中配置的信息來確定和執行安全管理、發現、網絡管理以及綁定管理。
(4)規范中詳細介紹了ZigBee簇庫(ZCL)每個簇的用法,并列出特定簇能夠傳送的屬性,提供了傳送各種屬性值改變的一種機制、配置傳送參數的命令。
同時,ZigBee網關設備通過一個或多個下列PRC協議(綁定)提供標準的API:
(1)SOAP(Simple Object Access Protocol,簡單對象訪問協議)是交換數據的一種協議規范,通過超文本傳輸協議(HTTP)和擴展標記語言(XML)請求執行遠程過程調用規范。請求的格式由XML文檔(Web服務描述語言)規定。
(2)REST(Representational State Transfer,表述性狀態轉移)是一種針對網絡應用的設計和開發方式,類似于SOAP,通常基于HTTP、URI、XML以及HTML這些流行的協議和標準,采用HTTP訪問API的資源庫。應用程序和ZigBee網關設備堆棧的腳本很小,許多操作由Web瀏覽器執行。
(3)GRIP是一種二進制協議,在傳輸控制協議(TCP)連接上原始數據格式的ZigBee堆棧結構的交換。是通過TCP封裝實現基本的API過程,即發送和接收ZCL/APS/NWKs數據包,使得在ZigBee協議棧最高層網關配置最小。
4.2 功能
ZigBee網絡與IP之間的互連是許多應用的關鍵,ZigBee網關規范應當滿足許多不同的需求。因此,ZigBee網關不只是定義一個單一協議,而是應定義一個兩層的API。
(1)一套概要功能(獨立于協議)
1)網關規范定義了一個連接ZigBee功能的遠程過程調用API和IP網關的管理:
支持完整的應用
支持ZigBee網絡輸入和輸出的應用子層(APS)、ZigBee設備對象(ZDO)、安全服務(SEC)
2)允許ZigBee設備上的IP應用程序和配置應用程序之間的交互;
3)通過公開的應用程序接口以標準的方式使遠程IP應用接口能與多個供應商的網關可以互操作;
4)將強制性的功能減少到最低限度,允許不同層次配置的產品的差異化。
(2)一組可擴展的RPC協議(即綁定),規定如何使用專用的協議提供公開的API
1)不同的綁定提供成本與功能權衡的可擴展性;
2)無需重新新發明每一個系統的接口,因平臺規范不局限于一個特定的配置文件,但應給出到IPHAs的方式,以支持所需的配置文件;
3)網關規范版本1具有SOAP、REST和GRIP綁定:
SOAP提供了面向更高層次的Web服務訪問網關API
REST提供一個輕量級基于Web的 API
GRIP是最簡單的ZigBee網關設備精選協議,占用空間小
為了有效地適用于不同的應用,一個合適網關不需要實現所有RPC綁定,可僅實現其中一個,或者按需實現多個。在通用ZigBee網關規范上建立特定應用網關,可根據特定用例或典型場景實現某一個綁定。這樣,一個配置可以授權一個特定用例的綁定或讓供貨商自己確定實現哪種綁定。
5 結論
ZigBee網關設備是獨立、通用的設備,能夠滿足大多數應用對IP連接的需求。
ZigBee Gateway作為一項標準,為開發商、制造商提供了一種通用的方法,使他們能夠集中精力開發應用產品并縮短產品整體開發時間。且可以幫助他們降低開發風險,免去使用定制或專用解決方案的必要,還能減少開發和制造成本。為產品制造商和服務提供商提供了一種易于使用的智能方法,通過互聯網拓展設備功能和帶來ZigBee控制的益處。為消費者提供更多監控功能的好處,包括方便的智能手機或成本更低的面向iOS、Android和Windows Phone操作系統的桌面應用整合。
ZigBee Gateway使得互聯網連接整合變得更簡單,尤其是對聯網經驗很少的開發商而言。歸根結底,這個標準將使采用ZigBee的增值服務的數量增加,并為大家帶來更多方便的控制選擇。
ZigBee Gateway可以用于ZigBee樓宇自動化、ZigBee醫療保健、ZigBee家庭自動化、ZigBee零售服務、ZigBee智能能源、ZigBee電信服務公共應用標準的場景中。
現如今因特網普及全球,如果能把ZigBee網絡同因特網連接起來,在世界各個角落都可以對某個ZigBee網絡重點設備進行控制,有利于ZigBee技術的進一步發展。為此,網關在整個傳感器網絡中起著重要的樞紐作用,就如一座橋梁緊密地聯系著ZigBee無線傳感器網絡與因特網,以ZigBee網關和Internet做媒介,使得世界范圍內的不同監測區域都可以信息共享,大大縮小了物理世界的時空距離。
參考文獻:
[1] ZigBee Alliance. Understanding ZigBee Gateway[EB/OL]. (2010-09-03). https:///zigbee-docs/dcn/09-5465.pdf.
[2] ZigBee Alliance. Network Device: Gateway Specification[EB/OL]. (2011-03-23). http://.
[3] 謝志聰. 滿足多元控制/存取ZigBee Gateway趁勢而起[J]. 新電子, 2008.
[4] 李小珉,趙志宏,郭志,等. ZigBee無線傳感器網絡的研究與實驗[J]. 電子測量技術, 2007(6).
[5] 凌興鋒,何小敏. 基于ZigBee的無線網關解決方案研究[J]. 微處理機, 2010(4).
作者簡介
篇5
【關鍵詞】異構WSNs;ZigBee;6LoWPAN;IPv6
Design and Implementation of a Heterogeneous WSNs Communication System
ZHANG Yi-fei LI Xiao-long
(Key Lab of Industrial Wireless Network and Networked Control,Ministry of Education,
Chongqing University of Posts and Telecommunications, Chongqing 400065,China)
【Abstract】Aimed at the problem that heterogeneous WSNs cannot communicate with each other freely, a communication system is designed to realize point-to-point communication between heterogeneous WSNs, using ZigBee and 6LoWPAN wireless sensor networks as a reference. The hardware platform of the gateway is based on S3C2440 and CC2530. The key technologies involved in the research are expounded, and a test environment is setted up. The experimental results show that the research method is effective for the communication between these two heterogeneous WSNs, moreover it has certain reference value for communications of some other types of heterogeneous WSNs.
【Key words】Heterogeneous WSNs; ZigBee; 6LoWPAN; IPv6
0 引言
近年來,物聯網發展迅速,在工業現場、智能電網、倉儲物流等領域得到了廣泛應用。作為物聯網的重要組成部分,無線傳感器網絡(Wireless Sensor Networks, WSNs)是信息通信領域的一個熱點。無線傳感器網絡包含諸多協議標準,如ZigBee、6LoWPAN、ISA 100.11a、RFID等,隨著各種技術的發展,采用不同傳感網協議的網絡在現實生活中相互通信成為一個亟待解決的問題。
IEEE 802.15.4[1]是一種低功耗、低速率、短距離無線傳輸協議,描述了低速率無線個人局域網的物理層和媒體接入控制協議,具有可擴展性,且只規定了底層,即單一的媒體訪問控制(MAC)層和多樣的物理層,至于MAC以上的協議,可以采用不同的方案。由此就產生了多種不同的技術,比如ZigBee、6LoWPAN、ISA100.11a等。基于ZigBee協議[2]的應用已經遍布于工業控制、智能測繪、醫療、家居等各行各業,在技術的成熟度和產品的市場化方面都要比6LoWPAN更有優勢,但是6LoWPAN也有其特有的優勢,即6LoWPAN[3]網絡層采用IPv6協議,使得6LoWPAN設備能夠擁有IPv6地址,并在網絡層面上通信,甚至可以接入互聯網,使互聯網的應用擴展到物理世界的任意角落。
本文研究了ZigBee網絡和6LoWPAN網絡,設計實現了ZigBee和6LoWPAN這兩種不同傳感器網絡之間相互通信的異構WSNs網關系統,在不改變ZigBee與6LoWPAN協議的基礎上,成功解決了兩種無線傳感器網絡間不同協議互通的問題,對促進異構網絡之間的無縫融合有積極意義。
1 異構傳感網通信系統體系結構
圖1 異構WSNs節點通信應用場景
Fig. 1 Heterogeneous WSNs communication scenario
1.1 網關通信應用場景
圖1所示為本文所實現的ZigBee與6LoWPAN傳感器網絡中異構節點互通的場景。ZigBee網絡與6LoWPAN網絡通過本文設計的一個網關實現異構傳感網節點間的互通,并可接入IP網絡與互聯網上的節點實現互通。
1.2 網關協議轉換模型
圖2 協議轉換模型
Fig. 2 Protocol conversion model
圖2所示是在圖1的具體應用場景中網關的協議轉換圖。ZigBee網絡接入模塊與6LoWPAN接入模塊分別通過串口與ARM處理器相連,一起構成網關的整體。ZigBee節點采集到的數據通過無線發送給ZigBee協調器,即ZigBee網絡接入模塊,解析出數據的有效載荷,通過SLIP協議發給ARM處理器,轉換成IPv6數據,再通過SLIP協議發送給6LoWPAN邊界路由器,即6LoWPAN網絡接入模塊,繼而轉發給6LoWPAN節點。
1.3 網關功能描述
網關由ARM處理器、ZigBee模塊、6LoWPAN模塊組成,ZigBee模塊與6LoWPAN模塊還分別作為ZigBee網絡的協調器與6LoWPAN網絡的邊界路由器。
網關功能主要有:
(1)基本協議解析功能,包括ZigBee協議、6LoWPAN協議以及IPv6協議。
(2)服務查詢功能,主要通過在網關建立起一個存儲傳感網節點EUI-64地址與所提供服務的服務表實現,節點向網關發送服務查詢請求命令,網關向節點返回服務查詢響應。
(3)協議轉換功能。EUI-64地址要轉換成IPv6地址,ZigBee數據包轉換成IPv6數據包。
2 關鍵技術
2.1 服務注冊及服務查詢
2.1.1 服務注冊
服務注冊是將兩個傳感網中所有節點的EUI-64地址與其所提供的服務建立映射關系,將這些服務和提供服務的節點信息存儲在服務表中,從而使網關具有服務查詢功能[5]。
首先是網關初始化。ZigBee網絡和6LoWPAN網絡采用動態組網方式自動組網,之后ZigBee節點上傳自身信息給ZigBee協調器,包括EUI-64地址、提供的服務類型(溫濕度檢測、設備控制等),6LoWPAN節點同樣上傳信息給邊界路由器,最后ARM處理器匯總信息,建立映射并生成服務表。服務表如表1所示。
表1 服務表
Tab. 1 Service table
2.1.2 服務查詢
服務查詢是傳感網節點向網關提出服務查詢請求,網關向節點返回服務查詢響應。
為了傳感器節點能查詢到服務提供者的EUI-64地址,設立了服務代碼表,如表2所示,定義了服務查詢請求以及服務查詢響應的數據包格式,如圖3和圖4所示:
(1)服務代碼表
把溫度、濕度、一氧化碳濃度等服務類型分別用以下代碼表示,如表2所示:
表2 服務代碼表
Tab. 2 Service code table
(2)服務查詢請求
圖3 服務查詢請求數據包格式
Fig. 3 Service query request frame format
其中,字符“?”為數據包的標志位,字符“P”為數據包的識別符,字符“1”為要查詢的服務――濕度。
(3)服務查詢響應
圖4 服務查詢響應數據包格式
Fig. 4 Service query response frame format
其中,字符“!”為數據包的標志位,字符“P”為數據包的識別符,字符“1”為要查詢的服務――濕度,EUI-64為濕度服務提供者的EUI-64地址。
節點查詢到服務提供者的EUI-64地址后,就可以構造報文發送到相應節點了。
2.2 應用層通信協議設計
ZigBee節點與6LoWPAN節點發送數據的時候要把自身的EUI-64地址、查詢得到的6LoWPAN的EUI-64地址以及真正要發送的數據打包放在應用層負載中,因此,應用層數據通信協議就需要包含這些必要信息數據。在傳輸過程中統一的數據報文格式[6]如圖5所示。
圖5 應用層數據格式
Fig. 5 Application layer data format
2.3 SLIP封裝與解封裝
ZigBee無線模塊與6LoWPAN無線模塊都通過串口與ARM處理器相連,數據的傳輸通過串口進行。為了增加Linux主控單元和WSN子網接入模塊之間通信的安全性,在報文傳輸過程中采用SLIP協議封裝[7],接收數據時可以通過SLIP的標志位判斷數據是否完整來決定接收或者丟棄,SLIP作為鏈路層協議直接承載IP數據包。SLIP協議封裝具體格式如圖6所示,將原報文中的字符0xC0替換為0XDB、0xDC,將字符0xDB替換為0xDB、0xDD,解封裝是反之即可,這里不再贅述。
圖6 SLIP的封裝過程
Fig. 6 Encapsulation process of SLIP
2.4 UDP/IPv6數據包的封裝與解封裝
ZigBee數據需要轉換成IPv6數據來與6LoWPAN網絡通信,且6LoWPAN傳輸層采用UDP協議,因此UDP/IPv6數據包封裝與解封裝必不可少。
當應用層的數據產生后,首先要在傳輸層添加UDP首部,然后在網絡層添加IPv6首部,最后在數據鏈路層添加SLIP首部,生成UDP/IPv6數據包的過程如圖7所示。
ARM板串口接收到ZigBee模塊發送來的數據包,SLIP解封裝后得到應用層數據,依次取出報文中的各個變量,即ZigBee節點EUI-64地址、6LoWPAN節點的EUI-64地址、數據包長度、純數據。按照IPv6首部、UDP首部、UDP偽首部、UDP校驗和的規定依次填充各個變量,最終構造出UDP/IPv6數據包[8]。然后添加SLIP首部后通過串口發送給6LoWPAN邊界路由器,邊界路由器將IPv6報文壓縮到只含必要內容,且能在以IEEE 802.15.4標準為底層協議的WSN內傳輸的小數據包,之后發送給目的6LoWPAN節點。
6LoWPAN節點發送數據到ZigBee節點時,要進行UDP/IPv6數據包的解封裝,過程與前面所述相反。
圖7 UDP/IPv6數據包封裝過程
Fig. 7 Encapsulation process of UDP/IPv6 data packets
2.5 網關節點交互流程
節點交互過程主要分為3個階段:網關初始化階段、服務查詢階段以及數據傳輸階段。圖8所示為ZigBee節點(A)、異構WSNs網關(B)、6LoWPAN節點(C)之間的交互流程[9]。主要描述了3個階段中網關初始化生成服務表后,由ZigBee節點發起服務查詢請求,網關返回服務查詢響應,ZigBee節點得到目的6LoWPAN節點地址后,發送數據到6LoWPAN節點,6LoWPAN節點接收數據的整個過程。
(1)網關初始化
網關初始化包括網絡初始化和服務注冊。網關啟動后,ZigBee節點和6LoWPAN節點分別自動組網,建立ZigBee網絡和6LoWPAN網絡,之后節點向網關上傳自己的EUI-64地址和所提供的服務,完成服務注冊,由此網關建立起節點EUI-64地址與所提供服務的一一映射,存儲ZigBee節點和6LoWPAN節點的EUI-64地址及節點提供的服務。
圖8 網關節點交互流程
Fig. 8 Interaction flow of gateway nodes
圖9 網關測試系統示意圖
Fig. 9 Gateway test system schematic diagram
(2)服務查詢
節點A向網關B發起服務查詢請求,B收到請求后在服務表中查詢此服務由哪個6LoWPAN節點提供,查詢到是節點C后,把節點C的EUI-64地址回復給節點A,于是節點A就知道了節點C的EUI-64地址。
(3)數據傳輸
經過上面兩步網絡初始化和服務查詢之后,節點A知道了提供所需服務的節點的EUI-64地址,然后構造這樣的報文,即把ZigBee的EUI-64地址、6LoWPAN的EUI-64地址加上要發送的數據打包按照ZigBee協議發給網關,在網關處進行如下處理:ARM處理器接收到數據包后依次取出ZigBee的EUI-64地址、6LoWPAN的EUI-64地址以及數據,再調用UDP/IPv6封裝程序封裝成一個IPv6數據包。然后通過串口發到6LoWPAN邊界路由器的網絡層,再往下傳送到適配層進行分片、壓縮等處理,傳給MAC層及物理層,通過無線發送到目的6LoWPAN節點,至此完成了數據從ZigBee節點到6LoWPAN節點的全過程。
3 網關測試系統搭建
網關測試系統示意圖如圖9所示:包括ARM處理器、ZigBee無線通信模塊、6LoWPAN無線通信模塊、ZigBee與6LoWPAN網絡節點。ARM處理器采用三星公司的ARM9處理器芯片S3C2440,ZigBee模塊采用CC2530芯片,6LoWPAN模塊也采用CC2530芯片。ARM處理器與兩個無線通信模塊都采用串口相連。ZigBee模塊同時作為ZigBee網絡的協調器,6LoWPAN模塊也同時作為6LoWPAN網絡的邊界路由器。兩個傳感網節點通過無線方式發送數據給ZigBee模塊和6LoWPAN模塊。
3.1 ZigBee網絡軟件設計
本文的ZigBee網絡軟件設計采用TI免費協議棧ZStack-CC2530-2.3.0-1.4.0,工具軟件采用IAR Embedded Workbench for 8051 7.60。在TI免費協議棧的基礎上,通過修改其應用層來實現不同的功能。
3.2 6LoWPAN網絡軟件設計
在本文的6LoWPAN傳感網中,我們采用本實驗室獨立開發的6LoWPAN協議棧6lowsn_stack_v0.55,本協議棧已經實現了6LoWPAN的基本功能如報頭壓縮、分片等。工具軟件采用IAR Embedded Workbench for 8051 7.60。用于6LoWPAN協議棧的芯片解決方案采用單芯片方案,即此協議棧可以單獨運行在一塊CC2530芯片上,成本和復雜性都比較低。
4 測試結果與分析
網關啟動后,ZigBee節點與6LoWPAN節點分別各自組網,并在網關處建立起服務表。ZigBee節點向網關發送服務查詢請求,網關向ZigBee節點返回服務查詢響應。之后ZigBee節點向網關發送數據,網關經過處理后發送給目的6LoWPAN節點,完成了服務查詢與數據傳輸的全過程,使用Chipcon Packet sniffer軟件對整個過程進行抓包,抓包結果如下:
圖10是服務查詢抓包結果。可以看出網關啟動后,ZigBee節點與6LoWPAN節點分別各自組網,之后ZigBee節點發送服務查詢請求命令“?P1”,網關查詢服務表后得到服務“1”提供者6LoWPAN節點的EUI-64地址,于是向ZigBee節點返回服務查詢響應“!P1”加上6LoWPAN節點的EUI-64地址,服務查詢階段結束。
圖11是數據傳輸抓包結果。ZigBee節點把自身EUI-64地址、查詢到的6LoWPAN的EUI-64地址和要發送的數據“am”打包作為應用層數據發送給網關。網關接收到數據包后經過解析、封裝IPv6包,發送給6LoWPAN邊界路由器,最后轉發給目的6LoWPAN節點,抓包顯示收到ZigBee節點發來的數據包“am”。
5 結束語
本文對ZigBee和6LoWPAN這兩種不同協議類型的傳感網之間的通信進行了研究,并給出了實現方案,詳細闡述了實現異構傳感網通信的關鍵技術,并搭建了測試平臺進行軟硬件結合的測試,達到了設計的初衷,滿足了異構傳感網通信的需求,實現了兩者之間的點對點通信。在不更改協議棧的基礎上進行的網關設計具有較強的實用性和可擴展性,方便接入IPv6網絡以及更多不同協議的傳感網進行自由通信。
【參考文獻】
[1]蔣挺,趙成林.紫蜂技術及其應用[M].北京:北京郵電大學出版社,2006.
[2]ZigBee Specification.Version 1.0 [R].ZigBee Alliance,2004.
[3]Shelby z,Bormann c.6LoWPAN:The wireless embedded Internet[M].New York, NY, USA: John Wiley & Sons Ltd., 2009.
[4]戚劍超.基于IPv6的無線傳感器網絡應用研究[D].合肥:合肥工業大學,2009.
[5]孫紀敏,沈玉龍,孫玉,張思東.傳感器網絡接入Internet體系結構和服務提供方法[J].通信學報,2008,29(4):84-89.
[6]吳功宜,董大凡,王,劉乾.計算機網絡高級軟件編程技術[M].北京:清華大學出版社,2007.
[7]Andrew puter Networks[M].3rd edition.北京:清華大學出版社, 2002.
篇6
低功耗射頻技術雖然傳輸距離不長,數據傳輸率也不大,但它能使無線設備小巧靈活,在很多場合充分發揮作用。
ZigBee的興起
提起低功耗射頻技術,最知名的就是藍牙(Bluetooth)和ZigBee技術。其中,藍牙技術推廣較早,已經有了相當廣泛的應用基礎,很多消費電子設備上都有藍牙收發裝置。zigBee技術則興起得較晚,但是發展速度很快,大有趕超藍牙之勢。特別是家電和工業自動化領域,ZigBee的應用正有聲有色地展開。
這里,先簡單介紹一下zigBee技術。ZigBee是一種近距離、低復雜度、低功耗、低數據傳輸速率、低成本的雙向無線通信技術,主要通信協議由ZigBee聯盟制定,其底層是采用IEEE802.L5.4標準規范的媒體存取層與實體層。總結起來,ZigBee技術有下面幾個優點:
1 低功耗:zigBee的傳輸速率較低,傳輸數據量很小,因此信號的收發時間很短。在待機模式下,ZigBee節點會進入休眠模式。這一切使得zigee設備非常節電,使用普通5號堿性電池對的zigBee節點可工作達6個月到2年左右。
2 數據傳輸可靠性強:ZigBee的MA C層采用talk when-ready的碰撞避免機制。
3 網絡容量大:一個zigBee的網絡最多可配置255個ZigBee網路節點,包括一個主控(Master)設備和其他從屬(Slave)設備。若是通過網絡協調器(Network Coordinator),整個網絡最多可以支持超過64000個的ZigBee網路節點,再加上各NetworkCoordinator可互相連接,整個ZigBee網絡節點的數目將十分可觀。
4 高安全性:ZigBee提供了三級安全模式,包括無安全設定、使用接入控制清單(ACL)防止非法獲取數據,以及采用高級加密標準(AES 128)的對稱密碼,以靈活確定其安全屬性。
5 短時延:ZigBee節電從睡眠轉入工作狀態只需15ms,節點連接進入網絡只需30ms。
6 低成本:通信協議的簡化,降低了對設備的要求。
說到zigBee,就不得不提到zigBee RF4CE(Radio Frequency forConsumer Electronics)標準。這是一個由眾多家電巨頭和半導體器件供應商結成的聯盟所制定的標準。它的起因是因為影音家電設備的智能化、網絡化和顯示設備的大型化趨勢越來越明顯,以前占據家電遙控器主導地位的紅外傳輸技術已經跟不上時代的步伐,其接收角度狹小,無法雙向傳輸信息的缺點愈加明顯。為此,必須有新的無線技術取而代之。事實上,很多廠商都在開發相應的替代無線技術,但因為缺乏統一的技術標準,使得局面極為混亂。為了扭轉這些不利的狀況,全球家電業巨頭松下、索尼、三星、飛利浦等決定攜手推動射頻遙控器軟件協議標準化,并決定以IEEE 802.15.4作為射頻遙控器所采用的無線電平臺。隨后,德州儀器、飛思卡爾、Ember等芯片供應商也加入,RF4CE產業聯盟亦宣告成立。在今年4月,第一批ZigBee RF4CE參考平臺正式通過了驗證。這也就意味著,ZigBee進入家電遙控器市場的時間很快就要到來了。
另外,近年來發展很快的無線傳感器網絡也在大量使用ZigBee技術。這也為zjgBee的發展提供了另一個空間。
半導體器件商的高集成度解決方案
RF4CE產業聯盟中的半導體廠商代表,如德州儀器、飛思卡爾等,都在不斷推出自己的ZigBee產品,以期能迅速占領市場。
飛思卡爾公司在今年年初推出了其第二代芯片組M C1321x系列,其在第一代的基礎上集成發射/接收開關,減少了所需的外部組件數量。
而德州儀器公司也在近日推出了自己的新產品――C C2530。該產品不僅支持IEEE 802.15.4標準,而且還支持包括ZigBee PRO網絡、ZigBee RF4CE遠程控制、智能能源、家庭與樓宇自動化、環境監控以及無線醫療等在內的一系列豐富應用。與同類解決方案不同,CC2530可提供達高達256K的閃存。其輸出功率,也從前代產品C C2480的94dB增加到現在的10ldB。同時。該產品支持49dB的相鄰通道抑制,這也是業界里一個非常高的指標。c C2530的Flash存儲器可以支持多種應用,其集成了高級RF收發器、業界標準增強型805l McU、系統內可編程閃存、8KBRAM,可減少多種元件(DMA、GPIO、USART、ADC以及定時器)。對于ZigBee器件來說,開發工具也非常重要。C C2530也有多種開發套件,包括了基礎開發套件(C C2530DK)、zigBee開發套件(cC2530ZDK)以及zigBee RF4CE開發套件(RemoTI-C C2530DK)。同時,還有免費的協議軟件棧,包括適用于符合ZigBee標準應用的Z-Stack軟件(ZigBee PRO),適用于ZigBee RF4CE遙控應用的Remo TI網絡協議以及適用于專用網絡應用的SimpileiTI網絡協議。
需要解釋一下Rem0 TI協議,這是面向ZigBee RF4CE規范的同時包含軟件與硬件的完整網絡協議,包含了CC2530 IEEE/802.15.4片上系統與軟件協議棧。
篇7
【關鍵詞】ZigBee 多因子 安全認證
1 引言
ZigBee是具有功耗低、成本低、r延短、抗干擾性強的短距離無線通信技術,廣泛應用于無線網絡領域。但由于網絡規模大,數據通信量小,環境安全難于控制。因此,出現了一系列針對ZigBee入網及通信安全的研究,如針對網絡安全威脅與攻擊、信任機制、節點身份認證[1]等。文獻[2]提出的基于信任中心的認證方案,能夠解決移動節點問題,但加重了協調器的負擔。文獻[3]指出適合ZigBee節點身份認證的技術,但其僅適合單播通信節點的認證,在多播通信節點中會使組密鑰信息泄露,導致網絡不安全;當密鑰因子泄露時會導致系統處于不安全狀態。
綜上所述結合非對稱密碼體制認證方案以及MAC層協議,提出一種適用于ZigBee網絡的“新鮮因子+配置信息+密鑰”多因子安全認證方案,設計簇頭與控制中心、終端的雙向認證流程,保證入網節點的合法性,抵御中間人攻擊以及有效降低了協調器的負載,提高了ZigBee網絡的綜合性能。
2 多因子安全認證機制設計
方案中采用橢圓曲線密碼機制。簇頭發送入網請求幀,控制中心經認證通過后與簇頭建立網絡連接。然后,終端節點發送入請求幀,經簇頭認證通過后建立整個網絡結構。其具體的認證入網流程如下。
CHj在獲取到NC的公鑰PuKNC后將初始對稱密鑰keyic、IEEE地址、初始配置時間和網絡ID加密發送給NC并且C=(keyic||Ad||Tdata||PANID)。NC計算DeECCk(c)得到keyic、Ad、Tdata和PANID后生成index(i)及Ti將該索引項信息存入控制中心合法節點庫中。NC構造m=將發送給CHj。NC生成初始D并將含有該隨機數的信標幀M以周期T0廣播發送到各節點。CHj接收到NC發送的包含有D的信標幀后利用單向函數變換得到自身硬件信息因子H并保存。NC接收到消息m1檢測T3到是否新鮮,檢測通過后驗證簽名的有效性隨后查找索引項index(j),利用當前的D計算硬件信息因子H并提取TLi和Tdata與消息m1中的字段匹配,匹配成功時NC獲取當前時間戳T4并構造消息m2=向CHj發送消息m3=。CHj提取m3的簽名驗證字段,驗證通過時檢測T3T4的合理性然后確定m2來自于NC并更新兩者之間的對密鑰keyid從而完成CHj與NC的雙向認證。
3 測試與分析
為了驗證本方案設計的三種協議對入網性能的影響,設置兩組對比實驗,實驗組一協調器與終端里的協議設置為基于Zigbee自身的協議;實驗組二協調器與終端的協議設置為本方案設計的通信協議協議。將兩組設備分別接入可信路由節點,記錄設備入網成功所用的時間。
實驗組2認證入網成功所用的平均時間略高于實驗組1(相差5ms以內),在用戶體驗時,時延可以忽略,達到了協調器負載均衡的要求。因此本方案設計的安全協議性能達到了預期要求。可知本方案基于多因子安全認證機制的優點,協調器負載率明顯降低,免疫力更強,擴展性更好,具有更高的優越性,相比原有的Zigbee規范中的認證方案,本方案在實現Zigbee節點的認證通信開銷很小,同時有效的減小了協調器負載,提高了綜合性能。既能在安全方面實現設備之間的安全身份認證,又能在性能上滿足用戶的響應時間需要。
4 結語
基于ZigBee網絡以其低功耗、高安全性、網絡節點容量大、低成本等特點必定將受到社會的青睞,本方案針對ZigBee網絡缺乏身份認證以及協調器負載過大,從ZigBee網絡的路由協議方面入手,結合分簇路由協議,并在深入把握ZigBee協議規范和組網技術的基礎上,設計了一種多因子的ZigBee安全認證機制,對簇頭與控制中心、簇頭與終端節點的雙向認證進行了設計。有效解決了ZigBee節點入網認證存在的安全問題,實驗測試與分析結果表明系統設計達到預期要求,有效降低了通信開銷,使協調器達到負載均衡,同時增強了ZigBee節點安全入網認證的性能。
參考文獻
[1]Roszainiza Rosli,Yusnani Mohd Yusoff,Habibah Hashim. Performance Analysis of ID-Based Authentication on Zigbee Transceiver[C]2012IEEESymposium on Wireless Technology and Applications,012.USA:IEEE,2012.
[2]LeeKyunghwa,LeeJoohyun,ZhangBongduk,etal.An enhanced trust center based authentication in ZigBee networks[C].Advances in Information Security and Assurance,LectureNotes in Computer Science,Seoul,2009,5576:471-484.
[3]楊同豪,郁濱.基于身份的ZigBee節點認證方案[J].計算機工程與設計, 2012,11:1000-7024(2012)11-4127-04
篇8
關鍵詞ZigBee協議;網絡;IEEE802.15.4;路由算法;Tree路由;Z-AODV路由
1概述
ZigBee技術是由英國Invensys公司、日本三菱電氣公司、美國摩托羅拉公司以及荷蘭飛利浦等公司在2002年10月共同提出設計研究開發的具有低成本、體積小、能量消耗小和傳輸速率低的無線通信技術。
2000年12月,IEEE802無線個域網(WPAN,WirelessPersonalAreaNetwork)小組成立,致力于WPAN無線傳輸協議的建立。2003年12月,IEEE正式了該技術物理層和MAC層所采用的標準協議,即IEEE802.15.4協議標準,作為ZigBee技術的網絡層和媒體接入層的標準協議。2004年12月,ZigBee聯盟在IEEE802.15.4定義的物理層(PHY)和媒體接入層(MAC)的基礎上定義了網絡層和應用層,正式了基于IEEE802.15.4的ZigBee標準協議。
2網絡層的研究
ZigBee技術的體系結構主要由物理層(PHY)、媒體接入層(MAC)、網絡/安全層以及應用框架層組成,各層之間的分布如圖1所示。
圖1ZigBee技術協議組成
PHY層的特征是啟動和關閉無線收發器、能量檢測、鏈路質量、信道選擇、清除信道評估(CCA)以及通過物理媒體對數據包進行發送和接收。MAC層可以實現信標管理、信道接入、時隙管理、發送確認幀、發送連接及斷開連接請求,還為應用合適的安全機制提供一些方法。它包含具有時間同步信標的可選超幀結構,采用免碰撞的載波偵聽多址訪問(CSMA-CA)。安全層主要實現密鑰管理、存取等功能。網絡層主要用于ZigBee的LR-WPAN網的組網連接、數據管理等。應用框架層主要負責向用戶提供簡單的應用軟件接口(API),包括應用子層支持APS(ApplicationSub-layerSupport)、ZigBee設備對象ZDO(ZigBeeDeviceObject)等,實現應用層對設備的管理,為ZigBee技術的實際應用提供一些應用框架模型等,以便對ZigBee技術的開發應用。
網絡層的定義包括網絡拓撲、網絡建立、網絡維護、路由及路由的維護。
2.1ZigBee的網絡拓撲結構
ZigBee定義了三種拓撲結構:星型拓撲結構(Star),主要為一個節點與多個節點的簡單通信設計;樹型拓撲結構(Tree),使用分等級的樹型路由機制;網格型拓撲結構(Mesh),將Z-AODV和分等級的樹型(Tree)路由相結合的混合路由方法。三種拓撲結構如圖2所示。
圖2網絡的三種拓撲結構
ZigBee定義了三種設備類型:ZigBee協調器(ZigBeeCoordinator,ZC),用于初始化網絡信息,每個網絡只有一個ZC;ZigBee路由器(ZigBeeRouter,ZR),它起監視或控制作用,但它也是用跳頻方式傳遞信息的路由器或中繼器;ZigBee終端設備(ZigBeeEndDevice,ZED),它只有監視或控制功能,不能做路由或中繼之用。
在IEEE標準中,ZED被稱為精簡功能設備(Reduced-FunctionDevice,RFD),ZC和ZR被稱作全功能設備(Full-FunctionDevice,FFD)。
2.2網絡層路由算法的分析
網絡層支持Tree、Z-AODV、Tree+Z-AODV等多種路由算法。
2.2.1AODV路由協議
DSDV(destination-sequenceddistance-vector)協議是一個基于傳統的BellmanFord路由機制的表驅動算法,被認為是最早的無線自組網絡路由協議。DSDV在傳統的distance-vector算法的基礎上采用了序列號機制,用于區分路由的新舊程度,防止distance-vector算法可能產生的路由環路。DSDV采用時間驅動和事件驅動技術控制路由表的傳送,即每個移動節點在本地都保留一張路由表,其中包括所有有效目的節點、路由跳數、目的節點路由序列號等信息,目的節點路由序列號用于區別有效和過期的路由信息以避免環路的產生。
DSR(dynamicsourcerouting)協議是最早采用按需路由思想的路由協議,包括路由發現和維護兩個過程。它的主要特點是使用了源路由機制進行數據包轉發。
AODV(ad-hocon-demanddistancevector)協議在DSDV協議的逐跳路由、序列號、定期廣播機制基礎上,加入了DSR的按需路由發現和維護機制。
AODV在每個中間節點隱式保存了路由請求和應答的結果,并利用擴展環搜索(expandingringresearch)的辦法限制搜索發現目的節點的范圍。AODV支持組播功能,支持QoS,而且AODV使用IP地址,便于同Internet連接。但AODV基于雙向信道的假設,路由應答數據包直接沿著路由請求的反方向回溯到源節點,因而不支持單向信道。與DSDV保存完整的路由表不同的是,AODV通過建立按需路由來減少路由廣播的次數,這是AODV對DSDV的重要改進。與DSR相比,AODV的好處在于源路由并不需要包括在每一個數據包中,這樣會降低路由協議的開銷。AODV是一個純粹的按需路由協議,那些不在路徑內的節點不保存路由信息,也不參與路由表的交換。
2.2.2Z-AODV能量平衡路由
在ZigBee路由規范中沒有過多的考慮能量控制,但是對于adhoc無線網絡來說,能量控制非常重要。因此提出了能量控制策略來改進ZigBee路由。它將使節點避免用盡所有能量以至于過早的失去作用。當節點想要選擇路徑時,它將考慮路徑上的節點的剩余能量。
Z-AODV算法是針對AODV(Adhoc按需距離矢量路由協議)算法的改進,AODV是基于序列號的路由,它總是選擇最新的路由。Z-AODV是基于路徑的能量消耗的路由,考慮到節能、應用方便性等因素,簡化了AODV的一些特點,但仍保持AODV的原始功能。
在路由選擇和路由維護時,ZigBee的路由算法使用了路由成本的度量方法來比較路由的好壞。假定一個長度為L的路由P,則它的路由成本為:為:
其中,表示從節點Di到節點Di+1的鏈路成本。對于鏈路l,鏈路成本可按照下面的表達式計算:
其中,pl為鏈路l中發送數據包的概率。
在ZigBee規范中沒有涉及到pl的具體計算方法。pl可通過實際計算收到的信標和數據幀來進行估計,即通過觀察幀的響應序列號來檢測丟失的幀,這就通常被認為最準確地測量接收概率的方法。但是,對于所有的方法來說,最直接和有效的方法就是基于IEEE802.15.4的MAC層和PHY層所提供的每一幀的LQI通過平均所計算的值。即使使用其他方法,最初的成本估計值也是基于平均的LQI值。可以根據驅動函數表來映射平均LQI值與C﹛l﹜值的關系(見表1)。
表1LQI值與鏈路成本的關系
能量平衡運算要考慮許多因素來選擇路由。這些因素包括臨近節點的能量、節點自身的能量和鏈路質量。剩余能量Elocal可以在每一個ZigBee幀中的保留域發送,這樣每個節點都能得到它的鄰居節點最新的能量分配﹛E1,E2…En﹜。
2.2.3樹型(Tree)路由
樹型路由機制包括配置樹型地址和樹型地址的路由。當協調器建立一個新的網絡,它將給自己分配網絡地址0,網絡深度Depth0=0。如果節點(i)想要加入網絡,并且與節點(k)連接,那么節點(k)將稱為節點(i)的父節點。根據自身的地址Ak和網絡深度Depthk,節點(k)將為節點(i)分配網
絡地址Ai和網絡深度Depthi=Depthk+1。網絡深度表示僅僅采用父子關系的網絡中,一個傳送幀傳送到ZigBee協調器所傳遞的最小跳數。ZigBee協調器自身深度為0,而它的子設備深度為1。
圖3為ZigBee樹型結構。參數nwkMaxChildren(Cm)表示路由器或協調器在網絡中允許擁有子設備數量的最大值。參數nwkMaxRouters(Rm)表示子節點中路由器的最大個數,而剩下的設備數為終端設備數。
圖3ZigBee樹型結構
一個新的RFD節點(i),它沒有路由能力,它與協調器連接作為協調器的第n個子節點。根據它的深度d,父節點(k)將為子節點(i)分配網絡地址:
Ai=Ak+Cskip(d)·Rm+n其中1≤n≤(Cm-Rm)
如果是新的子節點FFD,它有路由能力,父節點(k)將給它分配網絡地址:
Ai=Ak+1+Cskip(d)·(n-1)
其中,
否則,參數nwkMaxDepth(Lm)表示網絡的最大深度。
假設一個路由器向網絡地址為D的目的地址發送數據包,路由器的網絡地址為A,網絡深度為d。路由器將首先通過表達式:
A<D<A+Cskip(d-1)
判斷該目的節點是否為自己的子節點。如果目的節點是自己的子節點,則下一跳節點的地址為:
否則,下一跳節點是該路由器的父節點。
2.2.4Tree+Z-AODV路由算法的分析
根據上文對Tree和Z-AODV兩種路由算法的分析,在我們的ZigBee網絡中將二者結合,使用Z-AODV和分等級的樹型(Tree)路由相結合的混合路由方法,構成網格型拓撲結構(Mesh)的網絡。
具體實現方法是在數據幀幀頭的DiscoverRouter域指定路由。該域可以是如下三種值:
⑴抑制路由發現:它使用已經存在的路由表。當路由表中沒有相應的目的節點的地址時,參數nwkUseTreeRouting的值為TRUE,網絡將使用樹型路由。
⑵使能路由發現:如果在路由表中有路由地址,將按照該路由表進行路由。否則,路由器將使用Z-AODV路由算法初始路由發現。如果該節點沒有初始路由發現的能力,它將使用樹型路由。
⑶強制路由發現:不管是否有相應的路由表,節點都強制使用Z-AODV路由算法初始化路由發現。
在ZigBee規范中提出了將AODV和Tree路由混合的路由機制。但在ZigBee規范中并沒有說明如何配置參數來選擇路由策略,沒有使兩者平衡的設計方法。根據上面Tree路由和Z-AODV的分析,我們提出了基于數據特性的路由方法,即在兩種路由算法構成的網格型網絡中,根據節點間傳輸數據特性的不同,通過設置數據幀幀頭的DiscoverRouter域,選擇不同的路由方法。對于捆綁型的連續數據,ZigBee應用層應選擇使用使能路由的方法。即采用Z-AODV路由首先建立路由發現,然后選擇跳數少的路由,成為最佳路徑;對于爆發型的不連續數據則使用抑制路由發現的方法,即在路由表中沒有響應的目的節點的地址時,采用Tree路由方法。因為這種路由不需要建立路由表,因此對傳輸的數據響應較快。
圖4為節點接收到上層或其他節點發送的數據包時,網絡層處理程序的流程圖。
圖4路由算法流程圖
2.3總結
Tree路由是一種由網絡協調器展開生成樹狀網絡的拓撲結構,適合于節點靜止或者移動較少的場合,屬于靜態路由,不需要存儲路由表。樹型路由對傳輸數據包的響應較快,因為樹型路由不需要建立路由表。其缺點是所選擇的路由并非是最佳的路由,不能獲得最小路由。樹型路由適用于爆發型的數據傳輸。
Z-AODV需要首先建立路由發現,然后選擇跳數少的路由,成為最佳路徑。Z-AODV適用于連續的數據傳輸。
在ZigBee規范中,設計了Z-AODV和Tree路由混合的路由策略,這里我們提出了基于數據服務的ZigBee路由選擇策略。根據上述分析可以看出,這種路由選擇機制在網絡性能和低功耗方面有明顯的優勢;并且根據能量控制機制,可以有效地平衡節點能量,避免節點耗盡能量而過早地失去作用。
3ZigBee模塊硬件設計
模塊集無線收發器、微處理器、存儲器和用戶API等軟硬件于一體,可實現1.0版ZigBee協議棧的功能。
圖5ZigBee模塊框圖
圖5是模塊的硬件框圖,射頻芯片采用Chipcon公司生產的符合IEEE802.15.4標準的模塊CC2420;控制射頻芯片的微處理器可以根據需要選擇Atmel公司的AVR系列單片機或者SiliconLabs公司的8051內核單片機。單片機與射頻芯片之間通過SPI通信。單片機與外部設備之間通過串口通信,單片機自帶若干ADC或者溫度傳感器,可以實現簡單的模數轉換或者溫度監控。為了方便代碼移植到不同的硬件平臺,模塊固件采用標準C語言編寫代碼實現。
參考文獻
[1]蔣挺,趙成林.紫蜂技術及其應用[M].北京:北京郵電大學出版社,2006
[2]ZigBeeSpecification.ZigBeeAlliance[R],2006
[3]IEEE.IEEEstandards8021.15.4[R];2003
篇9
關鍵詞:無線傳感器網絡 ZigBee技術 IEEE802.15.4協議
中圖分類號:TN929.5;TP212.9 文獻標識碼:A 文章編號:1007-9416(2015)11-0000-00
Abstract: ZigBee technology is a new and emerging low power technology which is the most closely integrated with the wireless sensor network. This paper analyzes the characteristics of ZigBee technology and the network topology of ZigBee, and studies the architecture of ZigBee protocol stack, the hardware platform of wireless sensor based on CC2530 chip, and the process and application of wireless sensor network based on ZigBee technology.
Key words: Wireless sensor network;ZigBee;IEEE802.15.4 treaty
1 引言
無線傳感器網絡(WSN)是一種融合了微電子、嵌入式計算、現代網絡及無線通信、分布式信息處理等先進技術的網絡,由大量廉價無線傳感器組成。并且這種網絡不采用基站或交換機作為中轉,又常常被人稱為Ad-Hoc網絡[1],是一種特殊的多跳移動無線網絡。目前用于無線傳感器網絡的主要網絡技術有Bluetooth、ZigBee、Wi-Fi、以及IrDA等。其中,ZigBee技術以其組成的無線傳感器網絡體積小、成本低、功耗低、結構簡單、放置靈活、擴展方便、安全可靠[1]等特點成為無線通信應用的首選技術。因此,探討基于ZigBee技術的無線傳感器網絡實現方案具有重要的實用價值。
2 ZigBee技術
ZigBee在中國被譯為“紫蜂”,其突出特點是支持低成本、低功耗、可靠的數據傳輸、網絡容量大、各層次的安全性、易于實現等。
在ZigBee無線網絡中,網絡拓撲結構大概有3種類型:星狀網絡結構、串狀網絡結構、網狀網絡結構[2]如圖2所示。在這之中,每個節點的功能都不一樣,有的充當協調器節點,有的充當路由節點,有的則充當終端節點。
ZigBee協議框架[3]是建立在IEEE802.15.4標準之上的。IEEE802.15.4標準滿足國際標準組織開放系統互連參考模式,定義了ZigBee的物理層(PHY)和媒體訪問控制層(MAC);ZigBee聯盟則定義了協議的網絡層(NWK)、應用層(APL)和安全服務規范如圖2。這其中ZigBee技術標準包括兩個物理層:一個是全球通用的通信信道為16個的2.4GHz頻段,其傳輸速率為250kbps另一個是美國的915MHz和歐洲的868MHz頻段頻段,信道分別為10個和1個,傳輸速率分別為40kbps和20kbps。
3 無線傳感器網絡的構建
本文采用CC2530芯片構建無線傳感器網絡,CC2530芯片是一款完全兼容8051內核,同時支持IEEE802.15.4協議的2.4GHz無線射頻芯片[4]。最大擁有256K可編程FLASH容量,12個10位精度的A/D轉換通道,21個雙向的I/O端口,由它構成一個微型化的嵌入式系統的無線傳感器網絡節點,節點硬件組成如圖3,可以看出硬件由CC2530芯片上系統收發模塊、電源模塊、接口模塊及傳感器模塊等。節點的軟件包括終端數據采集、實現ZigBee協議棧以及無線通信軟件等。
4 ZigBee無線傳感器網絡的組網過程
在一個ZigBee網絡中,只有協調器節點可以建立網絡。協調器具有允許設備加入網絡和離開網絡的功能,并給設備分配內部網絡地址,維護鄰居表等。建立一個新網絡首先是協調器節點的應用層調用NLME-NETWORK-FORMATION.request原語來實現,然后向網絡層發出建立網絡的請求,網絡層收到這個請求之后,便向下層的MAC層發出信道能量掃描的要求,MAC層便調用MLME-SCAN.request原語找到信道能量低于設定能量值的可用信道,然后在可用信道中搜尋ZigBee設備。找到了合適的信道后,便將隨機選擇一個PAN,它是可以識別一個特定ZigBee網絡的標識號,不與原來的沖突,如果沒有找到,也通過原語告訴上層結果;如果找到了,就通過原語在MAC層注冊這個ID號,作為新建立的無線網絡的網絡號,并發送MLME-START.request原語,獲取PAN ID和信道掃描結果,并通過confirm原語發送給上層。收到PAN開始的狀態,NLME將告知應用層它要求的建立網絡的狀態,這通過NLME-NETWORK-FORMATION.confirm原語來實現[5]。如圖4就是協調器建立網絡過程圖。
ZigBee協調器節點建立網絡后,路由節點或終端節點可以加入該網絡。加入方式有兩種:第一種關聯方式,當某設備希望加入網絡成為一個子設備時,應用層向網絡層發送一個NLME-NETWORK-DISCOVERY.request原語。然后網絡層再向MAC層發送服務請求開始信道掃描。根據掃描網絡的結果,選擇一個網絡加入。向網絡層發NLME-JOIN.request原語。MAC層發送MLME-ASSCIATE.confirm原語向網絡層報告連接情況。另外一種連接方式是子設備以直接方式加入網絡。這種情況,網絡協調器事先已保存了子設備的64位擴展地址。開始加入網絡時,網絡層的上層向網絡層發送一個叫NLME-DIRECT-JOIN.request原語,這個原語中包含了一個64位的擴展地址,網絡層接收到這個原語,就會檢查自己的鄰居表,是否在鄰居表中發現與這個64位地址相匹配的值。如果發現,網絡層管理實體就會禁止這個原語。如果沒有找到與這個64位地址相匹配的值,網絡層將本網絡內的唯一的16位短地址分配給這個子設備。
5 結語
基于ZigBee技術的無線傳感器網絡成本低、功耗低、性能高。本文所采用的基于CC2530無線傳感網絡系統設計方案不失為一種較為高效、節能、抗干擾能力強的廉價組網方案。像例如環境的監測和保護、醫療護理、目標跟蹤、工農業的數據采集等等,基于ZigBee技術的無線傳感器網絡將得到越來越多的關注與應用。
參考文獻
[1]劉瑞霞,李春杰,郭 強.基于ZigBee 網狀網絡的分簇路由協議[J].計算機工程,2009,35(3):161-163,181.
[2]施承.基于ZigBcc協議的無線傳感器網絡關鍵技術的研究和實現[D].東南大學碩士論文,2006.
[3]張維勇,馮琳,魏振春.ZigBee實現家庭組網技術的研究叨.合肥工業大學學報,2005,28(7):75 5-759.
篇10
ZigBee技術在WSN(無線傳感器網絡)和物聯網應用的提出已經有很多年了,并且ZigBee在智能化信息管理、電子收費系統、自動化控制監測和軍用智能無人機器方面有廣闊的市場前景。
WSN網絡和物聯網通信技術的不成熟、軟硬件標準的不統一,信息安全方面特別是信息安全技術的敏感性和各個研發單位的安全技術保密的不成熟,而ZigBee網具有很強的安全、穩定性能,可以有效的解決這一難題。
由于ZigBee無線網應用極其廣泛,選取POS收費系統應用作為具體研究對象,而且將ZigBee技術應用在POS收費系統上本身也是個研究前沿。所以,對確立在STM32單片機基礎上,基于ZigBee無線網絡的POS機信息安全問題進行整體的初步探討,以期起到拋磚引玉的作用。
1 基于ZigBee無線網的POS系統信息安全環境
1.1 ZigBee網POS系統環境配置
具有安全特性的高性能、低功耗、自組網的ZigBee組網是當今WSN和物聯網RFID技術組合的主流高新技術之一,相比藍牙、Wi-Fi和GPRS,ZigBee組網更具有特別的安全性;而STM32單片機高效能、高可靠、低成本和技術成熟,還可以實現51單片機不能完成的復雜功能用途,是很有發展前途的一款單片機。
因此,STM32單片機是安全、穩定的ZigBee組網節點的恰當選擇。μC/OSⅡ操作系統具有執行效率高、空間占用小、多任務、可擴展能力強和穩定可靠的特點,符合WSN的信息安全穩定工作要求。
建立在STM32單片機、ZigBee組網和μC/OSⅡ操作系統基礎上的軟硬件系統是建立低成本、高可靠、高安全的無線網的必要條件。將無線網絡信息安全建立在使用STM32單片機、基于ZigBee組網和μC/OSⅡ等實時操作系統上的POS系統環境,相比建立在基于51單片機裸機上的ZigBee組網的POS系統環境,安全度更高更可靠。
1.2 ZigBee無線網的安全特性
ZigBee無線網是一種短距離、低功耗、自組網和高安全性的高新無線通信網絡,由一個高性能的FFD(全功能節點)和多個的RFD(精簡功能節點)組成PAN(私人用局域網)。只能有FFD建立PAN網,由多個PAN網建立整個ZigBee組網。
萬一有FFD被擊毀,可以由臨近有效范圍的FFD自動重新組網;當孤立的RFD不在FFD范圍內,可以通過其他附近的FFD加入PAN網,靈活性和穩定性很高。由于ZigBee無線網的有群集性多跳性,定位節點位置是技術難題,就需要再組合GPS應用模塊進行補充,
1.3 ZigBee無線網安全的關鍵技術
ZigBee的無線通信安全的關鍵是通信協議,ZigBee協議規范提供了信任中心、網絡層安全和APS層安全,不提供鏈路層安全。ZigBee遵守IEEE802.15.4協議,并可以在簡單的IEEE802.15.4協議基礎上開發簡單的WSN應用協議,用于建立小規模簡易局域網如星型網。
甚至在此基礎上自行開發大規模復雜的協議棧,比如用于智能家居自動監控系統的Mesh網。還可以創新多種功能的應用程序和系統軟件。我們甚至可以把開發出來的有安全保護的協議棧固化到芯片中去,使用AES協處理器實現信息的硬件加密加速的功能,而我們的軟件只需要設計一個自己的API接口就行。
1.4 ZigBee無線網的POS系統信息安全架構
針對ZigBee組網的POS系統信息安全問題,從上層到底層可分為:操作安全、網絡安全、軟件算法安全、底層硬件安全。操作安全要求有一套嚴格的操作規章制度,禁止未授權人非法使用、越權使用。網絡安全要求網路的安全,包括接入點安全和網絡協議族安全。軟件算法安全最重要也很復雜,包括各種加解密算法安全、電子簽名和身份認證。底層硬件安全包括、POS機安全和意外安全。
2 基于ZigBee無線網的POS系統軟件算法安全及算法比較
身份認證可以使用不對稱加密算法和對稱加密算法,一般應使用不對稱加密的RAS算法。使用預定好的密鑰進行身份認證,身份認證成功后,對存儲器的任何操作都是加密的。身份認證共有三輪,如圖,流程為: 第一輪:a) 讀寫器指定要訪問的存儲區,并選擇預定密鑰A 或B。b) 射頻卡從位塊讀取密鑰和訪問條件。然后,射頻卡向讀寫器發送隨機數。
第二輪:c) 讀寫器利用密鑰和隨機數計算回應值。回應值連同讀寫器的隨機數,發送給射頻卡。d) 射頻卡通過與自己的隨機數比較,驗證讀寫器的回應值,再計算回應值并發送。
第三輪:讀寫器通過比較,驗證射頻卡的回應值,正確后才能對卡進行讀寫操作。這樣認證加密后,就有效的保護了個人隱私。身份認證成功后,讀寫器/芯片指定后續讀取的存儲器位置,數據加密采用TEA、DES、AES等。為保證終端設備的安全,必須一卡一碼,并且每次只能對一張卡操作。認證完成后才能進行卡的讀寫操作,每次只能有一張卡選中,獲得認證后進行讀寫操作,其他的卡則進入休眠態,以保證不會出現由串卡現象引起的誤操作。射頻卡讀寫器的安全軟件由生產商配備,并且通常要固化到硬件。
RSA算法的難度在于如何產生密鑰對,RSA生成公鑰的方法:任意選兩個大素數M、N,選擇一個加密密鑰E,使E不是(M-1)和(N-1)的因子;
生成私鑰D的公式:(D*E)MOD(P-1)*(Q-1)=1;
用公鑰E加密公式:CT=PTEMOD(M*N);
用私鑰D解密公式:PT=CTDMOD(M*N)。
在ZigBee網中,對于敏感性信息的安全保護沒有太高要求的應用領域,在32位CPU或MPU處理器主頻80Mhz情況下,使用對稱加密方法的DES,加解密的速度為26.75Mbyte/s, 加解密的速度水平較高。如強化安全性能可以升級為更先進對稱加密方法的AES,如使用AES加解密,加解密的速度11.69Mbyte/s, 加解密的速度水平中等,比前者慢。
在ZigBee網中,對于敏感性信息的安全保護有很高要求的領域,特別是在財務、金融和軍用領域,必須要保證身份認證和數據信息的絕對安全。所以,算法必須使用復雜加密方法RSA,并配合數字簽名。在32位CPU或MPU處理器主頻80MHz情況下,1M的 RSA 簽名次數 32 次/秒,認證次數 32 次/秒,正所謂慢工出細活。
RSA使用公鑰密鑰對機制,再配合數字認證可避免中間人攻擊,這對于開放性更強的無線網絡尤為重要。如果采用對稱密鑰算法,密鑰容易被入侵者截獲,對收發雙方進行欺騙并非法獲利。并且RSA伸縮性更好,所需密鑰數與消息交換參與者個數相等。
而對稱加密算法容易受到中間人攻擊,密碼會被盜用;并且一旦網絡規模加大,密鑰對的數目的需求成指數級別增長,是消息交換參與者個數的平方,在密鑰發放過程中很容易泄密。因此,身份認證應采用安全度更高但速度慢的RSA;經常大量的數據包加密采用速度快的DES或AES,并可用ZigBee節點自帶的AES協處理器進行硬件加速。若要進一步加速數據包加解密速度,可以將主節點與上位機的串行數據接口改為高速的USB接口,就可加快加解密速度。以下簡述AES的應用程序設計。
3 POS系統的ZigBee網絡安全
在TCP/IP各層數據安全中,ZigBee的網絡數據信息安全的數據安全主要特點有:非法網絡節點的過濾和無線網信息加密,可有效避免網絡的非法入侵。通過IEEE802.15.4協議棧的應用庫,例如如在基于MAC協議棧的MAC庫API上,通過建立PAN網,每個PAN都有獨有的PAN地址ID,這樣就可通過PAN網ID和節點ID過濾來區分ZigBee網節點的合法性。在發送和接收數據包過程中,通過AES算法來加密來實現數據的信息安全。
據最新報道,AES加密算法已被國外頂尖專家破解,但是也不必驚慌,對于絕大多數情況下,附加其他綜合安全措施,它目前還是很安全。AES高級加密標準(Rijndael算法)明文分塊和密鑰為可變長,加密的輪數為可變次,每一輪4步:第一步:使用S盒技術進行字節替換。
第二步移行,第一行不變,其他的行移動可變次數。第三步混合列。第四步,輪密鑰加法,將密鑰與輸入的字符進行字節異或操作。其中的可變部分由用戶自行確定后,生成的密文更難破譯。
此外,網絡接入點的防火墻也很重要,防火墻保護可信任內部網絡免受不可信網絡的入侵威脅,能極大地提高政府部門、企業內部網絡的信息安全,同時允許信任的雙方通信,并通過過濾不安全的網絡服務而降低風險。
ZigBee無線網的接入點也必須要有完備的防火墻設置,采用路由器相互認證、地址翻譯等方法,方可有效防止假冒的路由器接入內網和非法截取私有敏感數據,以確保無線網的信息安全。
在以STM32單片機為節點的ZigBee無線網,可加載GPS衛星定位模塊,將關鍵的可讀寫的FFD節點中嵌入GPS模塊并且全部定好位,并將地址上傳到主控機節點,而執行多跳的RFD節點不加載GPS模塊,以減少信息安全成本。這樣,凡是不在正確的GPS位置的非法入侵FFD節點一律無法加入ZigBee網并且會導致啟動入侵報警程序。
4 POS系統硬件安全
由于是無線網,ZigBee網的安裝和POS機入網離網非常方便,易于隨身攜帶,比固定POS機好保管、防盜。在POS機內置高容量緩存,可暫時保存網絡通信延遲信息。內置后備供電池,防止突發停電。配置后備存儲器,暫時斷網后可脫機保存消費信息。
5 結束語
基于ZigBee無線網的POS系統信息安全不僅要有嚴密的安全算法,健全的軟、硬件和網絡安全環境也起了不可替代的作用。此外,無線網信息安全應當考慮到加解密算法的安全性能、成本和時間的平衡點,尋求安全、低價和快速的實施方案。有有效的方法就是:首先,身份認證采用安全度更高但速度慢的RSA算法,極度敏感數據采用加載GPS模塊的STM32單片機來定位入侵;
其次,經常大量的數據包加密采用安全度較低但速度快的AES算法,并采用低價、高效和低功耗的STM32單片機為節點的ZigBee無線網,使用AES協處理器加速加解密處理;
第三,ZigBee無線網組網的FFD節點加載GPS定位模塊,并登記GPS地址到主控機,解決ZigBee節點的準確定位問題,防止非法節點冒名頂替和準確定位入侵者。 最后,ZigBee無線網的接入點必須采用防火墻。只有軟硬件互相配合和嚴格的安全管理,才能保證基于ZigBee無線網的POS系統信息安全萬無一失。