利用ZigBee技術開發物聯網應用系統,ZigBee網與以太網之間的數據傳輸系統是掌握應用系統開發主動權的重要研究對象。文中介紹了ZigBee網與以太網之間基于異構網絡數據傳輸系統的概況,探討了監控系統中ZigBee網與以太網數據傳輸機制的過程,以及ZigBee網與以太網間數據幀轉換及交互的實現。
ZigBee是基于IEEE802.15.4標準的一種低速率、短距離的無線網絡傳輸技術。其應用簡單,適用于數據采集量小,數據傳輸的速率相對較低,以及分布范圍有限的情況下。只要保證不斷電其對數據的安全性是可靠的,在這些條件下,其有一個顯著的特點就是成本和功耗較低,且容易安裝并無需頻段注冊。在目前標準眾多短距離無線傳輸的通信領域中,ZigBee的發展速度遠超過了其他類的無線傳輸技術。ZigBee不僅在工業、軍事、農業等領域而且在日常生活中應用廣泛,對現代化的生活具有較高的應用價值。本文對ZigBee網絡和以太網絡間異構數據傳輸過程進行了研究。
1系統總體設計
ZigBee是短距離、低耗、低復雜度的雙向無線傳輸技術,它可嵌入各種相關設備以提高監控的應用范圍。要運用其來開發應用系統,必須揚長避短地應用ZigBee技術。無線傳輸系統的信號采集工作通過ZigBee網絡中的傳感器節點進行,傳感器網絡的節點數量可達成千上萬,眾多傳感器協同工作,自組網多點路由地傳輸數據,實現多方位、廣范圍地采集準確數據。這些大量的傳感器節點作為ZigBee節點的一員組成了系統的ZigBee傳感器網絡。無線傳輸系統利用ZigBee無線傳感器網絡將采集來的信號變為電信號,再經過模/數轉化,將其信號儲存于數據存儲器中,并通過無線收發器發射到網絡無線網關,網關再通過對數據進行ZigBee方式的解包和按照以太網傳輸模式再次打包的方式上傳送以太網,從而完成ZigBee網數據到以太網的整個轉換、傳輸和交互過程,系統結構如圖1所示。
整個數據傳輸系統分為3部分,其中ZigBee傳感器網絡和網關是實現兩種異構網絡進行數據傳輸的重要環節。其兩部分包括處理整個數據傳輸系統的微處理器和用于進行數據儲存的存儲器,以及連接網絡的網絡接口等硬件設備。
2系統硬件設計
2.1 ZigBee網節點的設計
ZigBee網絡是由相當量的節點組成,每個自帶電源的ZigBee節點均有可在需要時自主的進行數據的采集、簡單融合和數據信息發送等功能。 ZigBee傳感器網絡這種多節點的網狀拓撲結構,使得每個節點都發揮著路由器或者中繼的作用,由于每個節點的作用增強從而使整個網絡范圍也成倍的擴大。在ZigBee傳感器網絡中,為獲取大量的數據信息,通常在監測區域內布置了大量的傳感器節點。由于各種因素造成節點存在復雜的不確定性,這就要求傳感器節點具有自組網的能力,自動路由轉發監測的數據。然而作為節點的通信距離有限,節點也需作為一個中間節點進行路由來達到與之范圍內以外的節點通信。眾多傳感器節點采用部分拓撲結構,也在較大程度上擴寬了節點的通信范圍。這就使ZigBee節點的路由能力增強。
節點采集數據完畢后,要進行處理和存儲,需要通過微處理器和存儲器的協作。而數據的收發則通過節點中的RF收發單元完成。所以一般傳感器網絡中的ZigBee節點可由傳感器單元、處理單元、RF收發單元、存儲單元以及電源單元等模塊組成,其結構如圖2所示。
ZigBee無線傳感網絡節點在微處理單元的控制下進行數據的采集、處理、接收和發送。各個模塊的功能分別為:
(1)傳感器單元的功能是進行數據采集。把采集到的信號轉化為電信號,通過A/D接口在微處理單元的控制下進行模/數轉換,將電信號轉化為數字信號。根據采集環境的不同選擇相應的傳感器。
(2)ZigBee的RF收發單元通過SPI接口和微處理器MCU進行交互,從而完成與其他節點間數據的收發和控制信息的交換。而收發單元芯片一般選用CC2420這款RF收發器件,因為CC2420的選擇性和敏感性指數超過了IEEE802.15.4標準的要求,可確保短距離通信的有效性和可靠性。利用該芯片開發的無線通信設備支持數據傳輸率高達250 kbit.s-1可以實現多點對多點的快速組網。
(3)存儲單元則是用來存儲處理過后的采集數據,便于重新打包發送。
(4)電源是ZigBee節點能否生存的關鍵,微處理部件顯而易見成為了執行命令的發起者與協調者,起到了中樞系統的作用。
2.2網關
ZigBee網采集的數據信息靠自身的能力是不可能將數據信息傳輸與監測中心的上位機,重要途徑是通過以太網絡而到達目的地,ZigBee網和以太網是兩個異構網絡,其之間不能進行直接數據交換傳輸,網關起著網絡傳輸紐帶的作用。網關的設計主要由處理芯片與以太網控制芯片兩部分結合以達到不同網絡間數據傳輸的效果。網關結構框圖如圖3所示。
網關的主要作用分為ZigBee網接收和以太網發送兩部分:
(1)網關中的ZigBee收發單元接收ZigBee節點采集到的并以數據包形式發送來的數據信息,然后通過串行外圍接口(SPI)發送給MCU,MCU經過處理后解析出有用的ZigBee數據,儲存于存儲單元中。完成ZigBee傳感器網絡與網關的數據通信。
(2)以太網控制芯片RTL8091AS是以太網與網關進行數據交換的控制器。網關解析出ZigBee數據,發送到以太網控制芯片進行數據處理,把數據寫入RTL8091 AS的數據區域,然后對數據進行TCP/IP數據幀封裝,再啟動RTL8091AS發送封裝好的TCP/IP數據幀到以太網進行數據的傳輸交換。
以上兩個步驟完成了數據從ZigBee傳感器網絡到以太網絡的傳遞。反之數據要從以太網絡到ZigBee網絡,則先需要驗證IP地址是否正確,然后上位機發送請求到網關,網關收到請求將TCP/IP數據包解壓,然后解析出有用的數據信息打包成ZigBee數據包,再通過網關中的ZigBee收發單元以無線的方式發送給ZigBee傳感器網絡。這就實現了由以太網絡到傳感器網絡數據包透明轉換和無線傳輸。ZigBee傳感器網絡和網關是本文研究ZigBee網與以太網間異構數據傳輸的重要組成部分,是實現數據傳輸必須的硬件平臺。
3系統數據傳輸軟件設計
對于系統的軟件設計采用監控因事件喚醒模式,這樣ZigBee低功耗的特點得到充分的體現。由于ZigBee網絡中有大量的傳感器節點,采用事件驅動喚醒工作模式說明在運用到該節點時它才進行數據的采集、收發,未使用時處于休息狀態。在發送數據后則需判斷下一個節點是否接收成功,如接收成功則說明此節點在通信范圍內。這就避免了每個節點均工作而帶來的高功耗。另外節點間的通信采用CRE校驗來確保通信的誤碼率在可控安全范圍內。這是ZigBee無線傳感器網絡采用的軟件模式。而對于ZigBee無線傳感器網絡和以太網絡兩個不同網絡間的數據傳輸軟件的整體流程設計如圖4所示。
(1)首先啟動系統并初始化ZigBee網的各個節點,事件喚醒節點采集數據并將其轉化為電信號,然后經過模/數轉換打包為ZigBee數據包,通過ZigBee收發單元發送數據包到網關。網關如接收成功將返回一個成功信息并進行繼續的數據包傳輸處理,直至整個數據傳輸結束。反之不成功,程序就返回到繼續發送ZigBee數據包,直至完成整個傳輸規定的次數同時報錯。
(2)網關接收到ZigBee數據包后,經過微處理器的處理,解包出ZigBee數據包中有用的數據,并將其寫入到RTLS019AS芯片控制器中,轉換為TCP/IP數據包,發送給以太網絡。這時如果發送成功,就會返送回一個信息提示操作完畢,否則程序就繼續返回到網關發送數據到以太網絡,直至完成整個傳輸規定的次數同時報錯。
4 ZigBee網協議結構及數據轉換
4.1 ZigBee網絡體系
要研究數據傳輸必須先了解ZigBee網的體系結構,按照OSI模型可分為4層,從下往上分別是物理層、媒體訪問控制層(MAC)、網絡層 (NWK)/安全層和應用層(APL)。其中物理層與MAC層使用的是IEEE802.15.4協議標準,而網絡層和應用層則是由ZigBee聯盟制定的。體系的每一層向它的上面層提供數據服務或管理服務。ZigBee的應用層支持子層(APS)、ZigBee設備對象和制造商定義的應用對象組成。
4.2 ZigBee網絡拓撲
ZigBee支持含有主從設備的星型、樹形和對等型的3種拓撲結構。其中星型網絡中各個節點均需通過協調器節點的轉發,協調器在網絡中起到了網絡管理的作用;樹形網絡中包含協調器節點路由節點跟終端節點,路由節點作用則是完成路由功能,路由節點將信息轉發到協調器節點,通過協調器節點才能將信息傳遞給終端節點;而對于對等型網絡,它的節點彼此相通,每個節點都具有轉發功能,一般對于大面積的監測,可以采用對等網絡的拓撲結構。而星型和樹形網絡則多是用于一對多的短距離數據采集與傳輸上面。
4.3 ZigBee協議結構
ZigBee節點通過路由獲取來自網絡內的多元化采集信息,并自下而上通過各協議層次的規范化進行解析。其轉換途徑為ZigBee網方面的物理層 (PHY)、MAC層→網絡層(NWK)→應用支持子層(APS)、應用層(APL)。為使傳感器所采集的數據上傳至處理中心,網關必須接入以太網,故以太網方面的轉換途徑為應用層→傳輸層(TCP)→地址尋址層(IP)→以太網幀接入層(網卡)。綜上所述網關系統軟件與支撐軟件運行就是各層協議的分別執行,各層協議根據其接入和服務對象的業務與數據要求,按照各層協議的規范與標準,完成業務類型確定、數據格式轉換、數據幀封裝等一系列操作,最終由網卡模塊實現接入功能。協議模型如圖5所示。
4.4網間數據轉換
協議轉換是前提,但根本的作用是實現數據幀在兩個不同類型網絡之間的轉換,要將傳輸的數據幀用兩種協議規則實現各自的轉換方式,并在兩個網絡中進行傳輸。轉換規則和格式各不相同,ZigBee數據幀的解析過程是自下而上通過各種協議層的規范來進行數據幀解析,各層數據幀的格式如圖6所示。
在物理層中脫去本層的同步幀頭和物理層幀頭后,形成上述MAC層的數據單元(MPDU);在MAC層里脫去本層的幀頭和幀尾后又形成網絡層的數據單元(NPDU),在NWK層里脫去本層的幀頭后又形成應用支持子層的數據單元(APDU),在應用支持子層直到應用層解析為原始數據。在以太網中的數據幀形成過程是自上而下通過以太網各協議層的規范來進行數據幀轉換的,過程如圖7所示。
5結束語
隨著物聯網應用的發展ZigBee技術使用范圍越來越廣泛,目前ZigBee技術已成為短距離數據無線傳輸應用中的常用技術,本文將該技術應用于ZigBee網到以太網間的數據傳輸。探討了從ZigBee節點的設計到網關的設計,實現了數據的采集、處理、存儲、傳輸到接收這一系列的過程,成功的實現了兩個不同網絡結構間數據的傳輸。說明了采用Zig Bee技術來實現短距離、低功耗、低成本的傳輸體系,是最佳選擇。通過對數據傳輸系統的進一步研究,對于加速物聯網技術推廣應用,具有重要的現實意義。