一種無(wú)線傳感器網(wǎng)絡(luò)的通訊方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無(wú)線傳感器網(wǎng)絡(luò)領(lǐng)域,具體涉及一種用于無(wú)線傳感器網(wǎng)絡(luò)的通訊方法。
【背景技術(shù)】
[0002]無(wú)線傳感網(wǎng)絡(luò)(WSN)由大量部署在監(jiān)測(cè)區(qū)域內(nèi)的傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信的方式形成的一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),能協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域的監(jiān)測(cè)信息,并發(fā)送給觀察者。如在消防無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)由傳感器節(jié)點(diǎn)、匯聚節(jié)點(diǎn)和管理節(jié)點(diǎn)組成,大量消防傳感器節(jié)點(diǎn)隨機(jī)部署在監(jiān)測(cè)區(qū)域內(nèi)部或附近,能夠通過(guò)自組織方式構(gòu)成網(wǎng)絡(luò)。傳感器節(jié)點(diǎn)監(jiān)測(cè)數(shù)據(jù)沿著其他傳感器節(jié)點(diǎn)逐跳地進(jìn)行傳輸,在傳輸過(guò)程中監(jiān)測(cè)數(shù)據(jù)可能被多個(gè)節(jié)點(diǎn)處理,經(jīng)過(guò)多跳后路由到匯聚節(jié)點(diǎn),匯聚點(diǎn)通過(guò)互聯(lián)網(wǎng)或衛(wèi)星將監(jiān)測(cè)數(shù)據(jù)送到管理服務(wù)器。用戶通過(guò)監(jiān)控中心對(duì)傳感器網(wǎng)絡(luò)進(jìn)行配置和管理,發(fā)布監(jiān)測(cè)任務(wù)以及收集監(jiān)測(cè)數(shù)據(jù)。
[0003]網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)一般為電池供電,有效電量非常有限,而且由于應(yīng)用環(huán)境與節(jié)點(diǎn)數(shù)量關(guān)系,電池更換是不可能的。但是無(wú)線傳感網(wǎng)絡(luò)的生存時(shí)間卻要求長(zhǎng)達(dá)數(shù)月甚至數(shù)年,一旦傳感節(jié)點(diǎn)能量用盡,只能采取放棄或替代,因此能否節(jié)約電池能量成為無(wú)線傳感網(wǎng)絡(luò)軟件設(shè)計(jì)中的關(guān)鍵問(wèn)題之一。傳感器節(jié)點(diǎn)硬件由MCU、傳感器和無(wú)線通信模塊組成,隨著半導(dǎo)體技術(shù)的迅猛發(fā)展,MCU和傳感器的功耗已經(jīng)做得很低,節(jié)點(diǎn)中最耗電的部分就是無(wú)線通信模塊。無(wú)線通信模塊工作模式通常分為休眠、發(fā)送和接收三種狀態(tài),休眠狀態(tài)功耗極低,發(fā)送和接受狀態(tài)功耗很高。要使傳感器節(jié)點(diǎn)更省電,必須對(duì)無(wú)線模塊的功耗進(jìn)行控制。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種無(wú)線傳感器網(wǎng)絡(luò)的通訊方法,能夠降低傳感器節(jié)點(diǎn)的功耗,延長(zhǎng)無(wú)線傳感器網(wǎng)絡(luò)的生存時(shí)間。
[0005]為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明所采用的技術(shù)方案是:一種無(wú)線傳感器網(wǎng)絡(luò)的通信方法,所述無(wú)線傳感器網(wǎng)絡(luò)包括傳感器節(jié)點(diǎn)、匯聚點(diǎn)及服務(wù)器,其特征在于包括以下步驟:
[0006]步驟1:匯聚點(diǎn)通過(guò)無(wú)線網(wǎng)絡(luò)向服務(wù)器發(fā)起注冊(cè)請(qǐng)求;
[0007]步驟2:服務(wù)器驗(yàn)證匯聚點(diǎn)是否合法,如果合法則返回給匯聚點(diǎn)包含節(jié)點(diǎn)時(shí)間片lenl、以及節(jié)點(diǎn)數(shù)量num的工作參數(shù),同時(shí)將節(jié)點(diǎn)網(wǎng)絡(luò)地址以及mac地址映射表返回給匯聚占.V,
[0008]步驟3:傳感器節(jié)點(diǎn)向匯聚點(diǎn)發(fā)起入網(wǎng)請(qǐng)求;匯聚點(diǎn)驗(yàn)證傳感器節(jié)點(diǎn)的mac地址是否允許加入到網(wǎng)絡(luò)中,驗(yàn)證成功則根據(jù)mac地址映射表為其分配節(jié)點(diǎn)網(wǎng)絡(luò)地址、匯聚點(diǎn)系統(tǒng)時(shí)間time、匯聚點(diǎn)首次發(fā)布報(bào)文的時(shí)間t,并且根據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)地址以及節(jié)點(diǎn)數(shù)量num為每一個(gè)傳感器節(jié)點(diǎn)分配節(jié)點(diǎn)時(shí)隙編號(hào)ts ;同時(shí)將節(jié)點(diǎn)時(shí)隙編號(hào)ts、節(jié)點(diǎn)時(shí)間片Ienl以及網(wǎng)絡(luò)地址返回給傳感器節(jié)點(diǎn);
[0009]步驟4:傳感器節(jié)點(diǎn)收到匯聚點(diǎn)的入網(wǎng)應(yīng)答后,傳感器節(jié)點(diǎn)根據(jù)匯聚點(diǎn)系統(tǒng)時(shí)間time使自己的系統(tǒng)時(shí)間與匯聚點(diǎn)系統(tǒng)時(shí)間同步,之后根據(jù)時(shí)隙編號(hào)ts以及節(jié)點(diǎn)時(shí)間片Ienl來(lái)調(diào)整自己的接收定時(shí)器timerl和發(fā)送定時(shí)器timer2 ;
[0010]步驟5:當(dāng)?shù)竭_(dá)匯聚點(diǎn)首次發(fā)布報(bào)文的時(shí)間t時(shí),無(wú)線傳感器網(wǎng)絡(luò)內(nèi)的所有傳感器節(jié)點(diǎn)根據(jù)時(shí)隙編號(hào)ts的順序,依次完成報(bào)文的收發(fā);每一個(gè)傳感器節(jié)點(diǎn)都是通過(guò)依次啟動(dòng)接收定時(shí)器timerl和發(fā)送定時(shí)器timer2,在節(jié)點(diǎn)時(shí)間片Ienl內(nèi)完成一次報(bào)文的收發(fā):當(dāng)接收定時(shí)器timerl到達(dá)接收時(shí)間,傳感器節(jié)點(diǎn)打開(kāi)無(wú)線通信模塊的接收狀態(tài)以接收匯聚點(diǎn)報(bào)文,收到報(bào)文后立即關(guān)閉無(wú)線通信模塊的接收狀態(tài);當(dāng)發(fā)送定時(shí)器timer2到達(dá)發(fā)送時(shí)間,傳感器節(jié)點(diǎn)開(kāi)啟無(wú)線通信模塊的發(fā)送狀態(tài),判斷是否有數(shù)據(jù)需要發(fā)送給匯聚點(diǎn),有則進(jìn)行數(shù)據(jù)發(fā)送,沒(méi)有則發(fā)送心跳報(bào)文以保持與匯聚點(diǎn)之間的通信連接,發(fā)送完成后立即關(guān)閉無(wú)線通信模塊的發(fā)送狀態(tài)。
[0011]本發(fā)明具有以下有益效果:匯聚點(diǎn)向傳感器節(jié)點(diǎn)發(fā)送匯聚點(diǎn)系統(tǒng)時(shí)間time,以保證傳感器節(jié)點(diǎn)與匯聚點(diǎn)的系統(tǒng)時(shí)間同步;通過(guò)節(jié)點(diǎn)時(shí)間片Ienl的劃分,無(wú)線傳感器網(wǎng)絡(luò)內(nèi)的所有傳感器節(jié)點(diǎn)根據(jù)時(shí)隙編號(hào)ts的順序,依次完成報(bào)文的收發(fā)。然而現(xiàn)有技術(shù)中并沒(méi)有進(jìn)行時(shí)間片的劃分,傳感器節(jié)點(diǎn)無(wú)序地進(jìn)行數(shù)據(jù)的收發(fā),就會(huì)造成同一時(shí)刻多個(gè)傳感器節(jié)點(diǎn)同時(shí)進(jìn)行數(shù)據(jù)的接收或發(fā)送,造成信道的碰撞和信息的相互干擾。本發(fā)明中,傳感器節(jié)點(diǎn)數(shù)據(jù)的收發(fā)是根據(jù)時(shí)隙編號(hào)ts的順序,有序的進(jìn)行著,一個(gè)時(shí)刻只有一個(gè)傳感器節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的接收或發(fā)送,避免了信道碰撞和信息干擾;更重要的是每一個(gè)傳感器節(jié)點(diǎn)只在自己的時(shí)間片Ienl內(nèi)打開(kāi)無(wú)線通信模塊進(jìn)行數(shù)據(jù)的收發(fā)一無(wú)線通信模塊處于接收或發(fā)送狀態(tài),其余時(shí)間都處在低功耗的休眠狀態(tài),與現(xiàn)有技術(shù)中無(wú)線模塊需要長(zhǎng)期工作在接收狀態(tài)來(lái)接收匯聚節(jié)點(diǎn)下發(fā)的命令相比,大大降低了無(wú)線通信模塊維持接收狀態(tài)的時(shí)間,使無(wú)線通信模塊長(zhǎng)期維持在低功耗的休眠狀態(tài),從而降低傳感器節(jié)點(diǎn)的功耗,使傳感器節(jié)點(diǎn)內(nèi)的電池能用得更久,延長(zhǎng)無(wú)線傳感器網(wǎng)絡(luò)的生存時(shí)間。
【具體實(shí)施方式】
[0012]實(shí)施例1
[0013]以具有500個(gè)傳感器節(jié)點(diǎn)的網(wǎng)絡(luò)為例,設(shè)置時(shí)間片Ienl為0.5s,即每一個(gè)傳感器節(jié)點(diǎn)在0.5s內(nèi)完成數(shù)據(jù)收發(fā)。
[0014]一種無(wú)線傳感器網(wǎng)絡(luò)的通信方法,所述無(wú)線傳感器網(wǎng)絡(luò)包括傳感器節(jié)點(diǎn)、匯聚點(diǎn)及服務(wù)器,包括以下步驟:
[0015]步驟1:匯聚點(diǎn)通過(guò)無(wú)線網(wǎng)絡(luò)向服務(wù)器發(fā)起注冊(cè)請(qǐng)求;
[0016]步驟2:服務(wù)器驗(yàn)證匯聚點(diǎn)是否合法,如果合法則返回給匯聚點(diǎn)包含節(jié)點(diǎn)時(shí)間片lenl、以及節(jié)點(diǎn)數(shù)量num的工作參數(shù),同時(shí)將節(jié)點(diǎn)網(wǎng)絡(luò)地址以及mac地址映射表返回給匯聚點(diǎn);其中:節(jié)點(diǎn)時(shí)間片Ienl = 0.5s,節(jié)點(diǎn)數(shù)量num = 500 ;
[0017]步驟3:傳感器節(jié)點(diǎn)向匯聚點(diǎn)發(fā)起入網(wǎng)請(qǐng)求;匯聚點(diǎn)驗(yàn)證傳感器節(jié)點(diǎn)的mac地址是否允許加入到網(wǎng)絡(luò)中,驗(yàn)證成功則根據(jù)mac地址映射表為其分配節(jié)點(diǎn)網(wǎng)絡(luò)地址、匯聚點(diǎn)系統(tǒng)時(shí)間time、匯聚點(diǎn)首次發(fā)布報(bào)文的時(shí)間t,并且根據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)地址以及節(jié)點(diǎn)數(shù)量num對(duì)每一個(gè)傳感器節(jié)點(diǎn)分配節(jié)點(diǎn)時(shí)隙編號(hào)ts,ts取值為I?500中的整數(shù);同時(shí)將節(jié)點(diǎn)時(shí)隙編號(hào)ts、節(jié)點(diǎn)時(shí)間片Ienl以及網(wǎng)絡(luò)地址返回給傳感器節(jié)點(diǎn);
[0018]步驟4:傳感器節(jié)點(diǎn)收到匯聚點(diǎn)的入網(wǎng)應(yīng)答后,傳感器節(jié)點(diǎn)根據(jù)匯聚點(diǎn)系統(tǒng)時(shí)間time使自己的系統(tǒng)時(shí)間與匯聚點(diǎn)系統(tǒng)時(shí)間同步,為了使傳感器節(jié)點(diǎn)能精確的與匯聚點(diǎn)系統(tǒng)時(shí)間同步,優(yōu)選的:傳感器節(jié)點(diǎn)將收發(fā)時(shí)延delay添加到匯聚點(diǎn)系統(tǒng)時(shí)間time作為自己的系統(tǒng)時(shí)間,假設(shè)傳感器節(jié)點(diǎn)發(fā)送報(bào)文的時(shí)刻為tl,傳感器節(jié)點(diǎn)收到匯聚點(diǎn)報(bào)文的時(shí)刻為t2,那么收發(fā)時(shí)延delay = (t2_tl)/2,最終傳感器節(jié)點(diǎn)獲得的同步時(shí)間為time+delay ;時(shí)間同步后,傳感器節(jié)點(diǎn)根據(jù)時(shí)隙編號(hào)ts以及節(jié)點(diǎn)時(shí)間片Ienl來(lái)調(diào)整自己的接收定時(shí)器timerl 和發(fā)送定時(shí)器 timer2,根據(jù)公式:timer I = (ts_l) X0.5+250 X (η_1), η 為周期數(shù),timer2 = δ timerl,其中 0〈 δ〈I。
[0019]步驟6:當(dāng)?shù)竭_(dá)匯聚點(diǎn)首次發(fā)布報(bào)文時(shí)間t時(shí),匯聚點(diǎn)開(kāi)始發(fā)布報(bào)文,無(wú)線傳感器網(wǎng)絡(luò)內(nèi)的所有傳感器節(jié)點(diǎn)根據(jù)時(shí)隙編號(hào)ts的順序,依次完成報(bào)文的收發(fā),每一個(gè)傳感器節(jié)點(diǎn)都是通過(guò)依次啟動(dòng)接收定時(shí)器timerl和發(fā)送定時(shí)器timer2在節(jié)點(diǎn)時(shí)間片Ienl內(nèi)完成一次報(bào)文的收發(fā),具體過(guò)程如下:在匯聚點(diǎn)首次發(fā)布報(bào)文t時(shí),時(shí)隙編號(hào)ts = I的傳感器節(jié)點(diǎn)首先啟動(dòng)接收定時(shí)器timerl,打開(kāi)無(wú)線通信模塊的接收狀態(tài)進(jìn)行報(bào)文接收,收到報(bào)文后立即關(guān)閉無(wú)線通信模塊;當(dāng)發(fā)送定時(shí)器timer2到達(dá)發(fā)送時(shí)刻,開(kāi)啟