摘 要: 基于低速6WPAN,對IPv6傳輸協(xié)議在無線傳感器網(wǎng)絡(luò)節(jié)點中的應(yīng)用進行研究。詳細設(shè)計6WPAN傳感器節(jié)點方案,分析討論傳感器節(jié)點軟件和硬件設(shè)計。通過一個小型試驗平臺測試傳感器的通信性能,確保IPv6節(jié)點的正常使用,隨機設(shè)置11個傳感器節(jié)點,通信范圍為22 in。電池具有2 J的能量,數(shù)據(jù)源傳輸速率范圍為128~1 024 b/s。傳感器節(jié)點平均延遲時間、數(shù)據(jù)包接收率表明,IPv6節(jié)點和傳感器節(jié)點能保持通信連續(xù)性。平均能量消耗表明,IPv6節(jié)點的全IP通信通過傳感器節(jié)點以較低功耗得到實現(xiàn)。傳感器節(jié)點通過IPv6節(jié)點和IPv6協(xié)議能夠發(fā)揮出全IP通信功能,實現(xiàn)效率的顯著提升和能量消耗水平的降低。
關(guān)鍵詞: 網(wǎng)絡(luò)節(jié)點; 傳感器; 數(shù)據(jù)包; 低速WPAN; IPv6; 通信
中圖分類號: TN925?34 文獻標(biāo)識碼: A 文章編號: 1004?373X(2018)19?0089?04
Abstract: The 6WPAN sensor node scheme is designed in detail to study the application of low?speed 6WPAN (IPv6 over LR?WPAN) in wireless sensor network node of IPv6 transport protocol, and the software design and hardware design of sensor node are discussed. A small test platform is used to test the communication performance of the sensor to ensure the normal use of IPv6 nodes, in which eleven sensor nodes are randomly set up, the communication range is 22 in, the battery has the energy of 2 J, and the data source transmission rate is within 128~1 024 b/s. The average delay time and data packet reception rate of the sensor nodes show that the IPv6 node and sensor node can keep the continuity of communication. The average energy consumption indicates that the full IP communication of IPv6 nodes can be realized with low?power consumption by means of sensor nodes, the sensor nodes can play the full IP communication function through the IPv6 node and IPv6 protocol, and the improvement of efficiency and reduction of energy consumption are realized.
Keywords: network node; sensor; data packet; low?speed WPAN; IPv6; communication
計算機技術(shù)的發(fā)展要求重視傳感器網(wǎng)絡(luò)和Internet二者的連通性,此過程需多元化技術(shù)協(xié)同參與。IEEE 802.15.4設(shè)備具有距離短、速率低、成本少等優(yōu)勢決定了其被采用頻率較高[1?3]。IPv6數(shù)據(jù)包在6WPAN(IPv6 over LR?WPAN)的作用下與傳感器網(wǎng)絡(luò)相銜接,從而廣泛應(yīng)用于各個領(lǐng)域中[4]。處于全IP通信狀態(tài)時,傳感器網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)要實現(xiàn)IPv6協(xié)議[5],傳感器節(jié)點受到限制,因此需簡化IPv6協(xié)議,從而與傳感器節(jié)點相適應(yīng)[6?7]。
本文基于6WPAN,以IEEE 802.15.4幀格式鏈接路為基礎(chǔ),構(gòu)建傳感器網(wǎng)絡(luò)體系結(jié)構(gòu),對IPv6傳輸協(xié)議在無線傳感器網(wǎng)絡(luò)節(jié)點中的應(yīng)用進行了研究。傳感器節(jié)點特征在于兩方面:需要實現(xiàn)精簡的IPv6網(wǎng)絡(luò)協(xié)議;在IEEE 802.15.4幀的傳輸中,需要實現(xiàn)IPv6數(shù)據(jù)報文。
傳感器網(wǎng)絡(luò)數(shù)據(jù)鏈路層采用IEEE 802.15.4標(biāo)準(zhǔn)以滿足低功耗要求[8]。IEEE 802.15.4設(shè)備的頻帶為2.4 GHz。傳感器網(wǎng)絡(luò)將IP技術(shù)應(yīng)用在網(wǎng)絡(luò)層,滿足一物一地址的需求標(biāo)準(zhǔn)。這個過程對IP地址資源的需求量非常大,而該需求可以在IPv6的支持下得到滿足。在6WPAN體系結(jié)構(gòu)中,物理層和網(wǎng)絡(luò)層之間還存在MAC層,其作用為對信道訪問進行管理,得到準(zhǔn)確的傳輸設(shè)備間數(shù)據(jù)幀。MAC層在IEEE 802.15.4標(biāo)準(zhǔn)下的幀分為4種,分別為ACK確認幀、命令幀、信標(biāo)(Beacon)幀和數(shù)據(jù)幀。用于IEEE 802.15.4網(wǎng)絡(luò)的建立和管理的為前3種幀,用于封裝實時業(yè)務(wù)數(shù)據(jù)的為數(shù)據(jù)幀[9]。IEEE 802.15.4標(biāo)準(zhǔn)的特點是成本低、效率高、類型多。通常使用的硬件資源屬于中低端嵌入式設(shè)備,電池工作時間可持續(xù)數(shù)年,短距離信號覆蓋范圍為10~100 m;設(shè)備通常包括精簡功能設(shè)備、全功能設(shè)備,傳輸模式包括非信標(biāo)使能模式和信標(biāo)使能模式[10]。
1.1 6WPAN傳感器節(jié)點硬件設(shè)計
傳感器節(jié)點的MCU采用的處理器為ATmega 128L,該過程使用CC2420作為射頻芯片。該芯片的工作模式是以4線SPI總線為基礎(chǔ)設(shè)計傳感器節(jié)點。SI,CSn,SCLK,SO是構(gòu)成SPI總線的4個部分,輔助完成各項任務(wù)和操作,確保硬件能夠在IEEE 802.15.4數(shù)據(jù)幀格式的支持下正常運行,即二者相互適應(yīng)、相互協(xié)調(diào),對數(shù)據(jù)幀進行發(fā)送或接收,并將其送入RAM的緩存區(qū),進行幀的封裝與拆除。對于CC2420而言,當(dāng)ATmega 128L要發(fā)送數(shù)據(jù)時,首先要在TXFIFO寄存器中寫入需求字段的數(shù)據(jù)包,通過無線信道結(jié)合STXON或寄存器STXONCCA等結(jié)構(gòu)發(fā)送出去。當(dāng)CC2420成功接收數(shù)據(jù)包,此時RXFIFO接收緩存區(qū)將存入相應(yīng)數(shù)據(jù),并改變其引腳狀態(tài),以FIFOP的引腳中斷讀RXFIFO寄存器,數(shù)據(jù)包重點數(shù)據(jù)按照先后順序被處理器讀取。
圖1為平臺硬件模塊,整個系統(tǒng)采用的是無線模塊設(shè)計和嵌入式微型控制器(MCU)的通信系統(tǒng)。由于無線傳感器網(wǎng)絡(luò)具有低功耗的特點,系統(tǒng)在確定MCU時選擇MSP430X,而選擇外界存儲器時,使用8 Mbit FLASH加強系統(tǒng)存儲容量。不同類型的傳感器模塊均可被MSP430X連接,讀寫采集信息需通過控制模塊端口進行。系統(tǒng)運行狀態(tài)的指示過程可由LED信號燈實現(xiàn),選擇雙向選擇的數(shù)據(jù)發(fā)送編程,并將射頻芯片無線模塊CC2420作為系統(tǒng)結(jié)構(gòu)。數(shù)據(jù)轉(zhuǎn)換器CP2102通過系統(tǒng)USB轉(zhuǎn)UART,完成USB數(shù)據(jù)轉(zhuǎn)化為平臺內(nèi)串行數(shù)據(jù),從而完成與PC的通信。軟件系統(tǒng)的下載安裝過程可在USB接口處實現(xiàn),并實現(xiàn)控制無線傳感器網(wǎng)絡(luò)和PC監(jiān)測。
圖2為傳感器網(wǎng)絡(luò)拓撲圖。傳感器網(wǎng)絡(luò)中包含多個傳感器節(jié)點,ATmega 128L處理器是處理傳感器節(jié)點信息主要手段。在CC2420射頻芯片的作用下,可實現(xiàn)多個傳感器節(jié)點間通信。
1.2 6WPAN傳感器節(jié)點軟件設(shè)計
圖3為6WPAN傳感器節(jié)點軟件結(jié)構(gòu)框架。應(yīng)用層實現(xiàn)精簡IPv6網(wǎng)絡(luò)協(xié)議;適配層負責(zé)IPv6數(shù)據(jù)包的處理過程;硬件抽象層負責(zé)接收、發(fā)送數(shù)據(jù)包。
1.2.1 硬件抽象層的設(shè)計
硬件抽象層功能包括:IEEE 802.15.4數(shù)據(jù)幀通過無線接口進行接收,隨后傳遞給適配層處理幀實體,并完成封裝和傳送。
1.2.2 適配層的設(shè)計
與IEEE 802.15.4幀相比,IPv6數(shù)據(jù)包所支持的字節(jié)數(shù)最小值更大[11]。因IPv6頭部在6WPAN中開銷較大,本研究將IPv6分片信息放置在適配層相應(yīng)位置。適配層由不分片適配層頭部和分片適配層頭部構(gòu)成,而后者又分為第一分片適配層頭部和后續(xù)適配層頭部,見表1~表3。
在標(biāo)識不分片適配層頭部格式中,5 bit=11000;在確定是否存在適配層負載IPv6頭部壓縮情況時,可以通過Pro_Type來實現(xiàn),結(jié)果分別用0和1代表,前者代表未壓縮,后者則相反。在標(biāo)識分片適配層頭部格式中,1 bit鏈路分片為LF,0,1分別表示第一分片和后續(xù)分片;每個IPv6數(shù)據(jù)包分片Identification均被表示,其值完全一致。相對于第一分片,F(xiàn)_Offset為分片偏移量。適配層功能包括:從應(yīng)用層接收數(shù)據(jù),若無需對數(shù)據(jù)包進行分片,則數(shù)據(jù)包采用不分片適配層頭部封裝,反之,對分片數(shù)據(jù)包分別采用后續(xù)適配層頭部和第一分片適配層頭部封裝,當(dāng)完成數(shù)據(jù)封裝,硬件抽象層和適配層先后對其順位接收,對適配層頭部結(jié)構(gòu)進行全面分析。分片重組過程需要報文完整后方可進行,應(yīng)用層是IPv6報文處理過程中不可或缺的重要內(nèi)容。
1.2.3 應(yīng)用層的設(shè)計
將控制域與IPv6報文相融合,其中控制域分別由IPv6報文載荷和IPv6頭部構(gòu)成。表4,表5分別為精簡IPv6報文格式和控制域。
對于IPv6頭部控制域而言,Version,Traffic Class,F(xiàn)low Label分別表示不同的bit位,其中3個字段的報文存在時可表示為0,若不存在時則用1表示,默認值為Version=6,Traffic Class=0,F(xiàn)low Label=0。Next Header?00:在Payload中,01表示不存在Next Header域,且ICMPv6報文為IPv6載荷;10表示Next Header域不存在,且IPv6載荷是UDPv6報文;11表示預(yù)留,一般情況下無線傳感器網(wǎng)絡(luò)無法落實TCP。
S_Addr_00的bit值為128,其源地址沒有被壓縮;若源地址被壓縮,則表示為01,其bit值為0,則想要獲得其源地址,則可從源鏈路地址處實現(xiàn);10表示其被壓縮,此時字節(jié)長度為8。D_Addr_00的bit值為128,未壓縮目的地址;若目的地址被壓縮,則表示01,其bit值為0,可直接從目的鏈路地址獲取其目的地址;若目的地址被壓縮,則表示為10,字節(jié)長短為8。
1.2.4 IPv6地址配置
圖4為IPv6地址配置過程。用簇首節(jié)點標(biāo)記孤立傳感器節(jié)點之后,獲取IPv6地址的步驟為:以既定簇首節(jié)點為范圍,傳播至鄰居簇首節(jié)點,從而得到PANID請求數(shù)據(jù)包和全局路由前綴。在鄰居簇首節(jié)點獲取IPv6地址并收到數(shù)據(jù)包請求后,接入節(jié)點跳數(shù),再反饋至相應(yīng)位置。在特定時間內(nèi)選擇跳數(shù)最小的鄰居簇首節(jié)點作為父節(jié)點,引入PAN最近節(jié)點,然后結(jié)合PANID、全局路由前綴、初始ID號,構(gòu)成IPv6地址。當(dāng)簇內(nèi)節(jié)點獲取IPv6地址后,將IPv1地址PANID、全局路由前綴、簇首ID號相結(jié)合,從而形成IPv6地址。
1.3 傳感器節(jié)點與IPv6節(jié)點的通信過程
精簡的IPv6協(xié)議通過傳感器節(jié)點得到實現(xiàn),IPv6節(jié)點對傳感器節(jié)點發(fā)送請求數(shù)據(jù)包,從而得到所需數(shù)據(jù)和相對應(yīng)的地址,并實現(xiàn)數(shù)據(jù)包的傳輸和接收,IPv6地址分片被發(fā)送到下一跳節(jié)點;在硬件抽象層,當(dāng)目的傳感器節(jié)點接收全部分片后,在適配層對所有分片進行重組,IPv6數(shù)據(jù)包重組后的頭部精簡處理過程由應(yīng)用層負責(zé),將IPv6負載提交到上一層完成處理過程;應(yīng)用層對所采集得到的控制域和IPv6頭部等相關(guān)信息進行處理,并封裝節(jié)點數(shù)據(jù)傳遞至適配層,適配層對相應(yīng)數(shù)據(jù)進行分片和封裝,由硬件抽象層接收數(shù)據(jù)在數(shù)據(jù)幀的作用下進行封裝,在無限接口處傳遞至下一跳節(jié)點,隨后在接入節(jié)點展開重組,最終由IPv6網(wǎng)絡(luò)進行接收。
本研究在小型試驗平臺的輔助下檢測相應(yīng)節(jié)點的通信性能,例如傳感器節(jié)點和IPv6節(jié)點等。在實驗平臺中,隨機分布傳感器節(jié)點11個,通信范圍為22 in。在初始狀態(tài)下,電池具有2 J的能量。實驗數(shù)據(jù)源傳輸速率范圍為128~1 024 b/s。本文通過實證分析確定了傳感器節(jié)點平均延遲時間、數(shù)據(jù)包接收率、平均能量消耗。平均延遲時間是指數(shù)據(jù)發(fā)送方和接收方之間產(chǎn)生的時間間隔的平均值;數(shù)據(jù)包接收率是數(shù)據(jù)接收方成功接收的概率;平均能量消耗是在每個輪回中,傳感器節(jié)點消耗能量的平均值,輪回指傳感器節(jié)點的一個工作周期,包括初始化、穩(wěn)定接收/傳送數(shù)據(jù)、休眠。本實驗中,每個輪回設(shè)定傳感器傳送/接收數(shù)據(jù)總量為5 120 B,見圖5。
由圖5可知,在本研究中,通過IPv6協(xié)議、IPv6節(jié)點和傳感器節(jié)點能實現(xiàn)點到點的通信。平均延遲時間、數(shù)據(jù)包接收率表明,IPv6節(jié)點和傳感器節(jié)點能保持通信連續(xù)性。平均能量消耗表明,IPv6節(jié)點的全IP通信通過傳感器節(jié)點以較低功耗能得到實現(xiàn);采用IPv6節(jié)點和IPv6協(xié)議,傳感器節(jié)點能夠發(fā)揮出全IP通信功能,不需要采取其他技術(shù)方法,就能實現(xiàn)效率的顯著提升和能量消耗水平的降低。
本文基于低速6WPAN,對IPv6傳輸協(xié)議在無線傳感器網(wǎng)絡(luò)節(jié)點中的應(yīng)用進行了研究。通過對基于6WPAN傳感器節(jié)點方案的詳細設(shè)計,分析討論了傳感器節(jié)點軟件和硬件設(shè)計。本研究在小型試驗平臺的輔助下檢測相應(yīng)節(jié)點的通信性能,例如傳感器節(jié)點和IPv6節(jié)點等,隨機設(shè)置11個傳感器節(jié)點,通信范圍為22 in,電池具有2 J的能量,數(shù)據(jù)源傳輸速率范圍為128~1 024 b/s。傳感器節(jié)點平均延遲時間、數(shù)據(jù)包接收率、平均能量消耗分析結(jié)果表明,IPv6節(jié)點和傳感器節(jié)點能實現(xiàn)點到點的通信。
參考文獻
[1] 王曉喃,董繪,楊媛,等.6LoWPAN無線傳感器網(wǎng)絡(luò)路由研究[J].鐵道學(xué)報,2014,36(2):49?54.
WANG Xiaonan, DONG Hui, YANG Yuan, et al. Research on 6LoWPAN wireless sensor network routing [J]. Journal of the China railway society, 2014, 36(2): 49?54.
[2] 閆海英,黃波,王曉喃.基于6LoWPAN無線傳感網(wǎng)絡(luò)的電梯監(jiān)控系統(tǒng)研究[J].制造業(yè)自動化,2013,35(18):62?63.
YAN Haiying, HUANG Bo, WANG Xiaonan. Study on the monitor and control system based on 6LoWPAN sensor networks [J]. Manufacturing automation, 2013, 35(18): 62?63.
[3] 張安然.基于6LoWPAN的煤礦安全監(jiān)控系統(tǒng)研究[J].工礦自動化,2013,39(8):111?114.
ZHANG Anran. Research of mine safety monitoring and control system based on 6LoWPAN [J]. Industry and mine automation, 2013, 39(8): 111?114.
[4] 胡婷婷,秦雅娟,高德云.IPv6無線傳感網(wǎng)負載均衡路由協(xié)議研究[J].計算機技術(shù)與發(fā)展,2015,25(7):27?30.
HU Tingting, QIN Yajuan, GAO Deyun. Research on multi?sink load?balanced routing protocol for IPv6 wireless sensor networks [J]. Computer technology and development, 2015, 25(7): 27?30.
[5] 李偉勤,李新獻,施岱松.基于6LoWPAN的無線傳感網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)計與實現(xiàn)[J].微計算機信息,2012,28(9):364?365.
LI Weiqin, LI Xinxian, SHI Daisong. Design and construction of a WSN gateway based on 6LoWPAN [J]. Microcomputer information, 2012, 28(9): 364?365.
[6] 宋嚴(yán).IPv6無線傳感器網(wǎng)絡(luò)節(jié)點的設(shè)計研究[J].電子器件,2014,37(3):478?481.
SONG Yan. Wireless sensor network node in IPv6 design [J]. Chinese journal of electron devices, 2014, 37(3): 478?481.
[7] 辛闊,陳文,劉濤.基于6LoWPAN架構(gòu)上的BACnet協(xié)議設(shè)計與實現(xiàn)[J].信息技術(shù),2016(5):95?98.
XIN Kuo, CHEN Wen, LIU Tao. Design and implementation of BACnet over 6LoWPAN networks [J]. Information technology, 2016(5): 95?98.
[8] 張景林,方藝輝.基于節(jié)點狀態(tài)的多類型傳感器調(diào)度算法[J].計算機系統(tǒng)應(yīng)用,2016,25(9):216?222.
ZHANG Jinglin, FANG Yihui. Novel multi?type sensor sche?duling algorithm based on node?status [J]. Computer systems & applications, 2016, 25(9): 216?222.
[9] 閆海英,黃波,王曉喃.基于傳感器和6LoWPAN的電梯舒適性監(jiān)控系統(tǒng)[J].測控技術(shù),2015,34(6):21?23.
YAN Haiying, HUANG Bo, WANG Xiaonan. Elevator comfort monitoring system based on sensor and 6LoWPAN [J]. Measurement & control technology, 2015, 34(6): 21?23.
[10] 李娜.基于IPv6的無線傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)研究[J].現(xiàn)代電子技術(shù),2012,35(16):82?85.
LI Na. Key technology of wireless sensor network based on IPv6 [J]. Modern electronics technique, 2012, 35(16): 82?85.
[11] 李震海,馮秀芳.基于傳感器節(jié)點IPv6地址自動配置研究[J].電腦開發(fā)與應(yīng)用,2012,25(6):43?45.
LI Zhenhai, FENG Xiufang. Research on automatic configuration of IPv6 address based on sensor node [J]. Computer deve?lopment & applications, 2012, 25(6): 43?45.