胡俁華,黃同成,李 平,曾文飛,段 頊
(1.邵陽(yáng)學(xué)院 機(jī)械與能源工程學(xué)院,湖南 邵陽(yáng) 422000;2.湘西南農(nóng)村信息化服務(wù)湖南省重點(diǎn)實(shí)驗(yàn)室,湖南 邵陽(yáng) 422000)
隨著物聯(lián)網(wǎng)技術(shù)和AI技術(shù)等日新月異的發(fā)展,智慧養(yǎng)老成為人們關(guān)注的熱點(diǎn)。智慧養(yǎng)老平臺(tái)和可穿戴監(jiān)測(cè)設(shè)備的發(fā)展非常迅猛,但是面世的絕大部分心電監(jiān)護(hù)設(shè)備還是采用目前常見(jiàn)的ZigBee、GSM、Wifi、藍(lán)牙等無(wú)線(xiàn)傳輸協(xié)議的模塊[1]。它們要么抗干擾能力弱,要么網(wǎng)絡(luò)傳輸能力差,要么面臨網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換復(fù)雜等問(wèn)題,這些無(wú)線(xiàn)傳輸模式都是承載于IPV4網(wǎng)絡(luò)下。IPv6 加WSN(WSN,wireless sensor networks)是目前的熱門(mén)研究方向[2]。工作組在2004年發(fā)起了一份新的網(wǎng)絡(luò)方案:6LoWPAN(IPv6 over Lo WPAN),實(shí)現(xiàn)了IPv6 和 IEEE802.15.4 網(wǎng)絡(luò)的無(wú)縫連接[3]。本文依據(jù)現(xiàn)有技術(shù)資料運(yùn)用6LoWPAN技術(shù)架構(gòu)無(wú)線(xiàn)傳感網(wǎng)絡(luò),并且在RPL網(wǎng)絡(luò)協(xié)議層面上提出了優(yōu)化方案,據(jù)此方案構(gòu)造的無(wú)線(xiàn)傳感網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換更簡(jiǎn)單、網(wǎng)絡(luò)穩(wěn)定可靠、構(gòu)建網(wǎng)絡(luò)拓?fù)涓焖佟?/p>
1)心電監(jiān)護(hù)無(wú)線(xiàn)傳感網(wǎng)絡(luò)需要具備完整的體系架構(gòu),包括底層數(shù)據(jù)采集傳感節(jié)點(diǎn)、傳輸節(jié)點(diǎn)。
2)基于6LoWPAN實(shí)現(xiàn)WSN與IPV6網(wǎng)絡(luò)互聯(lián),6LoWPAN邊界路由器需要具備IPV6網(wǎng)絡(luò)和IPV4網(wǎng)絡(luò)協(xié)議的轉(zhuǎn)換功能。
3)對(duì)RPL網(wǎng)絡(luò)協(xié)議層面進(jìn)行優(yōu)化設(shè)計(jì),保證無(wú)線(xiàn)傳感網(wǎng)絡(luò)的穩(wěn)定性與可靠性,保證時(shí)刻變化的無(wú)線(xiàn)傳感網(wǎng)絡(luò)建立新拓?fù)涓鼮榭焖佟?/p>
該無(wú)線(xiàn)傳感網(wǎng)絡(luò)系統(tǒng)由心電采集模塊、6LoWPAN邊界路由器(6LBR,6LoWPAM border router)兩部分組成。心電采集模塊中AD8232[4]數(shù)據(jù)處理單元將采獲取的心電信號(hào)經(jīng)過(guò)處理后發(fā)送給STC12C5A信號(hào)采集單元。處理好的心電信號(hào)通過(guò)6LoWPAN網(wǎng)絡(luò)傳輸至6LoWPAN邊界路由器。最后監(jiān)護(hù)終端獲取由邊界路由器傳輸至IPV6網(wǎng)絡(luò)的心電數(shù)據(jù),便于低功耗、長(zhǎng)時(shí)間對(duì)病人生理參數(shù)進(jìn)行采集[5]。傳感網(wǎng)絡(luò)整體架構(gòu)如圖1所示。
圖1 傳感網(wǎng)絡(luò)整體架構(gòu)
該傳感網(wǎng)絡(luò)硬件設(shè)計(jì)包括兩個(gè)部分:6LoWPAN心電采集節(jié)點(diǎn)以及6LoWPAN邊界路由器的設(shè)計(jì)。
6LoWPAN心電采集節(jié)點(diǎn)由采集模塊和傳輸模塊構(gòu)成,其中采集模塊包含電極、AD8232信號(hào)處理器、STC12C5A信號(hào)采集器。AD8232進(jìn)行高通、低通濾波處理、信號(hào)放大[6];STC12C5A實(shí)現(xiàn)對(duì)放大器輸出的信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,輸出形式采用UART的方式。選擇CC2530作為傳感網(wǎng)絡(luò)的傳輸模塊,CC2530使用射頻技術(shù)進(jìn)行數(shù)據(jù)傳輸,搭載80C51內(nèi)核,配置8KB的RAM和256KB存儲(chǔ)器[7],其多種工作模式在設(shè)計(jì)之初就考慮了低功耗要求,處理和傳輸心電數(shù)據(jù)的成本低。
6LoWPAN邊界路由器負(fù)責(zé)將6LoWPAN無(wú)線(xiàn)傳感網(wǎng)絡(luò)和IPV6網(wǎng)絡(luò)連接起來(lái),它要實(shí)現(xiàn)的功能有兩個(gè):
1)作為RPL網(wǎng)絡(luò)的Root節(jié)點(diǎn),對(duì)整個(gè)6LoWPAN網(wǎng)絡(luò)進(jìn)行創(chuàng)建和控制。
2)作為6LoWPAN無(wú)線(xiàn)傳感網(wǎng)絡(luò)接入IPV6網(wǎng)絡(luò)的網(wǎng)關(guān),將心電采集節(jié)點(diǎn)獲取的數(shù)據(jù)傳輸至以太網(wǎng)。
邊緣路由器主要由CC2530模塊和ENC28J60以太網(wǎng)接口模塊[8]構(gòu)成,6LoWPAN邊界路由器如圖2所示。
圖2 6LoWPAN邊界路由器圖
CC2530是應(yīng)用最廣泛的芯片之一,在本文中作為傳輸模塊的核心;本文的以太網(wǎng)模塊同樣選用的是最受廣泛應(yīng)用的ENC28J60模塊。
ENC28J60模塊采用串行外設(shè)接口通信(SPI),任何控制器只要帶有SPI的以太網(wǎng)接口,就能與ENC28J60連接。ENC28J60采用了包過(guò)濾機(jī)制來(lái)完成對(duì)傳輸?shù)臄?shù)據(jù)包進(jìn)行限制,并且內(nèi)部含有TX/RX緩沖器、MAC模塊、PHY模塊、DMA模塊。PHY 模塊實(shí)現(xiàn)信號(hào)的模數(shù)轉(zhuǎn)換;TX/RX 緩沖器是 8KB 的雙端口RAM,在 SPI 接口和 MAC 模塊起數(shù)據(jù)緩存的作用。使用時(shí)通過(guò)兩個(gè)引腳和SPI實(shí)現(xiàn)與主控制器的通信,傳輸速率可達(dá)10 Mb/s[9]。邊界路由器的6LoWPAN節(jié)點(diǎn)連接ENC28J60模塊組建成網(wǎng)絡(luò),偵聽(tīng)6LoWPAN和串口是否有數(shù)據(jù)。
在Contiki操作系統(tǒng)上開(kāi)展軟件設(shè)計(jì)以滿(mǎn)足無(wú)線(xiàn)傳感網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換及數(shù)據(jù)傳輸。Contiki是為L(zhǎng)LN (low power and lossy networks)開(kāi)發(fā)的操作系統(tǒng)[10]。開(kāi)發(fā)者已經(jīng)在Contiki中安裝了6LoWPAN和RPL路由協(xié)議,提供TCP/IP網(wǎng)絡(luò)協(xié)議支持,包括IPv6,可以直接運(yùn)用相關(guān)代碼建立起傳感網(wǎng)絡(luò),具有處理WSN數(shù)據(jù)幀和IPv6數(shù)據(jù)報(bào)文功能。
Cooja[11]是一款基于Contiki操作系統(tǒng)的仿真軟件[12],能夠在Contiki的驅(qū)動(dòng)下實(shí)現(xiàn)輕量級(jí)運(yùn)行。工作范圍很廣,可以模擬大集群或小規(guī)模的幾乎所有無(wú)線(xiàn)傳感網(wǎng)絡(luò)。而Cooja軟件最強(qiáng)大方便之處在于節(jié)點(diǎn)執(zhí)行模擬器的結(jié)果與將節(jié)點(diǎn)加載到固件中的結(jié)果基本相同。
6LoWPAN心電采集節(jié)點(diǎn)通電后,啟動(dòng)Contiki系統(tǒng)開(kāi)始初始化,配置參數(shù)。隨后偵聽(tīng)邊界路由器的狀態(tài),若RF模塊收到來(lái)自邊界路由器發(fā)送來(lái)的數(shù)據(jù)包,進(jìn)行報(bào)文重組、解壓縮處理后解析此數(shù)據(jù)包。解析后的指令信息一般分為兩種:監(jiān)測(cè)和控制。若為前者,則采集老年人心電信號(hào)并通過(guò)RF發(fā)送給6LoWPAN邊界路由器;若解析結(jié)果為后者,則執(zhí)行控制指令并將心電采集模塊的狀態(tài)信息發(fā)送給6LoWPAN邊界路由器。6LoWPAN心電采集節(jié)點(diǎn)軟件工作流程如圖3所示。
圖3 6LoWPAN心電采集節(jié)點(diǎn)軟件工作流程
6LoWPAN邊界路由器采用CC2530+ENC28J60實(shí)現(xiàn),軟件層面上使用時(shí)因ENC28J60 的 MAC 模塊遵循 IEEE802.3 標(biāo)準(zhǔn)(以太網(wǎng)標(biāo)準(zhǔn)),在數(shù)據(jù)傳輸過(guò)程中負(fù)責(zé)完成 SPI 格式和 IEEE802.3 MAC 數(shù)據(jù)幀格式[13]之間的轉(zhuǎn)換,隨后需要完成自身的 MAC 地址和 IPv4 地址之間的綁定。
6LoWPAN如果是接入純IPV6網(wǎng)絡(luò)中可以直接在網(wǎng)絡(luò)層進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),而不需要轉(zhuǎn)換協(xié)議,但由于目前IPV6網(wǎng)絡(luò)尚未大量運(yùn)用,當(dāng)下多是將6LoWPAN網(wǎng)絡(luò)接入IPV4網(wǎng)絡(luò)中,因此我們需要用到NAT64轉(zhuǎn)換技術(shù)實(shí)現(xiàn)6LoWPAN數(shù)據(jù)包和IPV4數(shù)據(jù)包的格式轉(zhuǎn)換,并將RPL網(wǎng)絡(luò)中的心電節(jié)點(diǎn)IPV6地址端口映射為ENC28J60以太網(wǎng)接口的IPV4地址端口,解決IPV4地址不夠用的問(wèn)題[14]。NAT64協(xié)議轉(zhuǎn)換模型如圖4所示。
圖4 NAT64協(xié)議轉(zhuǎn)換模型圖
NAT64是一種網(wǎng)絡(luò)地址翻譯技術(shù),當(dāng)終端節(jié)點(diǎn)訪問(wèn)遠(yuǎn)程IPv4 服務(wù)器時(shí),邊界路由器啟動(dòng) IPv4 與 IPv6 協(xié)議轉(zhuǎn)換模塊NAT64,IPv6主機(jī)端發(fā)出封包,源IPv6地址被NAT64模塊映射成IPv4地址,同時(shí)IPv4主機(jī)對(duì)應(yīng)返回的封包,NAT64模塊遍歷映射關(guān)系作出回應(yīng),這樣就完成了終端節(jié)點(diǎn)連接IPv4主機(jī)的工作。IPv6 數(shù)據(jù)報(bào)經(jīng)封裝后通過(guò)IPv4 的鏈路層傳送[15]實(shí)現(xiàn)數(shù)據(jù)的相互收發(fā)。
3.3.1 RPL路由協(xié)議與Trickle定時(shí)器
RPL(IPv6 routing protocolfor low power and lossy networks)路由協(xié)議[16]用于智能網(wǎng)絡(luò),為受限設(shè)備通過(guò)有損鏈路而開(kāi)發(fā)[17]。通過(guò)有向無(wú)環(huán)圖DODAG(destination oriented directed acyclic graph)[18]創(chuàng)建WSN,根據(jù)OF以及節(jié)點(diǎn)間相互傳遞信息來(lái)創(chuàng)建和維護(hù)。DODAG中包含DIO(DODAG information object)DODAG信息對(duì)象;DIS(DODAG information solicitation)DODAG信息請(qǐng)求;DAO(destination advertisement object)DODAG目的地通告[19]。
定時(shí)器管理機(jī)制是RPL協(xié)議的關(guān)鍵組成部分[20]。RPL路由協(xié)議中定時(shí)器基于Trickle算法來(lái)實(shí)現(xiàn)DIO控制報(bào)文管理,這是的一種低功耗有損網(wǎng)絡(luò)的自適應(yīng)機(jī)制,適用于資源受到限制的環(huán)境。Trickle定時(shí)器要是在架構(gòu)新DODAG的途中查詢(xún)到網(wǎng)絡(luò)中存在閉合環(huán)路或有節(jié)點(diǎn)加入進(jìn)來(lái)亦或是節(jié)點(diǎn)網(wǎng)絡(luò)丟失等都會(huì)判定為不一致現(xiàn)象[21],當(dāng)網(wǎng)絡(luò)變得穩(wěn)定時(shí),RPL消息數(shù)量會(huì)相應(yīng)減少;當(dāng)查詢(xún)到上面所提現(xiàn)象時(shí),會(huì)重置Trickle定時(shí)器,加快DIO消息發(fā)送,達(dá)到網(wǎng)絡(luò)拓?fù)涞闹亟康摹?/p>
Trickle算法中含有最小時(shí)隙間隔Imin(min interval)、最大時(shí)隙間隔Imax(max interval)、冗余常數(shù)K這3個(gè)參數(shù)以及當(dāng)前的時(shí)隙間隔大小I、當(dāng)前時(shí)間值t、冗余事件計(jì)數(shù)器C三個(gè)變量。Trickle算法簡(jiǎn)述為以下步驟:1) 在[Imin,Imax]中的任意位置設(shè)置一個(gè)I的值,然后觸發(fā)第一個(gè)時(shí)隙工作;2)觸發(fā)第一個(gè)時(shí)隙后,在[I/2,I)]隨機(jī)選擇一個(gè)點(diǎn)為t,此時(shí)C=0。并且在I處停止時(shí)隙;3) 如果傳輸過(guò)程中1次一致性傳輸現(xiàn)象被Trickle 接收到,那么就使C相應(yīng)遞增1(C+= 1);4) 在時(shí)間t,Trickle 自動(dòng)檢測(cè)C的值,并判斷是否有C
3.3.2 Trickle算法的局限性
由于RPL網(wǎng)絡(luò)在設(shè)計(jì)的時(shí)候考慮到低功耗問(wèn)題出于輕量級(jí)網(wǎng)絡(luò)思路限制了路由質(zhì)量。在DODAG建立和維護(hù)過(guò)程中會(huì)由于路由質(zhì)量原因無(wú)法體現(xiàn)節(jié)點(diǎn)拓?fù)洹肮叫浴睂?dǎo)致非最優(yōu)鏈路的產(chǎn)生,在這個(gè)問(wèn)題中就牽涉到了Trickle算法。原始的 Trickle 算法中每個(gè)節(jié)點(diǎn)體現(xiàn)“公平性原則”即在可控條件下,定時(shí)發(fā)送請(qǐng)求信息來(lái)確認(rèn)路由的可靠性,盡量使得節(jié)點(diǎn)在不同網(wǎng)絡(luò)情況下保有基本相同的發(fā)送概率。但由于有損網(wǎng)絡(luò)特性問(wèn)題,網(wǎng)絡(luò)創(chuàng)建過(guò)程中時(shí)刻受到時(shí)間變化及節(jié)點(diǎn)加入或丟失情況影響而不停改變。
因此,原始Trickle算法的規(guī)定在現(xiàn)實(shí)中不能真正意義上實(shí)現(xiàn)保有同概率的機(jī)制,從而影響路由的可靠性和網(wǎng)絡(luò)性能。
3.3.3 Trickle優(yōu)化設(shè)計(jì)
針對(duì)原始Trickle的缺陷,我們需要針對(duì)此問(wèn)題作出改進(jìn),Trickle 算法優(yōu)化部分代碼如下所示:
function Trickle-Initialization()
I= Imin, Imax= Imin*28, k = 3 //定義Trickle參數(shù)及冗余常數(shù)
a = 0 //新增變量a,記錄節(jié)點(diǎn)連續(xù)未發(fā)送DIO消息的時(shí)間間隔次數(shù)
function DIOIntervalBegins()
c = 0 //第一個(gè)時(shí)隙開(kāi)始,c置0
timer = random(I/(2^(a+1) ), I ) //選擇當(dāng)前時(shí)間值t
function ConsistentTransmissionReceived()
c = c+l //收到一致性傳輸則c自增1
function TimerExpires()
if (k ≥ c|a = = 2 ) then //判斷c與k的值并且若兩次未成功發(fā)送DIO消息
Transimit DIO //發(fā)送一次DIO消息
a =0 //a置0
else
a = a+1 //若c end if function DIOIntervalEnds() c = 0 //時(shí)隙結(jié)束,c置0 if InconsistentTransmissionReceived I = Imin a =0 //當(dāng)收到不一致傳輸現(xiàn)象則置I=Imin else I = I × 2 if Imax≤ I then I = Imax//若Imax小于I,則置I為Imax end if end if 原Trickle算法代碼中每個(gè)節(jié)點(diǎn)受發(fā)送時(shí)間間隔設(shè)定影響,上輪未發(fā)送節(jié)點(diǎn)并不一定能在本輪被選中發(fā)送DIO消息,因此我們需要在Trickle中改變?yōu)榇藭r(shí)間間隔來(lái)獲取相對(duì)公平。值得注意的是,并不需要設(shè)置其提前于其他節(jié)點(diǎn)發(fā)送消息,這樣可以更多的減少對(duì)其他節(jié)點(diǎn)的影響。從而達(dá)到某個(gè)節(jié)點(diǎn)被抑制的次數(shù)越多,其下一輪被發(fā)送的概率就越大的目的。我們?cè)O(shè)定每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)新增變量a,變量a記作未發(fā)送DIO消息事件,保存各個(gè)節(jié)點(diǎn)未發(fā)送的時(shí)間間隔次數(shù)。在DODAG創(chuàng)建拓?fù)鋾r(shí)一個(gè)節(jié)點(diǎn)在當(dāng)前時(shí)間值t未能成功發(fā)送 DIO 消息,a 事件值加一;相反,則將a事件值清空為0。每個(gè)節(jié)點(diǎn)獲取每輪不同的發(fā)送優(yōu)先級(jí)均通過(guò)維護(hù)自己的事件值來(lái)實(shí)現(xiàn)。另外區(qū)別于初始算法,a事件值還通過(guò)更改時(shí)間間隔的每一輪監(jiān)聽(tīng)和分配節(jié)點(diǎn)的持續(xù)時(shí)間來(lái)實(shí)現(xiàn)優(yōu)先級(jí)。在上面Trickle 優(yōu)化方案里,每個(gè)時(shí)間間隔都與原算法不同。 偵聽(tīng)和發(fā)送的兩個(gè)時(shí)間段不是均勻分布的,而是相對(duì)于變量以可變間隔設(shè)置。偵聽(tīng)時(shí)間為(0,I/2^(a+1)),發(fā)送時(shí)間為(I/2^(a+1),I)。 我們同時(shí)規(guī)定,當(dāng)某個(gè)節(jié)點(diǎn)連續(xù)兩個(gè)時(shí)間間隔都未能成功發(fā)送 DIO 消息(因?yàn)楣?jié)點(diǎn)在兩次發(fā)送未果的情況下相比于其他節(jié)點(diǎn)有更高的發(fā)送優(yōu)先級(jí),考慮到有可能未發(fā)送節(jié)點(diǎn)較多時(shí)萬(wàn)一會(huì)出現(xiàn)此問(wèn)題),則在第三個(gè)時(shí)間間隔內(nèi)傳送節(jié)點(diǎn)在某一隨機(jī)時(shí)刻t必須要發(fā)送DIO消息,隨后維護(hù)a值置為 0。后續(xù)通過(guò)仿真實(shí)驗(yàn)與初始RPL網(wǎng)絡(luò)協(xié)議進(jìn)行對(duì)比,以此來(lái)驗(yàn)證該優(yōu)化方案的可行性。 本文的仿真實(shí)驗(yàn)基于Ubuntu系統(tǒng),使用InstantContiki3.0作為開(kāi)發(fā)環(huán)境,Contiki系統(tǒng)中已有相應(yīng)的應(yīng)用程序,在網(wǎng)絡(luò)層中我們使用的是RPL路由協(xié)議,因此設(shè)計(jì)此仿真實(shí)驗(yàn)以驗(yàn)證本文方案的網(wǎng)絡(luò)通信可行性。 運(yùn)行InstantContiki3.0系統(tǒng)的Terminal終端,輸入以下命令打開(kāi)cooja仿真器: cd contiki/tools/cooja/ ant run 打開(kāi)Cooja后,在Cooja工作界面建立100 m*100 m的仿真環(huán)境,Trickle算法的參數(shù)設(shè)置為Imin=28ms,Imax=2(8+8)ms,冗余常數(shù)K=3。創(chuàng)建21個(gè)節(jié)點(diǎn),內(nèi)部運(yùn)行RPL+UDP協(xié)議,首先創(chuàng)建一個(gè)節(jié)點(diǎn)1選取sky mote類(lèi)型,并修改Description作為RPL組網(wǎng)協(xié)議里的root節(jié)點(diǎn),運(yùn)行contiki/examples/ipv6/rpl-border-router/border-router.c程序,并選取另外20個(gè)節(jié)點(diǎn)分別編號(hào)2-21作為感知節(jié)點(diǎn),在其內(nèi)部運(yùn)行contiki/examples/er-rest-example/er-example-server.c程序。仿真環(huán)境如圖5所示。 圖5 仿真環(huán)境圖 節(jié)點(diǎn)1作為6LoWPAN邊界路由器節(jié)點(diǎn)向外發(fā)送DIO消息建立DODAG,鄰居節(jié)點(diǎn)若在root節(jié)點(diǎn)射頻周?chē)鷥?nèi)且偵聽(tīng)到DIO消息會(huì)選擇加入到節(jié)點(diǎn)1的DODAG。鄰居節(jié)點(diǎn)以root節(jié)點(diǎn)1作為父節(jié)點(diǎn),向節(jié)點(diǎn)1回復(fù)DAO消息表示自己已加入有向無(wú)環(huán)圖,而后鄰居節(jié)點(diǎn)向外發(fā)送DIO包。諸如此類(lèi),其他節(jié)點(diǎn)也各自尋找到父節(jié)點(diǎn),并回復(fù)DAO包,加入DODAG。 4.2.1 驗(yàn)證網(wǎng)絡(luò)連通性 在Cooja仿真界面可以查看到各個(gè)節(jié)點(diǎn)的路由信息,如圖7所示。因?yàn)榇?LoWPAN網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都是根據(jù)ContikiMAC地址自動(dòng)生成的,因此所有的鄰居節(jié)點(diǎn)都是以“fe08”為開(kāi)頭的ipv6地址。根據(jù)Cooja路由信息框中獲取的6LBR地址,直接打開(kāi)InstantContiki3.0自帶瀏覽器輸入地址查詢(xún)即可。在InstantContiki3.0系統(tǒng)中還可以采用在Terminal窗口中輸入Ping6+IPv6地址的方式驗(yàn)證網(wǎng)絡(luò)聯(lián)通性。Cooja界面各節(jié)點(diǎn)路由信息如圖6所示。 圖6 cooja界面各節(jié)點(diǎn)路由信息 查看路由信息可知,6LoWPAN邊界路由器已經(jīng)根據(jù)RPL路由協(xié)議和鄰居發(fā)現(xiàn)協(xié)議自動(dòng)生成了6LoWPAN網(wǎng)絡(luò),并且可以實(shí)現(xiàn)從外部網(wǎng)絡(luò)訪問(wèn)6LoWPAN邊界路由器節(jié)點(diǎn)。仿真測(cè)試結(jié)果表明,該無(wú)線(xiàn)傳感網(wǎng)絡(luò)可以由RPL路由協(xié)議和鄰居發(fā)現(xiàn)協(xié)議生成6LoWPAN網(wǎng)絡(luò),實(shí)現(xiàn)無(wú)線(xiàn)傳感網(wǎng)絡(luò)WSN和IPV6網(wǎng)絡(luò)的互聯(lián)互通,成功架構(gòu)了基于6LoWPAN的心電監(jiān)護(hù)初始無(wú)線(xiàn)傳感網(wǎng)絡(luò)。 4.2.2 Trickle算法優(yōu)化結(jié)果分析 為驗(yàn)證Trickle算法優(yōu)化前后的RPL網(wǎng)絡(luò)性能,我們從以下兩個(gè)方向進(jìn)行對(duì)比:業(yè)務(wù)報(bào)文的投遞成功率、網(wǎng)絡(luò)的平均鏈路質(zhì)量,如圖7(a)、圖7(b)、圖7(c)所示。 (a) 業(yè)務(wù)報(bào)文投遞成功率 (b) 節(jié)點(diǎn)到6LBR的平均鏈路質(zhì)量 (c) 節(jié)點(diǎn)平均能耗圖7 優(yōu)化前后對(duì)比圖 1)業(yè)務(wù)報(bào)文投遞成功率:在一個(gè)時(shí)間區(qū)間內(nèi),計(jì)算單位時(shí)間內(nèi)目的節(jié)點(diǎn)正確接收到的報(bào)文數(shù)和源節(jié)點(diǎn)發(fā)送的總報(bào)文數(shù)比率。 2)節(jié)點(diǎn)到6LBR的平均鏈路質(zhì)量:定義為仿真環(huán)境中節(jié)點(diǎn)到6LBR路徑上的平均鏈路度量值。 3)節(jié)點(diǎn)平均能耗:定義為仿真環(huán)境中各note節(jié)點(diǎn)隨時(shí)間變化的平均能耗。 優(yōu)化前后的仿真數(shù)據(jù)對(duì)比如圖7所示,從圖中可以看到從建立DODAG拓?fù)涞节呌诜€(wěn)定的過(guò)程中,經(jīng)過(guò)Trickle算法優(yōu)化后的方案在業(yè)務(wù)報(bào)文投遞成功率和節(jié)點(diǎn)到6LBR的平均鏈路質(zhì)量方面性能要明顯高于原始Trickle算法的RPL網(wǎng)絡(luò),并且經(jīng)過(guò)優(yōu)化后的RPL網(wǎng)絡(luò),節(jié)點(diǎn)到6LBR的平均能耗也比初始方案低。后隨著時(shí)間增長(zhǎng),網(wǎng)絡(luò)開(kāi)始逐步穩(wěn)定,兩種方案的網(wǎng)絡(luò)性能指標(biāo)差距也在逐步縮小,這是因?yàn)槌跏糝PL網(wǎng)絡(luò)協(xié)議也逐步形成了更好更穩(wěn)定的網(wǎng)絡(luò)拓?fù)?。因此,我們可以得出這樣的結(jié)論,在降低了節(jié)點(diǎn)平均能耗的基礎(chǔ)上,Trickle算法優(yōu)化后的RPL網(wǎng)絡(luò)協(xié)議在業(yè)務(wù)報(bào)文投遞成功率和網(wǎng)絡(luò)鏈路質(zhì)量上都有了明顯的提升,這對(duì)低功耗無(wú)線(xiàn)傳感網(wǎng)絡(luò)的拓?fù)漕l繁變化更快形成新的DODAG的解決思路提供了更好的方案。 本文基于6LoWPAN技術(shù)設(shè)計(jì)了一種應(yīng)用于心電監(jiān)護(hù)系統(tǒng)的無(wú)線(xiàn)傳感網(wǎng)絡(luò),能夠?qū)崿F(xiàn)WSN監(jiān)護(hù)網(wǎng)絡(luò)與IPV6的的互聯(lián)互通,同時(shí)提供了一種基于Trickle算法優(yōu)化的RPL改進(jìn)方案,借助仿真實(shí)驗(yàn)驗(yàn)證了該方案在提升網(wǎng)絡(luò)拓?fù)湫阅苌系淖饔茫軌蜉^于原RPL協(xié)議更快地形成DODAG拓?fù)?,以及在降低了?jié)點(diǎn)平均能耗時(shí)依然在改善無(wú)線(xiàn)傳感網(wǎng)絡(luò)業(yè)務(wù)報(bào)文投遞成功率和提升網(wǎng)絡(luò)鏈路質(zhì)量上具有良好作用。該無(wú)線(xiàn)傳感網(wǎng)絡(luò)的設(shè)計(jì)不僅保證了網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性,還提升了節(jié)點(diǎn)加入DODAG的速度,使得組網(wǎng)更加快速方便,為該無(wú)線(xiàn)傳感系統(tǒng)應(yīng)用提供了更優(yōu)方案,具有一定的應(yīng)用前景和現(xiàn)實(shí)意義。4 RPL路由仿真實(shí)驗(yàn)
4.1 仿真環(huán)境設(shè)計(jì)
4.2 仿真結(jié)果驗(yàn)證和分析
5 結(jié)束語(yǔ)