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