專利名稱::一種無線傳感器網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法,屬無線傳感器網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
。
背景技術(shù):
:無線傳感器網(wǎng)絡(luò)是大量傳感器節(jié)點以自組織和多跳的方式構(gòu)成的無線網(wǎng)絡(luò),其目的是協(xié)作地感知、采集、處理和傳輸網(wǎng)絡(luò)區(qū)域內(nèi)傳感器節(jié)點所采集的環(huán)境變量信息,并將有用的數(shù)據(jù)信息報告給用戶。無線傳感器網(wǎng)絡(luò)有兩種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)星型的拓?fù)浣Y(jié)構(gòu)和對等的拓?fù)浣Y(jié)構(gòu)。星型拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)有ー個主協(xié)調(diào)器和多個終端設(shè)備,主協(xié)調(diào)器必須為一個完整功能的設(shè)備,終端設(shè)備既可為完整功能設(shè)備也可為簡化功能設(shè)備。在星型拓?fù)浣Y(jié)構(gòu)中,各個終端設(shè)備之間不能直接通信,只能與主協(xié)調(diào)器通信。對等的拓?fù)渚W(wǎng)絡(luò)機(jī)構(gòu)中,同樣也存在ー個主協(xié)調(diào)器,但該網(wǎng)絡(luò)與星型拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)不同的是,在該網(wǎng)絡(luò)中的任何一個設(shè)備只要是在它的通信范圍內(nèi),就可以和其它設(shè)備進(jìn)行通信。對等拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)能夠構(gòu)成較為復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),例如,網(wǎng)狀拓?fù)浣Y(jié)構(gòu),這種對等拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)在エ業(yè)監(jiān)控、智能藥品安全監(jiān)控、農(nóng)業(yè)智能化及農(nóng)產(chǎn)品的追蹤等方面都有廣泛的應(yīng)用。無線傳感器網(wǎng)絡(luò)覆蓋的范圍極廣,網(wǎng)絡(luò)中的節(jié)點由于各種原因可能會退出所在的網(wǎng)絡(luò),而非網(wǎng)絡(luò)內(nèi)的節(jié)點可能會請求加入該網(wǎng)絡(luò),因此無線傳感器網(wǎng)絡(luò)中各節(jié)點之間的位置關(guān)系及層次結(jié)構(gòu)極容易混淆。傳統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的展現(xiàn)方法只能展現(xiàn)事先設(shè)置的節(jié)點之間的結(jié)構(gòu)關(guān)系,當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生改變時記錄的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)就發(fā)生錯誤,因此這種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的展現(xiàn)方法不能滿足無線傳感器網(wǎng)絡(luò)動態(tài)組網(wǎng)的需求。專利公開(公告)號為CN101217410、發(fā)明名稱為“ー種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的展示方法和設(shè)備”的專利公開ー種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的展示方法和設(shè)備就存在這種缺陷。本發(fā)明將在網(wǎng)頁內(nèi)實時動態(tài)地呈現(xiàn)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),反映網(wǎng)絡(luò)中各實體間的結(jié)構(gòu)及層次關(guān)系,即各節(jié)點之間的連接關(guān)系、各節(jié)點之間的層次關(guān)系以及每個節(jié)點的類型展現(xiàn)狀態(tài),簡單明了,極大地方便了工作人員對無線傳感器網(wǎng)絡(luò)節(jié)點的定位和拓?fù)浣Y(jié)構(gòu)的設(shè)計。
發(fā)明內(nèi)容為了克服現(xiàn)有技術(shù)的缺陷和不足,實現(xiàn)無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的實時動態(tài)顯示和呈現(xiàn),本發(fā)明提供了一種無線傳感器網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法。本發(fā)明的技術(shù)解決方案如下一種無線傳感器網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法,由無線傳感器網(wǎng)絡(luò)、上位機(jī)和TOB站點所組系統(tǒng)來實現(xiàn),無線傳感器網(wǎng)絡(luò)主要包括協(xié)調(diào)器節(jié)點、路由節(jié)點和終端節(jié)點,協(xié)調(diào)器節(jié)點用于啟動和控制網(wǎng)絡(luò),配置網(wǎng)絡(luò)成員地址;路由節(jié)點用于擴(kuò)展網(wǎng)絡(luò)的覆蓋面;終端節(jié)點可以發(fā)送或是接收ー個信息,但是不能執(zhí)行任何路由操作;無線傳感器網(wǎng)絡(luò)組網(wǎng)之后,將自身的地址信息經(jīng)過路由,傳遞到協(xié)調(diào)器節(jié)點,協(xié)調(diào)器節(jié)點通過RS232接ロ與上位機(jī)相連接,并將接收的數(shù)據(jù)信息傳遞給上位機(jī),上位機(jī)經(jīng)數(shù)據(jù)解析從而將收集的數(shù)據(jù)信息寫入MySQL數(shù)據(jù)庫,WEB站點訪問MySQL數(shù)據(jù)庫,經(jīng)過數(shù)據(jù)的處理,實現(xiàn)網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示,該方法步驟如下1)無線傳感器網(wǎng)絡(luò)組網(wǎng)al)協(xié)調(diào)器節(jié)點上電;a2)協(xié)調(diào)器節(jié)點發(fā)布組網(wǎng)請求原語;選擇網(wǎng)絡(luò)標(biāo)識;a4)設(shè)定網(wǎng)絡(luò)地址;a5)其他的路由節(jié)點和終端節(jié)點請求加入網(wǎng)絡(luò);2)網(wǎng)絡(luò)中路由節(jié)點和終端節(jié)點進(jìn)行信息采集和上傳路由節(jié)點和終端節(jié)點獲取相應(yīng)的網(wǎng)絡(luò)地址并記錄其父節(jié)點的網(wǎng)絡(luò)地址,上述各節(jié)點的網(wǎng)絡(luò)地址信息經(jīng)過ー個或是多個路由節(jié)點的路由,將信息上傳到協(xié)調(diào)器節(jié)點;3)上位機(jī)接收攜帶有網(wǎng)絡(luò)節(jié)點地址的數(shù)據(jù)信息;4)上位機(jī)解析接收的網(wǎng)絡(luò)信息并寫入數(shù)據(jù)庫①上位機(jī)軟件對協(xié)調(diào)器節(jié)點傳輸?shù)臄?shù)據(jù)信息按照本地系統(tǒng)的數(shù)據(jù)格式進(jìn)行解折;②調(diào)用MySQL數(shù)據(jù)庫提供的C++接ロ,通過網(wǎng)絡(luò)連接MySQL數(shù)據(jù)庫;③利用MySQL插入語句(INSERTINTO)向MySQL數(shù)據(jù)庫寫入解析之后的數(shù)據(jù)信息;5)TOB站點從數(shù)據(jù)庫讀取無線傳感器網(wǎng)絡(luò)中節(jié)點的信息,分析無線傳感器網(wǎng)絡(luò)中的節(jié)點類型、節(jié)點之間的層次關(guān)系、節(jié)點之間的連接關(guān)系<1>利用MySQL數(shù)據(jù)庫的查詢語句(SELECTFROM)從table_dev_inf表中獲取節(jié)點類型為協(xié)調(diào)器的節(jié)點(N0DE_TYPE=9),即網(wǎng)絡(luò)拓?fù)鋱D的根節(jié)點,位于第0層(stage=0);<2>利用MySQL數(shù)據(jù)庫的查詢語句(SELECTFROM)和條件語句(WHERE)從table_dev_inf表獲取父節(jié)點地址為協(xié)調(diào)器地址的子節(jié)點,并判斷這些子節(jié)點的節(jié)點類型(協(xié)調(diào)器N0DE_TYPE=9,路由器N0DE_TYPE=7,終端節(jié)點N0DE_TYPE=6),位于第1層(stage=1);<3>以上述步驟中的子節(jié)點為作為父節(jié)點,查詢該子節(jié)點的子節(jié)點、判定子節(jié)點的節(jié)點類型及節(jié)點的層次關(guān)系;<4>重復(fù)進(jìn)行步驟<3>,直到所有節(jié)點查詢完畢,從而確定各節(jié)點的節(jié)點類型、層次關(guān)系及連接關(guān)系;6)畫圖并在網(wǎng)頁內(nèi)呈現(xiàn)拓?fù)鋱Da.畫布清空;b.初始化畫布的位置和大小(Topo.init);c.利用上述所述的步驟幻獲取的節(jié)點類型和節(jié)點層次的數(shù)據(jù)信息,初始化網(wǎng)絡(luò)拓?fù)鋱D中的節(jié)點數(shù)據(jù)(initNodeData);d.利用步驟c的節(jié)點數(shù)據(jù),在網(wǎng)絡(luò)拓?fù)鋱D中建立相應(yīng)的網(wǎng)絡(luò)節(jié)點;e.利用上述所述的步驟5)中的節(jié)點連接關(guān)系,初始化網(wǎng)絡(luò)拓?fù)鋱D中節(jié)點之間的(initLineData;;f.利用步驟e中的節(jié)點之間的連線數(shù)據(jù),在網(wǎng)絡(luò)拓?fù)鋱D中建立相應(yīng)的網(wǎng)絡(luò)節(jié)點之間的連線;g.利用步驟d和步驟f所用獲得的節(jié)點和節(jié)點之間的連線,完成拓?fù)鋱D在畫布上的顯示;h.將拓?fù)鋱D顯示在網(wǎng)頁divid=”topo”X/topo>)上;i.定時刷新網(wǎng)頁(setlntervaKrefresMopohfo,60000)),從而實時動態(tài)地顯示無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)鋱D的變化。上述的table_deV_inf表是上位機(jī)向MySQL數(shù)據(jù)庫寫入節(jié)點類型、節(jié)點網(wǎng)絡(luò)地址、節(jié)點的父節(jié)點網(wǎng)絡(luò)地址等信息的表。上述的(Topo.init)是拓?fù)鋱D初始化函數(shù)(清除拓?fù)鋱D中已有的節(jié)點和連線)。上述的(initNodeData)是初始化拓?fù)鋱D中節(jié)點的函數(shù)。上述的(<divid=”t0p0”X/t0p0>)是無線傳感器網(wǎng)絡(luò)拓?fù)鋱D在WEB站點網(wǎng)頁中顯示的區(qū)域。上述的(senterval(refreshTopoInfo,60000))是定時刷新網(wǎng)絡(luò)拓?fù)鋱D的語句,從而保證網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示。上述的父節(jié)點是在數(shù)據(jù)結(jié)構(gòu)中,用來描述“樹”型結(jié)構(gòu)的名詞。這種結(jié)構(gòu)像ー根倒著的樹。每片樹葉都長在ー個節(jié)點上,這個節(jié)點就叫做這個葉子的父節(jié)點。而葉子的父節(jié)點一定還會有上面的父節(jié)點,這樣ー級ー級上去就到了根節(jié)點。上面所述的步驟1)無線傳感器網(wǎng)絡(luò)組網(wǎng),無線傳感器網(wǎng)絡(luò)主要包括協(xié)調(diào)器節(jié)點、路由節(jié)點和終端節(jié)點。協(xié)調(diào)器節(jié)點用于啟動和控制網(wǎng)絡(luò),配置網(wǎng)絡(luò)成員地址;路由節(jié)點用于擴(kuò)展網(wǎng)絡(luò)的覆蓋面;終端節(jié)點可以發(fā)送或是接收ー個信息,但是不能執(zhí)行任何路由操作。無線傳感器網(wǎng)絡(luò)組網(wǎng)之后,每個節(jié)點獲取相應(yīng)的網(wǎng)絡(luò)地址并記錄其父節(jié)點的網(wǎng)絡(luò)地址。各節(jié)點的網(wǎng)絡(luò)地址信息進(jìn)過ー個或是多個路由節(jié)點的路由,將信息上傳到協(xié)調(diào)器節(jié)好、ο協(xié)調(diào)器節(jié)點通過RS232接ロ與上位機(jī)相連,協(xié)調(diào)器節(jié)點與上位機(jī)之間的通信需要制定一定的通信規(guī)范。本發(fā)明步驟幻在實現(xiàn)協(xié)調(diào)器節(jié)點與上位機(jī)的通信時,為了按規(guī)定格式從RS232接ロ接收數(shù)據(jù),也為了從接收到的數(shù)據(jù)中將需要的信息提取出來,需要編制用戶串ロ通信協(xié)議。串ロ通信協(xié)議分為底層通信協(xié)議和用戶通信協(xié)議,底層通信協(xié)議一般由計算機(jī)硬件提供商和設(shè)備廠家提供,在一般性的通信編程中很少涉及,而用戶層協(xié)議則是面向使用者的,也就是我們這里所說的通信協(xié)議。這種用戶層的通信協(xié)議,簡單的說,就是數(shù)據(jù)以何種格式發(fā)送出去,或者如何從接收的某種格式的數(shù)據(jù)串中提取出需要的數(shù)據(jù),以及在發(fā)送和接收過程中如何保證這些數(shù)據(jù)的正確性,數(shù)據(jù)校驗。本發(fā)明中使用的通信規(guī)范定義了五種形式的命令上位機(jī)啟動/關(guān)閉協(xié)調(diào)器無線功能命令,上位機(jī)允許特定終端工作命令,匯節(jié)點上傳數(shù)據(jù)與上位機(jī)下傳數(shù)據(jù)命令,匯節(jié)點上傳終端地址信息命令,回復(fù)確認(rèn)命令。上位機(jī)啟動/關(guān)閉協(xié)調(diào)器無線功能命令用于啟動和關(guān)閉無線傳感器網(wǎng)絡(luò)。協(xié)調(diào)器開啟,促使各個傳感器節(jié)點自動獲取網(wǎng)絡(luò)地址,形成網(wǎng)絡(luò)。網(wǎng)絡(luò)搭建完畢之后各個傳感器節(jié)點開始數(shù)據(jù)信息的采集和上傳。上位機(jī)允許特定終端工作命令用于控制特定傳感器節(jié)點的工作情況。通過該命令可以靈活的控制各個節(jié)點,當(dāng)某一區(qū)域的傳感器節(jié)點存在冗余吋,可以在通過上位機(jī)控制,關(guān)閉冗余的傳感器節(jié)點,避免硬件資源的浪費。匯節(jié)點上傳數(shù)據(jù)與上位機(jī)下傳數(shù)據(jù)命令該命令用于上位機(jī)與無線傳感器網(wǎng)絡(luò)傳感器節(jié)點之間的通信。傳感器節(jié)點采集的數(shù)據(jù)信息通過該命令將環(huán)境變量轉(zhuǎn)換為數(shù)據(jù)流上傳,上位機(jī)對傳感器節(jié)點的控制信息通過該命令下傳。匯節(jié)點上傳終端地址信息命令用于將各傳感器節(jié)點的地址上傳上位機(jī),然后上位機(jī)通過各傳感器節(jié)點的地址對各個傳感器節(jié)點進(jìn)行操作和控制。回復(fù)確認(rèn)命令用于確保通信的可靠性。本發(fā)明中使用的五種命令都是以0x7e開始和結(jié)束,從而區(qū)分先后到達(dá)的兩個命令。命令中包括命令長度、命令類型、終端號、網(wǎng)絡(luò)地址、數(shù)據(jù)、IEEE地址和循環(huán)冗余校驗(CyclicRedundancyCheck,簡稱CRC)等字段。不同命令中包含的字段不同,需單獨進(jìn)行設(shè)置。上述的步驟5)TOB站點從數(shù)據(jù)庫讀取無線傳感器網(wǎng)絡(luò)中節(jié)點的信息,分析無線傳感器網(wǎng)絡(luò)中的節(jié)點類型、節(jié)點之間的層次關(guān)系、節(jié)點之間的連接關(guān)系。上述所述的步驟6)畫圖并在網(wǎng)頁內(nèi)呈現(xiàn)拓?fù)鋱D,實現(xiàn)的關(guān)鍵依賴于Javakript的一個插件MooTools。MooTools是ー個簡潔,模塊化,面向?qū)ο蟮拈_源Javakriptweb應(yīng)用框架。它的功能更強(qiáng)大,比如増加了動畫特效、拖放操作等等,這對本發(fā)明的拓?fù)鋱D的動態(tài)顯示有極大的幫助。本發(fā)明克服了現(xiàn)有技術(shù)的缺陷和不足,提供一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的動態(tài)顯示方法,記錄了無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中節(jié)點之間的層次關(guān)系、節(jié)點之間的連接關(guān)系以及每ー個節(jié)點類型。本發(fā)明根據(jù)無線傳感器網(wǎng)絡(luò)節(jié)點之間的父子關(guān)系展示各節(jié)點的層次關(guān)系和連接關(guān)系,根據(jù)當(dāng)前顯示的節(jié)點和當(dāng)前顯示的連接關(guān)系展現(xiàn)無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。本發(fā)明所提出的一種無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法具有極大的實用性。圖1是本發(fā)明方法的流程框圖。其中1)-6)是其過程中的各個步驟。具體實施例方式下面結(jié)合附圖和實施例對本發(fā)明做進(jìn)ー步說明,但不限于此。實施例本發(fā)明實施例如圖1所示,一種無線傳感器網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法,由無線傳感器網(wǎng)絡(luò)、上位機(jī)和WEB站點所組系統(tǒng)來實現(xiàn),無線傳感器網(wǎng)絡(luò)主要包括協(xié)調(diào)器節(jié)點、路由節(jié)點和終端節(jié)點,協(xié)調(diào)器節(jié)點用于啟動和控制網(wǎng)絡(luò),配置網(wǎng)絡(luò)成員地址;路由節(jié)點用于擴(kuò)展網(wǎng)絡(luò)的覆蓋面;終端節(jié)點可以發(fā)送或是接收ー個信息,但是不能執(zhí)行任何路由操作;無線傳感器網(wǎng)絡(luò)組網(wǎng)之后,將自身的地址信息經(jīng)過路由,傳遞到協(xié)調(diào)器節(jié)點,協(xié)調(diào)器節(jié)點通過RS232接ロ與上位機(jī)相連接,并將接收的數(shù)據(jù)信息傳遞給上位機(jī),上位機(jī)經(jīng)數(shù)據(jù)解析從而將收集的數(shù)據(jù)信息寫入MySQL數(shù)據(jù)庫,WEB站點訪問MySQL數(shù)據(jù)庫,經(jīng)過數(shù)據(jù)的處理,實現(xiàn)網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示,該方法步驟如下1)無線傳感器網(wǎng)絡(luò)組網(wǎng)al)協(xié)調(diào)器節(jié)點上電;a2)協(xié)調(diào)器節(jié)點發(fā)布組網(wǎng)請求原語;a3)選擇網(wǎng)絡(luò)標(biāo)識;a4)設(shè)定網(wǎng)絡(luò)地址;a5)其他的路由節(jié)點和終端節(jié)點請求加入網(wǎng)絡(luò);2)網(wǎng)絡(luò)中路由節(jié)點和終端節(jié)點進(jìn)行信息采集和上傳路由節(jié)點和終端節(jié)點獲取相應(yīng)的網(wǎng)絡(luò)地址并記錄其父節(jié)點的網(wǎng)絡(luò)地址,上述各節(jié)點的網(wǎng)絡(luò)地址信息經(jīng)過ー個或是多個路由節(jié)點的路由,將信息上傳到協(xié)調(diào)器節(jié)點;3)上位機(jī)接收攜帶有網(wǎng)絡(luò)節(jié)點地址的數(shù)據(jù)信息;4)上位機(jī)解析接收的網(wǎng)絡(luò)信息并寫入數(shù)據(jù)庫①上位機(jī)軟件對協(xié)調(diào)器節(jié)點傳輸?shù)臄?shù)據(jù)信息按照本地系統(tǒng)的數(shù)據(jù)格式進(jìn)行解折;②調(diào)用MySQL數(shù)據(jù)庫提供的C++接ロ,通過網(wǎng)絡(luò)連接MySQL數(shù)據(jù)庫;③利用MySQL插入語句(INSERTINTO)向MySQL數(shù)據(jù)庫寫入解析之后的數(shù)據(jù)信息;5)TOB站點從數(shù)據(jù)庫讀取無線傳感器網(wǎng)絡(luò)中節(jié)點的信息,分析無線傳感器網(wǎng)絡(luò)中的節(jié)點類型、節(jié)點之間的層次關(guān)系、節(jié)點之間的連接關(guān)系<1>利用MySQL數(shù)據(jù)庫的查詢語句(SELECTFROM)從table_dev_inf表中獲取節(jié)點類型為協(xié)調(diào)器的節(jié)點(N0DE_TYPE=9),即網(wǎng)絡(luò)拓?fù)鋱D的根節(jié)點,位于第0層(stage=0);<2>利用MySQL數(shù)據(jù)庫的查詢語句(SELECTFROM)和條件語句(WHERE)從table_dev_inf表獲取父節(jié)點地址為協(xié)調(diào)器地址的子節(jié)點,并判斷這些子節(jié)點的節(jié)點類型(協(xié)調(diào)器N0DE_TYPE=9,路由器N0DE_TYPE=7,終端節(jié)點N0DE_TYPE=6),位于第1層(stage=1);<3>以上述步驟中的子節(jié)點為作為父節(jié)點,查詢該子節(jié)點的子節(jié)點、判定子節(jié)點的節(jié)點類型及節(jié)點的層次關(guān)系;<4>重復(fù)進(jìn)行步驟<3>,直到所有節(jié)點查詢完畢,從而確定各節(jié)點的節(jié)點類型、層次關(guān)系及連接關(guān)系;6)畫圖并在網(wǎng)頁內(nèi)呈現(xiàn)拓?fù)鋱Da.畫布清空;b.初始化畫布的位置和大小(Topo.init);c.利用上述所述的步驟幻獲取的節(jié)點類型和節(jié)點層次的數(shù)據(jù)信息,初始化網(wǎng)絡(luò)拓?fù)鋱D中的節(jié)點數(shù)據(jù)(initNodeData);d.利用步驟c的節(jié)點數(shù)據(jù),在網(wǎng)絡(luò)拓?fù)鋱D中建立相應(yīng)的網(wǎng)絡(luò)節(jié)點;e.利用上述所述的步驟5)中的節(jié)點連接關(guān)系,初始化網(wǎng)絡(luò)拓?fù)鋱D中節(jié)點之間的(initLineData;;f.利用步驟e中的節(jié)點之間的連線數(shù)據(jù),在網(wǎng)絡(luò)拓?fù)鋱D中建立相應(yīng)的網(wǎng)絡(luò)節(jié)點之間的連線;g.利用步驟d和步驟f所用獲得的節(jié)點和節(jié)點之間的連線,完成拓?fù)鋱D在畫布上的顯示;h.將拓?fù)鋱D顯示在網(wǎng)頁(<dividニ”topo”></topo>)上;i.定時刷新網(wǎng)頁(setlntervaKrefresMopohfo,60000)),從而實時動態(tài)地顯示無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)鋱D的變化。權(quán)利要求1.一種無線傳感器網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法,由無線傳感器網(wǎng)絡(luò)、上位機(jī)和WEB站點所組系統(tǒng)來實現(xiàn),無線傳感器網(wǎng)絡(luò)主要包括協(xié)調(diào)器節(jié)點、路由節(jié)點和終端節(jié)點,協(xié)調(diào)器節(jié)點用于啟動和控制網(wǎng)絡(luò),配置網(wǎng)絡(luò)成員地址;路由節(jié)點用于擴(kuò)展網(wǎng)絡(luò)的覆蓋面;終端節(jié)點可以發(fā)送或是接收ー個信息,但是不能執(zhí)行任何路由操作;無線傳感器網(wǎng)絡(luò)組網(wǎng)之后,將自身的地址信息經(jīng)過路由,傳遞到協(xié)調(diào)器節(jié)點,協(xié)調(diào)器節(jié)點通過RS232接ロ與上位機(jī)相連接,并將接收的數(shù)據(jù)信息傳遞給上位機(jī),上位機(jī)經(jīng)數(shù)據(jù)解析從而將收集的數(shù)據(jù)信息寫入MySQL數(shù)據(jù)庫,TOB站點訪問MySQL數(shù)據(jù)庫,經(jīng)過數(shù)據(jù)的處理,實現(xiàn)網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示,該方法步驟如下1)無線傳感器網(wǎng)絡(luò)組網(wǎng)al)協(xié)調(diào)器節(jié)點上電;a2)協(xié)調(diào)器節(jié)點發(fā)布組網(wǎng)請求原語;a3)選擇網(wǎng)絡(luò)標(biāo)識;a4)設(shè)定網(wǎng)絡(luò)地址;a5)其他的路由節(jié)點和終端節(jié)點請求加入網(wǎng)絡(luò);2)網(wǎng)絡(luò)中路由節(jié)點和終端節(jié)點進(jìn)行信息采集和上傳路由節(jié)點和終端節(jié)點獲取相應(yīng)的網(wǎng)絡(luò)地址并記錄其父節(jié)點的網(wǎng)絡(luò)地址,上述各節(jié)點的網(wǎng)絡(luò)地址信息經(jīng)過ー個或是多個路由節(jié)點的路由,將信息上傳到協(xié)調(diào)器節(jié)點;3)上位機(jī)接收攜帶有網(wǎng)絡(luò)節(jié)點地址的數(shù)據(jù)信息;4)上位機(jī)解析接收的網(wǎng)絡(luò)信息并寫入數(shù)據(jù)庫①上位機(jī)軟件對協(xié)調(diào)器節(jié)點傳輸?shù)臄?shù)據(jù)信息按照本地系統(tǒng)的數(shù)據(jù)格式進(jìn)行解析;②調(diào)用MySQL數(shù)據(jù)庫提供的C++接ロ,通過網(wǎng)絡(luò)連接MySQL數(shù)據(jù)庫;③利用MySQL插入語句(INSERTINTO)向MySQL數(shù)據(jù)庫寫入解析之后的數(shù)據(jù)信息;5)TOB站點從數(shù)據(jù)庫讀取無線傳感器網(wǎng)絡(luò)中節(jié)點的信息,分析無線傳感器網(wǎng)絡(luò)中的節(jié)點類型、節(jié)點之間的層次關(guān)系、節(jié)點之間的連接關(guān)系<1>利用MySQL數(shù)據(jù)庫的查詢語句(SELECTFROM)從table_dev_inf表中獲取節(jié)點類型為協(xié)調(diào)器的節(jié)點(N0DE_TYPE=9),即網(wǎng)絡(luò)拓?fù)鋱D的根節(jié)點,位于第0層(stage=0);<2>利用MySQL數(shù)據(jù)庫的查詢語句(SELECTFROM)和條件語句(WHERE)從table_dev_inf表獲取父節(jié)點地址為協(xié)調(diào)器地址的子節(jié)點,并判斷這些子節(jié)點的節(jié)點類型(協(xié)調(diào)器N0DE_TYPE=9,路由器N0DE_TYPE=7,終端節(jié)點N0DE_TYPE=6),位于第1層(stage=1);<3>以上述步驟中的子節(jié)點為作為父節(jié)點,查詢該子節(jié)點的子節(jié)點、判定子節(jié)點的節(jié)點類型及節(jié)點的層次關(guān)系;<4>重復(fù)進(jìn)行步驟<3>,直到所有節(jié)點查詢完畢,從而確定各節(jié)點的節(jié)點類型、層次關(guān)系及連接關(guān)系;6)畫圖并在網(wǎng)頁內(nèi)呈現(xiàn)拓?fù)鋱Da.畫布清空;b.初始化畫布的位置和大小(Topo.init);c.利用上述所述的步驟幻獲取的節(jié)點類型和節(jié)點層次的數(shù)據(jù)信息,初始化網(wǎng)絡(luò)拓?fù)鋱D中的節(jié)點數(shù)據(jù)(initNodeData);d.利用步驟c的節(jié)點數(shù)據(jù),在網(wǎng)絡(luò)拓?fù)鋱D中建立相應(yīng)的網(wǎng)絡(luò)節(jié)點;e.利用上述所述的步驟5)中的節(jié)點連接關(guān)系,初始化網(wǎng)絡(luò)拓?fù)鋱D中節(jié)點之間的連線UnitLineData);f.利用步驟e中的節(jié)點之間的連線數(shù)據(jù),在網(wǎng)絡(luò)拓?fù)鋱D中建立相應(yīng)的網(wǎng)絡(luò)節(jié)點之間的連線;g.利用步驟d和步驟f所用獲得的節(jié)點和節(jié)點之間的連線,完成拓?fù)鋱D在畫布上的顯示;h.將拓?fù)鋱D顯示在網(wǎng)頁divid=”topo”X/topo>)上;i.定時刷新網(wǎng)頁(setlntervaKrefresMopohfo^OOOO)),從而實時動態(tài)地顯示無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)鋱D的變化。全文摘要一種無線傳感器網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示方法,屬無線傳感器網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
。由無線傳感器網(wǎng)絡(luò)、上位機(jī)和WEB站點來實現(xiàn)。無線傳感器網(wǎng)絡(luò)組網(wǎng)之后,將自身的地址信息經(jīng)過路由,傳遞到協(xié)調(diào)器節(jié)點,該節(jié)點經(jīng)RS232接口與上位機(jī)相接,并將接收的數(shù)據(jù)信息傳遞給上位機(jī)。上位機(jī)經(jīng)數(shù)據(jù)解析后將收集的數(shù)據(jù)信息寫入MySQL數(shù)據(jù)庫,WEB站點訪問MYSQL數(shù)據(jù)庫,經(jīng)數(shù)據(jù)處理,實現(xiàn)網(wǎng)絡(luò)拓?fù)鋱D的動態(tài)顯示。本發(fā)明將網(wǎng)頁內(nèi)實時動態(tài)地呈現(xiàn)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),反映網(wǎng)絡(luò)中各實體間的結(jié)構(gòu)及層次關(guān)系,即各節(jié)點間的連接關(guān)系和層次關(guān)系以及每個節(jié)點的類型展現(xiàn)狀態(tài),簡單明了,極大地方便了工作人員對無線傳感器網(wǎng)絡(luò)節(jié)點的定位和拓?fù)浣Y(jié)構(gòu)的設(shè)計。文檔編號H04W84/18GK102546831SQ20121004893公開日2012年7月4日申請日期2012年2月28日優(yōu)先權(quán)日2012年2月28日發(fā)明者于莉,林慧琳,袁東風(fēng)申請人:山東大學(xué)