一種無(wú)線傳感器網(wǎng)絡(luò)分析方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于無(wú)線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種無(wú)線傳感器網(wǎng)絡(luò)分析方法。
【背景技術(shù)】
[0002] 無(wú)線傳感器網(wǎng)絡(luò)(簡(jiǎn)稱傳感網(wǎng))是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的具有數(shù)據(jù)采集和處 理功能的微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信的方式形成的一個(gè)多跳自組織網(wǎng)絡(luò),以實(shí)現(xiàn) 協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中監(jiān)測(cè)對(duì)象的信息。無(wú)線傳感器網(wǎng)絡(luò)能夠廣泛應(yīng)用 于軍事安防、管網(wǎng)檢測(cè)、環(huán)境監(jiān)測(cè)和預(yù)測(cè)、工業(yè)控制、空間探索、醫(yī)療護(hù)理、智能家居、智能交 通和智能城市等領(lǐng)域,將在國(guó)民經(jīng)濟(jì)各個(gè)領(lǐng)域中扮演越來(lái)越重要的作用,近年來(lái),隨著計(jì)算 機(jī)技術(shù)和信息技術(shù)的發(fā)展,無(wú)線通信技術(shù)已經(jīng)應(yīng)用到人們生活和工作的各個(gè)方面。在此基 礎(chǔ)上,由IEEE802. 15. 4協(xié)議發(fā)展而來(lái)的ZigBee技術(shù)更是獲得眾多廠商以及國(guó)內(nèi)外科研機(jī) 構(gòu)的青睞。
[0003] 由于無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)的不可見性和非直觀性,目前的研究者多采用仿真模擬 的方式測(cè)試網(wǎng)絡(luò)協(xié)議和程序,該方法雖然在一定程度上方便可行,但是不能完全體現(xiàn)真實(shí) 環(huán)境中無(wú)線傳感器網(wǎng)絡(luò)的工作狀態(tài)。從而導(dǎo)致仿真結(jié)果與實(shí)際情況存在較大誤差。這也是 現(xiàn)階段研究無(wú)線傳感器網(wǎng)絡(luò)及相關(guān)協(xié)議的一大障礙。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明就是針對(duì)上述問(wèn)題,提供一種穩(wěn)定性好、顯示直觀的無(wú)線傳感器網(wǎng)絡(luò)分析 方法。
[0005] 為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案,本發(fā)明包括模型部分,完成系統(tǒng)的數(shù) 據(jù)處理和業(yè)務(wù)邏輯、定義系統(tǒng)處理的數(shù)據(jù)模型,包括IEEE 802. 15. 4標(biāo)準(zhǔn)定義的四大類幀格 式:信標(biāo)幀、數(shù)據(jù)幀、確認(rèn)幀和命令幀,其中命令幀分為關(guān)聯(lián)請(qǐng)求、關(guān)聯(lián)響應(yīng)、解關(guān)聯(lián)通知、數(shù) 據(jù)請(qǐng)求、PAN ID沖突通知、孤立通知、信標(biāo)請(qǐng)求、協(xié)調(diào)器重排列和GTS請(qǐng)求;
[0006] 視圖模塊負(fù)責(zé)數(shù)據(jù)的顯示,包括顯示解析后的數(shù)據(jù)幀信息、實(shí)時(shí)顯示無(wú)線傳感器 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)以及無(wú)線傳感器各節(jié)點(diǎn)信道資源分配顯示;
[0007] 數(shù)據(jù)處理流程:軟件啟動(dòng)后,首先配置串口參數(shù)并與采集硬件建立連接,然后軟件 接收采集硬件發(fā)送的數(shù)據(jù)并將這些數(shù)據(jù)進(jìn)行封裝等待下一步的處理,封裝后的數(shù)據(jù)幀進(jìn)入 Model模塊線程池中的消息隊(duì)列等待空閑線程進(jìn)行分析處理,分析后的數(shù)據(jù)由控制器分發(fā) 往各個(gè)界面進(jìn)行顯示。
[0008] 作為一種優(yōu)選方案,本發(fā)明所述數(shù)據(jù)處理流程,數(shù)據(jù)進(jìn)入系統(tǒng)后首先被封裝成 MessageModel類型,MessageModel類中定義獲取幀格式、幀的到達(dá)時(shí)間、幀的源地址目的 地址、幀載荷以及幀頭控制字段,Model部分針對(duì)IEEE 802. 15. 4標(biāo)準(zhǔn)定義四大類幀:信標(biāo) 幀、數(shù)據(jù)幀、確認(rèn)幀和命令幀,以及命令幀細(xì)分的關(guān)聯(lián)請(qǐng)求、關(guān)聯(lián)響應(yīng)、解關(guān)聯(lián)通知、數(shù)據(jù)請(qǐng) 求、PAN ID沖突通知、孤立通知、信標(biāo)請(qǐng)求、協(xié)調(diào)器重排列和GTS請(qǐng)求。(如圖5所示)
[0009] 作為另一種優(yōu)選方案,本發(fā)明所述數(shù)據(jù)進(jìn)入Model模塊后,首先被復(fù)制成兩份,其 中一份進(jìn)入View(視圖)模塊進(jìn)行顯示;另一份被放入消息隊(duì)列中等待線程處理,然后系統(tǒng) 從線程池中取出一個(gè)空閑線程,該線程從消息隊(duì)列取出一個(gè)消息進(jìn)行處理,獲取幀的數(shù)量、 比例以及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分析;
[0010] 獲取幀的數(shù)量和比例:對(duì)于每種幀設(shè)置一個(gè)int型變量,每到達(dá)一個(gè)消息,對(duì)其進(jìn) 行分析得出幀類型后,將相應(yīng)的變量加1,然后將該變量除以全部幀的數(shù)量即得到該幀的比 例;
[0011] 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分析:根據(jù)IEEE802. 15.4協(xié)議規(guī)定,無(wú)線傳感器節(jié)點(diǎn)申請(qǐng)入網(wǎng)時(shí)需 向協(xié)調(diào)器節(jié)點(diǎn)發(fā)送"關(guān)聯(lián)請(qǐng)求"幀,協(xié)調(diào)器節(jié)點(diǎn)收到關(guān)聯(lián)請(qǐng)求后,如果同意入網(wǎng)就向申請(qǐng)入 網(wǎng)節(jié)點(diǎn)發(fā)送"關(guān)聯(lián)響應(yīng)"幀。
[0012] 作為另一種優(yōu)選方案,本發(fā)明所述視圖模塊的拓?fù)浣Y(jié)構(gòu)圖入網(wǎng)節(jié)點(diǎn)V,與V相關(guān) 的節(jié)點(diǎn)為兩種,一種是關(guān)鍵節(jié)點(diǎn),一種是普通節(jié)點(diǎn),圖形框架F 1 = (G1, Q1),圖形單元G1 = (Vi, Ei);施加在節(jié)點(diǎn)V中的力的總和為:
[0014] 在公式(1)中,fuv代表V的鄰節(jié)點(diǎn)對(duì)V施加力的情況,即彈簧施加力的情況;g uv 和huv分別是節(jié)點(diǎn)V周圍的普通節(jié)點(diǎn)和關(guān)鍵節(jié)點(diǎn)對(duì)V施加的萬(wàn)有引力;度值大于10的節(jié)點(diǎn) 為關(guān)鍵節(jié)點(diǎn),度值小于10的節(jié)點(diǎn)為普通節(jié)點(diǎn);
[0015] 用d(p,q)代表點(diǎn)p,q之間的距離(歐幾里得距離)并且用Pv = (xv,yv)代表節(jié) 點(diǎn)V的坐標(biāo),由公式(1)可知,節(jié)點(diǎn)V的X方向受力的合力是:
[0017] Iuv是彈簧的自然長(zhǎng)度,也就是當(dāng)節(jié)點(diǎn)V與其鄰節(jié)點(diǎn)間受到的彈簧合力為0時(shí),彈 簧的長(zhǎng)度;
[0019] 當(dāng)節(jié)點(diǎn)U是普通節(jié)點(diǎn)時(shí),節(jié)點(diǎn)U和節(jié)點(diǎn)V之間的萬(wàn)有引力系數(shù)是,
[0020] 當(dāng)節(jié)點(diǎn)u是關(guān)鍵節(jié)點(diǎn)時(shí),節(jié)點(diǎn)u和節(jié)點(diǎn)V之間的萬(wàn)有引力系數(shù)是,
[0021] 作為一種優(yōu)選方案,本發(fā)明所述節(jié)點(diǎn)V受到的f (V)分為X,y兩個(gè)方向上的分力 Δχ (V)和Ay (V),二者分別是隨著界面刷新節(jié)點(diǎn)V在x,y方向上移動(dòng)的距離,
[0022] fx (V) = m(V) ax (V) ;m(V)是節(jié)點(diǎn)V的質(zhì)量,ax (V)是節(jié)點(diǎn)V的加速度,每一個(gè)節(jié)點(diǎn) 都具有同樣的質(zhì)量1,那么ax(v) = fx(v);
[0023] 節(jié)點(diǎn)v的初始化速度是0,即節(jié)點(diǎn)v在第一個(gè)可視化步驟Di+1中的初始化速度是0, 那么在X的運(yùn)動(dòng)方向上,節(jié)點(diǎn)V在t時(shí)刻的運(yùn)動(dòng)速度為:
[0027] 這里t。= 0, h = ?〇+Δ t,. . .,tj = tj i+Δ t,當(dāng)Δ t非常小時(shí),將節(jié)點(diǎn)v在時(shí)間段 [tj tj]內(nèi)的加速度看成一個(gè)常量ax(tj D ;那么在時(shí)間段[tj D tj]內(nèi),節(jié)點(diǎn)V在X方向上 的速度為:
[0028] V (t j) = V (t j i) +ax (t j i) Δ t (8)
[0029] 位移為:
[0033] 作為一種優(yōu)選方案,本發(fā)明所述Δ t = 0. 2
[0034] 作為一種優(yōu)選方案,本發(fā)明所述u,v之間的距離為70圖形單元格。
[0035] 作為另一種優(yōu)選方案,本發(fā)明所述在本套虛擬儀器實(shí)現(xiàn)中,
[0036] 作為另一種優(yōu)選方案,本發(fā)明所述在本套虛擬儀器實(shí)現(xiàn)中,
[0037] 作為另一種優(yōu)選方案,本發(fā)明所述At = 0. 2。
[0038] 作為另一種優(yōu)選方案,本發(fā)明所述
[0039] 作為另一種優(yōu)選方案,本發(fā)明所述模型部分還維護(hù)一個(gè)消息隊(duì)列和線程池,數(shù)據(jù) 進(jìn)入該模塊后,首先被放入消息隊(duì)列中等待線程處理,然后系統(tǒng)從線程池中取出一個(gè)空閑 線程,該線程從消息隊(duì)列取出一個(gè)消息進(jìn)行處理,獲得幀的類型、幀中各字段的詳細(xì)信息。
[0040] 其次,本發(fā)明所述視圖模塊的Links接口包括顯示消息showMessage、添加節(jié)點(diǎn) addNode、重啟restart部分,一控制模塊控制視圖模塊的視圖更新。
[0041] 另外,本發(fā)明所述視圖模塊包括 MessageView、NetworkView、TimeSeriesView、 BandWidthView部分,當(dāng)串口接收到數(shù)據(jù)或者根據(jù)串口數(shù)據(jù)判斷無(wú)線傳感器網(wǎng)路拓?fù)浣Y(jié)構(gòu) 發(fā)生改變時(shí),全局控制器LinkManager輪詢?cè)L問(wèn)各主視圖界面,各界面進(jìn)行相應(yīng)的更新或 修改。
[0042] 本發(fā)明有益效果。
[0043] 本發(fā)明完成各種測(cè)試和測(cè)量的應(yīng)用,具有單一硬件數(shù)據(jù)采集,多種形式數(shù)據(jù)表現(xiàn), 統(tǒng)計(jì)手段多樣化,分析方法多樣化的特點(diǎn)。本發(fā)明將數(shù)據(jù)的顯示、邏輯處理和控制部分分成 獨(dú)立的模塊,使數(shù)據(jù)的輸入、處理和顯示分開,提高了系統(tǒng)的穩(wěn)定性、可維護(hù)性和擴(kuò)展性。
[0044] 本發(fā)明通過(guò)對(duì)接收到的數(shù)據(jù)進(jìn)行分析,能夠得到無(wú)線傳感器網(wǎng)絡(luò)的多種信息 (如:各種幀的時(shí)序圖及所占的比例、幀中各字段的詳細(xì)信息和網(wǎng)絡(luò)的整體拓?fù)浣Y(jié)構(gòu))并將 這些信息直觀、實(shí)時(shí)地顯示出來(lái)。因此,使得研究人員能夠直觀準(zhǔn)確地得到網(wǎng)絡(luò)的數(shù)據(jù)而不 必借助仿真工具,減少了研究實(shí)驗(yàn)的誤差。
[0045] 本發(fā)明視圖模塊的拓?fù)浣Y(jié)構(gòu)圖入網(wǎng)節(jié)點(diǎn)繪制方法,能夠美觀、準(zhǔn)確地顯示無(wú)線傳 感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),避免了傳統(tǒng)拓?fù)淅L圖算法的邊交叉、點(diǎn)重合等問(wèn)題,方便對(duì)網(wǎng)絡(luò)的整 體結(jié)構(gòu)進(jìn)行準(zhǔn)確直觀的判斷。
[0046] 本發(fā)明可借助通用的采集硬件,能夠?qū)Χ喾N采用ZigBee協(xié)議的無(wú)線傳感器網(wǎng)絡(luò) 發(fā)送的數(shù)據(jù)進(jìn)行分析。
【附圖說(shuō)明】
[0047] 下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明做進(jìn)一步說(shuō)明。本發(fā)明保護(hù)范圍不僅局限 于以下內(nèi)容的表述。
[0048] 圖1為本發(fā)明的總體構(gòu)成圖。
[0049] 圖2為本發(fā)明的數(shù)據(jù)處理流程圖。
[0050] 圖3為本發(fā)明的視圖模塊構(gòu)成圖。
[0051] 圖4為軟件的視圖框架數(shù)據(jù)分析示意圖。
[0052] 圖5是Model部分幀的數(shù)據(jù)模型圖。
[0053] 圖6是節(jié)點(diǎn)V所受到的引力示意圖。
【具體實(shí)施方式】
[0054] 如圖所示,本發(fā)明可采用無(wú)線傳感器節(jié)點(diǎn)和數(shù)據(jù)采集模塊,傳感器節(jié)點(diǎn)具有采集 監(jiān)控?cái)?shù)據(jù)并發(fā)送的功能,由符合IEEE 802. 15. 4標(biāo)準(zhǔn)的Si4432和ATmega32L微處理器組成。 數(shù)據(jù)采集模塊的數(shù)據(jù)處理芯片采用基于AVR RISC結(jié)構(gòu)的CMOS微處理器--ATmegal28L芯 片和Si4432無(wú)線通信芯片。數(shù)據(jù)采集模塊可作為Sink節(jié)點(diǎn)通過(guò)無(wú)線方式與無(wú)線傳感器網(wǎng) 絡(luò)中的各節(jié)點(diǎn)通信。
[0055] 如圖1所示,各個(gè)模塊各司其職,互不干擾,減少了系統(tǒng)的耦合度,方便以后對(duì)軟 件的修改和完善。"模型(Mode