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