<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于ZigBee無(wú)線(xiàn)網(wǎng)絡(luò )的可控組網(wǎng)方法研究

基于ZigBee無(wú)線(xiàn)網(wǎng)絡(luò )的可控組網(wǎng)方法研究

作者: 時(shí)間:2017-06-12 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/352656.htm

無(wú)線(xiàn)網(wǎng)絡(luò )申節點(diǎn)多采用自組網(wǎng)的方式入網(wǎng),這種方式容易引起網(wǎng)絡(luò )中部分節點(diǎn)的過(guò)度消耗。針對此種情況提出可控組網(wǎng)方式,通過(guò)對節點(diǎn)入網(wǎng)父節點(diǎn)的選擇控制,可以有效的監控管理整個(gè)網(wǎng)絡(luò )的拓撲結構和節點(diǎn)分布,并延長(cháng)節點(diǎn)和網(wǎng)絡(luò )的壽命。通過(guò)在基于CC2530的開(kāi)發(fā)系統申對可控組網(wǎng)方式編譯和實(shí)現,驗證了其可行性。

隨著(zhù)社會(huì )的發(fā)展,無(wú)線(xiàn)網(wǎng)絡(luò )在我們的各項活動(dòng)中扮演著(zhù)越來(lái)越重要的角色。無(wú)線(xiàn)通信技術(shù)有很多,其中技術(shù)以其低速率、短距離、低功耗的特點(diǎn),較好地適用于智能家庭、智能建筑、醫療應用和工業(yè)自動(dòng)化等某些特定的需求。

文中主要是對網(wǎng)絡(luò )通訊組網(wǎng)方式的研究。ZigBee2007/PRO中規定的ZigBee網(wǎng)絡(luò )中節點(diǎn)采取的方式組建網(wǎng)絡(luò )。自組網(wǎng)容易將多個(gè)子節點(diǎn)經(jīng)同一父節點(diǎn)入網(wǎng),導致部分路由節點(diǎn)負擔過(guò)重耗電較快,進(jìn)而引起過(guò)早死亡。本文主要是研究通過(guò)一種可控的組網(wǎng)方式,使得用戶(hù)可以通過(guò)上位機自動(dòng)或手動(dòng)的選擇父節點(diǎn)讓節點(diǎn)入網(wǎng),這樣可以避免對個(gè)別關(guān)鍵節點(diǎn)的過(guò)量消耗,延長(cháng)網(wǎng)絡(luò )壽命。

1方法分析

(Ad Hoc)又稱(chēng)為多跳無(wú)線(xiàn)網(wǎng),它是一種無(wú)中心節點(diǎn)、多跳的自組織技術(shù)。在ZigBee2007/PRO中倡導的組網(wǎng)方式中,一個(gè)新的節點(diǎn)在網(wǎng)絡(luò )中可以隨機放置,接通電源后先完成節點(diǎn)初始化,然后首先向協(xié)調點(diǎn)發(fā)送指令,協(xié)調點(diǎn)接收到請求分配級別指令后會(huì )記錄節點(diǎn)信息并分配對應級別,并發(fā)送分配級別指令。節點(diǎn)在設定的時(shí)間內如果收到了分配指令,就會(huì )協(xié)調點(diǎn)發(fā)送包含白組織信息的數據包,確定自己在網(wǎng)絡(luò )中的級別和父節點(diǎn)信息,接入網(wǎng)絡(luò )。如果在設定的時(shí)間內沒(méi)有收到分配級別的指令,該節點(diǎn)就會(huì )從待機狀態(tài)喚醒,再次發(fā)送分配級別請求指令,循環(huán)執行,直到接入成功。當達到設置的上限次數但仍未獲得指令信息時(shí),則節點(diǎn)接入失敗并報告錯誤。節點(diǎn)自組織流程圖1所示。



圖1 節點(diǎn)自組織流程圖


2改進(jìn)的組網(wǎng)方式

文中要實(shí)現的組網(wǎng)方式,是要讓子節點(diǎn)加入網(wǎng)絡(luò )時(shí)實(shí)現有效的全程可控。當新節點(diǎn)放入網(wǎng)絡(luò )后,會(huì )先廣播發(fā)送信標幀,有效范圍內的可用父節點(diǎn)收到信標后會(huì )回復確認消息,其中包含父節點(diǎn)本身的信息,新節點(diǎn)收到反饋的消息后會(huì )搜集父節點(diǎn)信息,整理后把包含父節點(diǎn)信息和自身信息的消息廣播發(fā)送給協(xié)調器。協(xié)調器接收到消息后會(huì )通過(guò)串口發(fā)送到上位機控制器,經(jīng)判斷后自動(dòng)或人為的選擇適合接入的父節點(diǎn)并將此消息發(fā)送給對應父節點(diǎn),父節點(diǎn)接收到此消息后向新節點(diǎn)發(fā)送消息建立連接,節點(diǎn)入網(wǎng)完成。

一個(gè)新節點(diǎn)放入網(wǎng)絡(luò )中,打開(kāi)電源后會(huì )首先應用層會(huì )向網(wǎng)絡(luò )層發(fā)送一條發(fā)現網(wǎng)絡(luò )請求原語(yǔ)NLME-NETWORK-DISCOVERY.request對節點(diǎn)進(jìn)行初始化。網(wǎng)絡(luò )層收到網(wǎng)絡(luò )發(fā)現請求原語(yǔ)后會(huì )向發(fā)送節點(diǎn)掃描請求原語(yǔ)MLME-SCAN.request,來(lái)指示進(jìn)行網(wǎng)絡(luò )的主動(dòng)掃描。收到此條原語(yǔ)后就會(huì )指示物理層向網(wǎng)絡(luò )中廣播發(fā)送一條掃描父節點(diǎn)信標幀,然后進(jìn)入待機模式等待反饋。在可用的父節點(diǎn)接收到信標幀后,會(huì )向子節點(diǎn)反饋發(fā)送確認消息,其確認消息中將包含父節點(diǎn)本身的信息。節點(diǎn)的MAC層會(huì )接收每條具有有效負載的反饋信標,然后對收到的信息進(jìn)行整理,確認信標負載、信標的對應節點(diǎn)地址等信息,整理后MAC層將會(huì )向NLME發(fā)送一條指示原語(yǔ)MLME-BEACON-NOTIFY.indication.NLME在收到原語(yǔ)后會(huì )對接收到的數據中的地址字段進(jìn)行標記,以確定是否與自己的近鄰表中現有地址相同。如果比對結果顯示二者相同,即重復節點(diǎn),節點(diǎn)會(huì )把信標丟棄;如果二者不同,節點(diǎn)就保存信標信息,并把其中的地址信息添加到自己的近鄰表中。MAC層在達到設定的計時(shí)周期后,就會(huì )向NLME發(fā)送掃描確認原語(yǔ)MLME-SCAN.confirm,以標志掃描過(guò)程結束。然后網(wǎng)絡(luò )層向應用層法發(fā)送一條發(fā)現確認原語(yǔ)NLME-NETWORK-DISCOVERY.confirm,將其掃描到的節點(diǎn)信息反饋給應用層。應用層在接收到網(wǎng)絡(luò )層發(fā)送的發(fā)現確認原語(yǔ)后,會(huì )向NLME發(fā)送加入請求原語(yǔ)NL ME-JOIN.request,發(fā)送的原語(yǔ)中對應的標識符參數與搜尋到的各節點(diǎn)的網(wǎng)絡(luò )標識符一致。網(wǎng)絡(luò )層在收到上層的加入請求指令后,會(huì )整理搜尋到的可用父節點(diǎn)信息,加入地址信息后發(fā)送加入請求原語(yǔ)MLME-JOIN.request給MAC層。MAC層收到原語(yǔ)后會(huì )指示物理層向網(wǎng)絡(luò )中廣播發(fā)送一條加入請求信標幀,然后節點(diǎn)會(huì )打開(kāi)定時(shí)器并進(jìn)入低功耗待機狀態(tài),等待上級響應。

子節點(diǎn)會(huì )在指定的時(shí)間間隔周期的喚醒接收上級的指令。協(xié)調器完成父節點(diǎn)選擇后會(huì )給指定的父節點(diǎn)發(fā)送確認加入指令,父節點(diǎn)接收到消息后會(huì )給子節點(diǎn)發(fā)送一條加入請求原語(yǔ)NLME-DIRECT-JOIN.request來(lái)完成初始化,原語(yǔ)中的參數DeviceAddress記錄將要加入網(wǎng)絡(luò )的節點(diǎn)地址信息,然后向子節點(diǎn)發(fā)送一條請求加入的信標幀。子節點(diǎn)在收到父節點(diǎn)的信標幀后,MAC層會(huì )向網(wǎng)絡(luò )層發(fā)送指示原語(yǔ)MLME-ASSOICATE.in dication,將接收到的父節點(diǎn)信息發(fā)送到上層。網(wǎng)絡(luò )層收到原語(yǔ)后將記錄父節點(diǎn)信息并比對與近鄰表中記錄的可用父節點(diǎn)信息是否一致,若一致,則向MAC層發(fā)送加入請求原語(yǔ)MLME-JOIN.request;若不一致則發(fā)送錯誤報告。MAC層在與父節點(diǎn)關(guān)聯(lián)成功后會(huì )向網(wǎng)絡(luò )層發(fā)送加入確認原語(yǔ)MLME-JOIN.confirm指示加入成功,網(wǎng)絡(luò )層將向應用層發(fā)送加入確認原語(yǔ)NLME-JOIN.confirm,告知節點(diǎn)入網(wǎng)成功。新節點(diǎn)加入網(wǎng)絡(luò )中子節點(diǎn)的信息流程圖如2所示。



圖2 新節點(diǎn)加入網(wǎng)絡(luò )中子節點(diǎn)的信息流程圖


作為父節點(diǎn)的協(xié)調點(diǎn)或路由節點(diǎn)收到子節點(diǎn)發(fā)出的節點(diǎn)掃描信標幀后,NLME會(huì )先查看自己的近鄰表中是否存在與之相匹配的地址信息,以對新節點(diǎn)是否加入過(guò)網(wǎng)絡(luò )進(jìn)行判斷。如果發(fā)現有相匹配的地址信息,則路由節點(diǎn)NLME會(huì )記錄此條地址信息,然后按照下文的網(wǎng)絡(luò )原有節點(diǎn)重新加入網(wǎng)絡(luò )進(jìn)行操作;如果發(fā)現沒(méi)有相匹配的地址信息,則路由節點(diǎn)NLME會(huì )向MAC層發(fā)送一條響應原語(yǔ)MIME-ASSOCIATE.resPonse。MAC層收到響應原語(yǔ)后會(huì )指示節點(diǎn)物理層向新節點(diǎn)發(fā)送一條狀態(tài)信息,信息中記錄路由節點(diǎn)的地址和標識符等信息。

等收到子節點(diǎn)發(fā)送來(lái)的整理完成的信息幀時(shí),路由節點(diǎn)的MAC層會(huì )讀取信息幀中的頭地址信息,然后向NLME發(fā)送數據發(fā)送請求原語(yǔ)MLME-SEND.request,網(wǎng)絡(luò )層收到請求原語(yǔ)后判斷發(fā)送地址是否正確并尋找發(fā)送數據需要的路徑。路徑建立后網(wǎng)絡(luò )層向MAC層發(fā)送發(fā)送確認原語(yǔ)MLME-SEND.response,指示節點(diǎn)發(fā)送數據。

當信息發(fā)送到協(xié)調點(diǎn)并經(jīng)上位機選擇后會(huì )生成一條指示入網(wǎng)命令幀,然后發(fā)送。網(wǎng)絡(luò )會(huì )根據上位機選擇的父節點(diǎn)地址將命令幀轉發(fā)給對應的節點(diǎn)。選擇的父節點(diǎn)收到命令幀后會(huì )讀取命令信息,然后節點(diǎn)MAC層發(fā)送加入請求原語(yǔ)MLME-JOIN.request給網(wǎng)絡(luò )層,NLME收到原語(yǔ)后會(huì )給新節點(diǎn)分配網(wǎng)絡(luò )地址。父節點(diǎn)接收入網(wǎng)請求成功,NLME會(huì )在節點(diǎn)近鄰表中加入新節點(diǎn)的地址等信息,然后發(fā)送加入確認原語(yǔ)MLME-JOI N.confirm給MAC層以報告關(guān)聯(lián)成功。新節點(diǎn)加入網(wǎng)絡(luò )中時(shí)路由節點(diǎn)的信息流程圖如圖3所示。



圖3 新節點(diǎn)加入網(wǎng)絡(luò )中路由節點(diǎn)的信息流程圖


3組網(wǎng)過(guò)程的實(shí)現

在進(jìn)行ZigBee無(wú)線(xiàn)網(wǎng)絡(luò )的開(kāi)發(fā)應用時(shí),首先應選取合適的硬件設備。TI公司的CC2530微控制器是新一代的片上系統解決方案。本文選取了成都無(wú)線(xiàn)龍公司生產(chǎn)的較為成熟的基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò )開(kāi)發(fā)系統C51RF-CC2530-PK.軟件開(kāi)發(fā)環(huán)境本文選取了IAR Embedded Workbench的C/C++交叉編譯器和調試器。

需要入網(wǎng)的子節點(diǎn)在完成初始化后,就會(huì )啟動(dòng)入網(wǎng)過(guò)程。節點(diǎn)會(huì )向網(wǎng)絡(luò )中廣播信標幀,然后等待可用路由節點(diǎn)的反饋。廣播發(fā)送數據的函數如下所示:



當收到反饋的可用父節點(diǎn)信息時(shí),節點(diǎn)會(huì )將反饋的信息搜集整理后發(fā)送出去,然后進(jìn)入待機狀態(tài),等待入網(wǎng)反饋。節點(diǎn)廣播入網(wǎng)請求信息函數段如下所示:


當上位機選取合適的父節點(diǎn)后,父節點(diǎn)會(huì )與子節點(diǎn)啟動(dòng)經(jīng)指定節點(diǎn)直接入網(wǎng)過(guò)程。此部分程序在ZigBee協(xié)議棧中有例子程序,在此不再詳述。

在子節點(diǎn)有效距離內的路由節點(diǎn)和協(xié)調器會(huì )在于節點(diǎn)廣播消息時(shí)接收到掃描幀,當路由節點(diǎn)收到子節點(diǎn)的掃描幀時(shí)會(huì )首先判斷自身是否具有加入新節點(diǎn)的能力,包括是否有足夠地址空間等。路由節點(diǎn)反饋的函數段如下所示:


子節點(diǎn)搜集收到信息后會(huì )給路由節點(diǎn)發(fā)送入網(wǎng)請求,其入網(wǎng)請求信息中包含可用父節點(diǎn)信息。向協(xié)調器轉發(fā)請求入網(wǎng)信息的函數段如下所示:


父節點(diǎn)收到指令后會(huì )啟動(dòng)節點(diǎn)入網(wǎng)過(guò)程。

文中用包括一個(gè)協(xié)調器、兩個(gè)路由節點(diǎn)和一個(gè)終端節點(diǎn)的網(wǎng)絡(luò )進(jìn)行實(shí)驗驗證。程序編寫(xiě)完成后將協(xié)調器代碼下載至節點(diǎn)1,并將此節點(diǎn)標記為協(xié)調器;將父節點(diǎn)程序分別下載至節點(diǎn)2和節點(diǎn)3,并將這兩個(gè)節點(diǎn)作為原網(wǎng)絡(luò )的路由節點(diǎn),也即子節點(diǎn)入網(wǎng)時(shí)的可用父節點(diǎn);將入網(wǎng)節點(diǎn)程序下載至節點(diǎn)4.

下載完成后分別先打開(kāi)協(xié)調器節點(diǎn)1和路由節點(diǎn)節點(diǎn)2節點(diǎn)3的電源,用USB線(xiàn)將協(xié)調器與上位機連接起來(lái),等待路由節點(diǎn)自動(dòng)加入網(wǎng)絡(luò ),組建所需主干網(wǎng)。待組建完成后打開(kāi)節點(diǎn)4電源,并打開(kāi)串口調試助手,此時(shí)會(huì )看到節點(diǎn)4掃描可用父節點(diǎn)信息后發(fā)送的入網(wǎng)請求信息,并在上微機軟件窗口顯示節點(diǎn)信息,此時(shí)選擇節點(diǎn)3作為接入父節點(diǎn),此時(shí)可通過(guò)串口調試助手看到確認接入命令。節點(diǎn)3接收到指令后會(huì )啟動(dòng)接收節點(diǎn)4為其子節點(diǎn),節點(diǎn)4加入網(wǎng)絡(luò )。加入網(wǎng)絡(luò )成功后會(huì )在上位機軟件顯示網(wǎng)絡(luò )拓撲結構。


4結論

通過(guò)對組建網(wǎng)絡(luò )和入網(wǎng)過(guò)程的運行實(shí)現,驗證了所做的可控組網(wǎng)改進(jìn)方法達到了預期設定的目的,實(shí)現了上位機通過(guò)選取可用的父節點(diǎn)對入網(wǎng)過(guò)程的控制。這樣的情況下當在一些特殊情況下或者已知路由節點(diǎn)狀態(tài)的情況下可以很好地避開(kāi)功能較弱或者剩余電量較低的節點(diǎn),可有效地提高關(guān)鍵節點(diǎn)的壽命,進(jìn)而提高了網(wǎng)絡(luò )的壽命。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>