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