• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      異構(gòu)WSNs通信系統(tǒng)設(shè)計與實現(xiàn)

      2014-12-24 07:23:38張溢斐李小龍
      科技視界 2014年2期
      關(guān)鍵詞:網(wǎng)關(guān)傳感數(shù)據(jù)包

      張溢斐 李小龍

      (重慶郵電大學工業(yè)物聯(lián)網(wǎng)與網(wǎng)絡(luò)化控制教育部重點實驗室,中國 重慶400065)

      0 引言

      近年來,物聯(lián)網(wǎng)發(fā)展迅速,在工業(yè)現(xiàn)場、智能電網(wǎng)、倉儲物流等領(lǐng)域得到了廣泛應用。作為物聯(lián)網(wǎng)的重要組成部分,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是信息通信領(lǐng)域的一個熱點。無線傳感器網(wǎng)絡(luò)包含諸多協(xié)議標準,如ZigBee、6LoWPAN、ISA 100.11a、RFID等,隨著各種技術(shù)的發(fā)展,采用不同傳感網(wǎng)協(xié)議的網(wǎng)絡(luò)在現(xiàn)實生活中相互通信成為一個亟待解決的問題。

      IEEE 802.15.4[1]是一種低功耗、低速率、短距離無線傳輸協(xié)議,描述了低速率無線個人局域網(wǎng)的物理層和媒體接入控制協(xié)議,具有可擴展性,且只規(guī)定了底層,即單一的媒體訪問控制(MAC)層和多樣的物理層,至于MAC以上的協(xié)議,可以采用不同的方案。由此就產(chǎn)生了多種不同的技術(shù),比如ZigBee、6LoWPAN、ISA100.11a等?;赯igBee協(xié)議[2]的應用已經(jīng)遍布于工業(yè)控制、智能測繪、醫(yī)療、家居等各行各業(yè),在技術(shù)的成熟度和產(chǎn)品的市場化方面都要比6LoWPAN更有優(yōu)勢,但是6LoWPAN也有其特有的優(yōu)勢,即6LoWPAN[3]網(wǎng)絡(luò)層采用IPv6協(xié)議,使得6LoWPAN設(shè)備能夠擁有IPv6地址,并在網(wǎng)絡(luò)層面上通信,甚至可以接入互聯(lián)網(wǎng),使互聯(lián)網(wǎng)的應用擴展到物理世界的任意角落。

      本文研究了ZigBee網(wǎng)絡(luò)和6LoWPAN網(wǎng)絡(luò),設(shè)計實現(xiàn)了ZigBee和6LoWPAN這兩種不同傳感器網(wǎng)絡(luò)之間相互通信的異構(gòu)WSNs網(wǎng)關(guān)系統(tǒng),在不改變ZigBee與6LoWPAN協(xié)議的基礎(chǔ)上,成功解決了兩種無線傳感器網(wǎng)絡(luò)間不同協(xié)議互通的問題,對促進異構(gòu)網(wǎng)絡(luò)之間的無縫融合有積極意義。

      1 異構(gòu)傳感網(wǎng)通信系統(tǒng)體系結(jié)構(gòu)

      圖1 異構(gòu)WSNs節(jié)點通信應用場景Fig.1 Heterogeneous WSNs communication scenario

      1.1 網(wǎng)關(guān)通信應用場景

      圖1所示為本文所實現(xiàn)的ZigBee與6LoWPAN傳感器網(wǎng)絡(luò)中異構(gòu)節(jié)點互通的場景。ZigBee網(wǎng)絡(luò)與6LoWPAN網(wǎng)絡(luò)通過本文設(shè)計的一個網(wǎng)關(guān)實現(xiàn)異構(gòu)傳感網(wǎng)節(jié)點間的互通,并可接入IP網(wǎng)絡(luò)與互聯(lián)網(wǎng)上的節(jié)點實現(xiàn)互通。

      1.2 網(wǎng)關(guān)協(xié)議轉(zhuǎn)換模型

      圖2 協(xié)議轉(zhuǎn)換模型Fig.2 Protocol conversion model

      圖2所示是在圖1的具體應用場景中網(wǎng)關(guān)的協(xié)議轉(zhuǎn)換圖。ZigBee網(wǎng)絡(luò)接入模塊與6LoWPAN接入模塊分別通過串口與ARM處理器相連,一起構(gòu)成網(wǎng)關(guān)的整體。ZigBee節(jié)點采集到的數(shù)據(jù)通過無線發(fā)送給ZigBee協(xié)調(diào)器,即ZigBee網(wǎng)絡(luò)接入模塊,解析出數(shù)據(jù)的有效載荷,通過SLIP協(xié)議發(fā)給ARM處理器,轉(zhuǎn)換成IPv6數(shù)據(jù),再通過SLIP協(xié)議發(fā)送給6LoWPAN邊界路由器,即6LoWPAN網(wǎng)絡(luò)接入模塊,繼而轉(zhuǎn)發(fā)給6LoWPAN節(jié)點。

      1.3 網(wǎng)關(guān)功能描述

      網(wǎng)關(guān)由ARM處理器、ZigBee模塊、6LoWPAN模塊組成,ZigBee模塊與6LoWPAN模塊還分別作為ZigBee網(wǎng)絡(luò)的協(xié)調(diào)器與6LoWPAN網(wǎng)絡(luò)的邊界路由器。

      網(wǎng)關(guān)功能主要有:

      (1)基本協(xié)議解析功能,包括ZigBee協(xié)議、6LoWPAN協(xié)議以及IPv6協(xié)議。

      (2)服務(wù)查詢功能,主要通過在網(wǎng)關(guān)建立起一個存儲傳感網(wǎng)節(jié)點EUI-64地址與所提供服務(wù)的服務(wù)表實現(xiàn),節(jié)點向網(wǎng)關(guān)發(fā)送服務(wù)查詢請求命令,網(wǎng)關(guān)向節(jié)點返回服務(wù)查詢響應。

      (3)協(xié)議轉(zhuǎn)換功能。EUI-64地址要轉(zhuǎn)換成IPv6地址,ZigBee數(shù)據(jù)包轉(zhuǎn)換成IPv6數(shù)據(jù)包。

      2 關(guān)鍵技術(shù)

      2.1 服務(wù)注冊及服務(wù)查詢

      2.1.1 服務(wù)注冊

      服務(wù)注冊是將兩個傳感網(wǎng)中所有節(jié)點的EUI-64地址與其所提供的服務(wù)建立映射關(guān)系,將這些服務(wù)和提供服務(wù)的節(jié)點信息存儲在服務(wù)表中,從而使網(wǎng)關(guān)具有服務(wù)查詢功能[5]。

      首先是網(wǎng)關(guān)初始化。ZigBee網(wǎng)絡(luò)和6LoWPAN網(wǎng)絡(luò)采用動態(tài)組網(wǎng)方式自動組網(wǎng),之后ZigBee節(jié)點上傳自身信息給ZigBee協(xié)調(diào)器,包括EUI-64地址、提供的服務(wù)類型(溫濕度檢測、設(shè)備控制等),6LoWPAN節(jié)點同樣上傳信息給邊界路由器,最后ARM處理器匯總信息,建立映射并生成服務(wù)表。服務(wù)表如表1所示。

      表1 服務(wù)表Tab.1 Service table

      2.1.2 服務(wù)查詢

      服務(wù)查詢是傳感網(wǎng)節(jié)點向網(wǎng)關(guān)提出服務(wù)查詢請求,網(wǎng)關(guān)向節(jié)點返回服務(wù)查詢響應。

      為了傳感器節(jié)點能查詢到服務(wù)提供者的EUI-64地址,設(shè)立了服務(wù)代碼表,如表2所示,定義了服務(wù)查詢請求以及服務(wù)查詢響應的數(shù)據(jù)包格式,如圖3和圖4所示:

      (1)服務(wù)代碼表

      把溫度、濕度、一氧化碳濃度等服務(wù)類型分別用以下代碼表示,如表2所示:

      表2 服務(wù)代碼表Tab.2 Service code table

      (2)服務(wù)查詢請求

      圖3 服務(wù)查詢請求數(shù)據(jù)包格式Fig.3 Service query request frame format

      其中,字符“?”為數(shù)據(jù)包的標志位,字符“P”為數(shù)據(jù)包的識別符,字符“1”為要查詢的服務(wù)——濕度。

      (3)服務(wù)查詢響應

      圖4 服務(wù)查詢響應數(shù)據(jù)包格式Fig.4 Service query response frame format

      其中,字符“!”為數(shù)據(jù)包的標志位,字符“P”為數(shù)據(jù)包的識別符,字符“1”為要查詢的服務(wù)——濕度,EUI-64為濕度服務(wù)提供者的EUI-64地址。

      節(jié)點查詢到服務(wù)提供者的EUI-64地址后,就可以構(gòu)造報文發(fā)送到相應節(jié)點了。

      2.2 應用層通信協(xié)議設(shè)計

      ZigBee節(jié)點與6LoWPAN節(jié)點發(fā)送數(shù)據(jù)的時候要把自身的EUI-64地址、查詢得到的6LoWPAN的EUI-64地址以及真正要發(fā)送的數(shù)據(jù)打包放在應用層負載中,因此,應用層數(shù)據(jù)通信協(xié)議就需要包含這些必要信息數(shù)據(jù)。在傳輸過程中統(tǒng)一的數(shù)據(jù)報文格式[6]如圖5所示。

      圖5 應用層數(shù)據(jù)格式Fig.5 Application layer data format

      2.3 SLIP封裝與解封裝

      ZigBee無線模塊與6LoWPAN無線模塊都通過串口與ARM處理器相連,數(shù)據(jù)的傳輸通過串口進行。為了增加Linux主控單元和WSN子網(wǎng)接入模塊之間通信的安全性,在報文傳輸過程中采用SLIP協(xié)議封裝[7],接收數(shù)據(jù)時可以通過SLIP的標志位判斷數(shù)據(jù)是否完整來決定接收或者丟棄,SLIP作為鏈路層協(xié)議直接承載IP數(shù)據(jù)包。SLIP協(xié)議封裝具體格式如圖6所示,將原報文中的字符0xC0替換為0XDB、0xDC,將字符0xDB替換為0xDB、0xDD,解封裝是反之即可,這里不再贅述。

      圖6 SLIP的封裝過程Fig.6 Encapsulation process of SLIP

      2.4 UDP/IPv6數(shù)據(jù)包的封裝與解封裝

      ZigBee數(shù)據(jù)需要轉(zhuǎn)換成IPv6數(shù)據(jù)來與6LoWPAN網(wǎng)絡(luò)通信,且6LoWPAN傳輸層采用UDP協(xié)議,因此UDP/IPv6數(shù)據(jù)包封裝與解封裝必不可少。

      當應用層的數(shù)據(jù)產(chǎn)生后,首先要在傳輸層添加UDP首部,然后在網(wǎng)絡(luò)層添加IPv6首部,最后在數(shù)據(jù)鏈路層添加SLIP首部,生成UDP/IPv6數(shù)據(jù)包的過程如圖7所示。

      ARM板串口接收到ZigBee模塊發(fā)送來的數(shù)據(jù)包,SLIP解封裝后得到應用層數(shù)據(jù),依次取出報文中的各個變量,即ZigBee節(jié)點EUI-64地址、6LoWPAN節(jié)點的EUI-64地址、數(shù)據(jù)包長度、純數(shù)據(jù)。按照IPv6首部、UDP首部、UDP偽首部、UDP校驗和的規(guī)定依次填充各個變量,最終構(gòu)造出UDP/IPv6數(shù)據(jù)包[8]。然后添加SLIP首部后通過串口發(fā)送給6LoWPAN邊界路由器,邊界路由器將IPv6報文壓縮到只含必要內(nèi)容,且能在以IEEE 802.15.4標準為底層協(xié)議的WSN內(nèi)傳輸?shù)男?shù)據(jù)包,之后發(fā)送給目的6LoWPAN節(jié)點。

      6LoWPAN節(jié)點發(fā)送數(shù)據(jù)到ZigBee節(jié)點時,要進行UDP/IPv6數(shù)據(jù)包的解封裝,過程與前面所述相反。

      圖7 UDP/IPv6數(shù)據(jù)包封裝過程Fig.7 Encapsulation process of UDP/IPv6 data packets

      2.5 網(wǎng)關(guān)節(jié)點交互流程

      節(jié)點交互過程主要分為3個階段:網(wǎng)關(guān)初始化階段、服務(wù)查詢階段以及數(shù)據(jù)傳輸階段。圖8所示為ZigBee節(jié)點(A)、異構(gòu)WSNs網(wǎng)關(guān)(B)、6LoWPAN節(jié)點(C)之間的交互流程[9]。主要描述了3個階段中網(wǎng)關(guān)初始化生成服務(wù)表后,由ZigBee節(jié)點發(fā)起服務(wù)查詢請求,網(wǎng)關(guān)返回服務(wù)查詢響應,ZigBee節(jié)點得到目的6LoWPAN節(jié)點地址后,發(fā)送數(shù)據(jù)到6LoWPAN節(jié)點,6LoWPAN節(jié)點接收數(shù)據(jù)的整個過程。

      (1)網(wǎng)關(guān)初始化

      網(wǎng)關(guān)初始化包括網(wǎng)絡(luò)初始化和服務(wù)注冊。網(wǎng)關(guān)啟動后,ZigBee節(jié)點和6LoWPAN節(jié)點分別自動組網(wǎng),建立ZigBee網(wǎng)絡(luò)和6LoWPAN網(wǎng)絡(luò),之后節(jié)點向網(wǎng)關(guān)上傳自己的EUI-64地址和所提供的服務(wù),完成服務(wù)注冊,由此網(wǎng)關(guān)建立起節(jié)點EUI-64地址與所提供服務(wù)的一一映射,存儲ZigBee節(jié)點和6LoWPAN節(jié)點的EUI-64地址及節(jié)點提供的服務(wù)。

      圖8 網(wǎng)關(guān)節(jié)點交互流程Fig.8 Interaction flow of gateway nodes

      圖9 網(wǎng)關(guān)測試系統(tǒng)示意圖Fig.9 Gateway test system schematic diagram

      (2)服務(wù)查詢

      節(jié)點A向網(wǎng)關(guān)B發(fā)起服務(wù)查詢請求,B收到請求后在服務(wù)表中查詢此服務(wù)由哪個6LoWPAN節(jié)點提供,查詢到是節(jié)點C后,把節(jié)點C的EUI-64地址回復給節(jié)點A,于是節(jié)點A就知道了節(jié)點C的EUI-64地址。

      (3)數(shù)據(jù)傳輸

      經(jīng)過上面兩步網(wǎng)絡(luò)初始化和服務(wù)查詢之后,節(jié)點A知道了提供所需服務(wù)的節(jié)點的EUI-64地址,然后構(gòu)造這樣的報文,即把ZigBee的EUI-64地址、6LoWPAN的EUI-64地址加上要發(fā)送的數(shù)據(jù)打包按照ZigBee協(xié)議發(fā)給網(wǎng)關(guān),在網(wǎng)關(guān)處進行如下處理:ARM處理器接收到數(shù)據(jù)包后依次取出ZigBee的EUI-64地址、6LoWPAN的EUI-64地址以及數(shù)據(jù),再調(diào)用UDP/IPv6封裝程序封裝成一個IPv6數(shù)據(jù)包。然后通過串口發(fā)到6LoWPAN邊界路由器的網(wǎng)絡(luò)層,再往下傳送到適配層進行分片、壓縮等處理,傳給MAC層及物理層,通過無線發(fā)送到目的6LoWPAN節(jié)點,至此完成了數(shù)據(jù)從ZigBee節(jié)點到6LoWPAN節(jié)點的全過程。

      3 網(wǎng)關(guān)測試系統(tǒng)搭建

      網(wǎng)關(guān)測試系統(tǒng)示意圖如圖9所示:包括ARM處理器、ZigBee無線通信模塊、6LoWPAN無線通信模塊、ZigBee與6LoWPAN網(wǎng)絡(luò)節(jié)點。ARM處理器采用三星公司的ARM9處理器芯片S3C2440,ZigBee模塊采用CC2530芯片,6LoWPAN模塊也采用CC2530芯片。ARM處理器與兩個無線通信模塊都采用串口相連。ZigBee模塊同時作為ZigBee網(wǎng)絡(luò)的協(xié)調(diào)器,6LoWPAN模塊也同時作為6LoWPAN網(wǎng)絡(luò)的邊界路由器。兩個傳感網(wǎng)節(jié)點通過無線方式發(fā)送數(shù)據(jù)給ZigBee模塊和6LoWPAN模塊。

      3.1 ZigBee網(wǎng)絡(luò)軟件設(shè)計

      本文的ZigBee網(wǎng)絡(luò)軟件設(shè)計采用TI免費協(xié)議棧ZStack-CC2530-2.3.0-1.4.0,工具軟件采用IAR Embedded Workbench for 80517.60。在TI免費協(xié)議棧的基礎(chǔ)上,通過修改其應用層來實現(xiàn)不同的功能。

      3.2 6LoWPAN網(wǎng)絡(luò)軟件設(shè)計

      在本文的6LoWPAN傳感網(wǎng)中,我們采用本實驗室獨立開發(fā)的6LoWPAN協(xié)議棧6lowsn_stack_v0.55,本協(xié)議棧已經(jīng)實現(xiàn)了6LoWPAN的基本功能如報頭壓縮、分片等。工具軟件采用IAR Embedded Workbench for 80517.60。用于6LoWPAN協(xié)議棧的芯片解決方案采用單芯片方案,即此協(xié)議??梢詥为氝\行在一塊CC2530芯片上,成本和復雜性都比較低。

      圖10 服務(wù)查詢抓包結(jié)果Fig.10 Capture package results of service query

      圖11 數(shù)據(jù)傳輸抓包結(jié)果Fig.11 Capture package results of data transmission

      4 測試結(jié)果與分析

      網(wǎng)關(guān)啟動后,ZigBee節(jié)點與6LoWPAN節(jié)點分別各自組網(wǎng),并在網(wǎng)關(guān)處建立起服務(wù)表。ZigBee節(jié)點向網(wǎng)關(guān)發(fā)送服務(wù)查詢請求,網(wǎng)關(guān)向ZigBee節(jié)點返回服務(wù)查詢響應。之后ZigBee節(jié)點向網(wǎng)關(guān)發(fā)送數(shù)據(jù),網(wǎng)關(guān)經(jīng)過處理后發(fā)送給目的6LoWPAN節(jié)點,完成了服務(wù)查詢與數(shù)據(jù)傳輸?shù)娜^程,使用Chipcon Packet sniffer軟件對整個過程進行抓包,抓包結(jié)果如下:

      圖10是服務(wù)查詢抓包結(jié)果??梢钥闯鼍W(wǎng)關(guān)啟動后,ZigBee節(jié)點與6LoWPAN節(jié)點分別各自組網(wǎng),之后ZigBee節(jié)點發(fā)送服務(wù)查詢請求命令“?P1”,網(wǎng)關(guān)查詢服務(wù)表后得到服務(wù)“1”提供者6LoWPAN節(jié)點的EUI-64地址,于是向ZigBee節(jié)點返回服務(wù)查詢響應 “!P1”加上6LoWPAN節(jié)點的EUI-64地址,服務(wù)查詢階段結(jié)束。

      圖11是數(shù)據(jù)傳輸抓包結(jié)果。ZigBee節(jié)點把自身EUI-64地址、查詢到的6LoWPAN的EUI-64地址和要發(fā)送的數(shù)據(jù)“am”打包作為應用層數(shù)據(jù)發(fā)送給網(wǎng)關(guān)。網(wǎng)關(guān)接收到數(shù)據(jù)包后經(jīng)過解析、封裝IPv6包,發(fā)送給6LoWPAN邊界路由器,最后轉(zhuǎn)發(fā)給目的6LoWPAN節(jié)點,抓包顯示收到ZigBee節(jié)點發(fā)來的數(shù)據(jù)包“am”。

      5 結(jié)束語

      本文對ZigBee和6LoWPAN這兩種不同協(xié)議類型的傳感網(wǎng)之間的通信進行了研究,并給出了實現(xiàn)方案,詳細闡述了實現(xiàn)異構(gòu)傳感網(wǎng)通信的關(guān)鍵技術(shù),并搭建了測試平臺進行軟硬件結(jié)合的測試,達到了設(shè)計的初衷,滿足了異構(gòu)傳感網(wǎng)通信的需求,實現(xiàn)了兩者之間的點對點通信。在不更改協(xié)議棧的基礎(chǔ)上進行的網(wǎng)關(guān)設(shè)計具有較強的實用性和可擴展性,方便接入IPv6網(wǎng)絡(luò)以及更多不同協(xié)議的傳感網(wǎng)進行自由通信。

      [1]蔣挺,趙成林.紫蜂技術(shù)及其應用[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的無線傳感器網(wǎng)絡(luò)應用研究[D].合肥:合肥工業(yè)大學,2009.

      [5]孫紀敏,沈玉龍,孫玉,張思東.傳感器網(wǎng)絡(luò)接入Internet體系結(jié)構(gòu)和服務(wù)提供方法[J].通信學報,2008,29(4):84-89.

      [6]吳功宜,董大凡,王珺,劉乾.計算機網(wǎng)絡(luò)高級軟件編程技術(shù)[M].北京:清華大學出版社,2007.

      [7]Andrew S.Tanenbaum.Computer Networks[M].3rd edition.北京:清華大學出版社,2002.

      [8]Qing Li,Tatuya Jinmei,Keiichi Shima.IPv6 詳解,卷 1:核心協(xié)議實現(xiàn)[M].北京:人民郵電出版社,2009.

      [9]Wang r c,Chang r s,Chao h c.Internetworking between ZigBee/802.15.4 and IPv6/802.3 network[R].Taipei,China:NICI IPv6 Steering Committee,2007.

      猜你喜歡
      網(wǎng)關(guān)傳感數(shù)據(jù)包
      《傳感技術(shù)學報》期刊征訂
      新型無酶便攜式傳感平臺 兩秒內(nèi)測出果蔬農(nóng)藥殘留
      基于改進RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
      IPv6與ZigBee無線傳感網(wǎng)互聯(lián)網(wǎng)關(guān)的研究
      電子制作(2018年23期)2018-12-26 01:01:26
      SmartSniff
      LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
      移動通信(2015年18期)2015-08-24 07:45:08
      應對氣候變化需要打通“網(wǎng)關(guān)”
      太陽能(2015年7期)2015-04-12 06:49:50
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
      某型Fabry-Perot光纖應變計的傳感特性試驗
      一種實時高效的伺服控制網(wǎng)關(guān)設(shè)計
      开阳县| 侯马市| 荆州市| 信宜市| 古交市| 红河县| 新乐市| 泸溪县| 花莲县| 开鲁县| 宝兴县| 察隅县| 鲁山县| SHOW| 浦北县| 灵寿县| 衡阳县| 三门县| 太康县| 锡林郭勒盟| 闸北区| 峨眉山市| 泰和县| 奇台县| 聊城市| 通道| 荣昌县| 理塘县| 湄潭县| 阳曲县| 宁强县| 古浪县| 扶风县| 静乐县| 通辽市| 泰来县| 紫金县| 平陆县| 沂源县| 延庆县| 抚松县|