專利名稱:一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)的調(diào)試與測試方法,尤其指大規(guī)模部署的無線傳 感器網(wǎng)絡(luò)的調(diào)試與測試。本發(fā)明屬于無線傳感器網(wǎng)絡(luò),無線通信領(lǐng)域。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)就是由部署在監(jiān)測區(qū)域內(nèi)大量的微型傳感器節(jié)點(diǎn)通過無線電通 信形成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域里 被檢測對(duì)象的信息,并發(fā)送給觀察者。目前,傳感器網(wǎng)絡(luò)作為當(dāng)前信息科技領(lǐng)域的研究熱 點(diǎn),及物聯(lián)網(wǎng)關(guān)鍵技術(shù)之一,已成各國綜合國力較量的重要因素。由于無線傳感器網(wǎng)絡(luò)在物理世界信息采集、環(huán)境檢測和定位等領(lǐng)域具有良好應(yīng)用 前景,針對(duì)它的開發(fā)和研究也越來越熱,例如各種針對(duì)傳感器的路由,定位,以及協(xié)同計(jì)算 的方法層出不窮。然而,與傳統(tǒng)的網(wǎng)絡(luò)系統(tǒng)相比,傳感器網(wǎng)絡(luò)的單個(gè)傳感器節(jié)點(diǎn)處理能力有 限,并且無人機(jī)界面,網(wǎng)絡(luò)所包含的節(jié)點(diǎn)數(shù)量巨大,應(yīng)用環(huán)境復(fù)雜多變。無線傳感器網(wǎng)絡(luò)的 上述特征為無線傳感器網(wǎng)絡(luò)相關(guān)的應(yīng)用測試與調(diào)試設(shè)置了障礙,與此同時(shí),也增加了無線 傳感器網(wǎng)絡(luò)相關(guān)應(yīng)用測試與調(diào)試的重要性。當(dāng)前,無線傳感器網(wǎng)絡(luò)的研究人員一般采用軟件模擬和小規(guī)模節(jié)點(diǎn)測試的方法了 解節(jié)點(diǎn)內(nèi)部運(yùn)行情況。然而,由于無線傳感器網(wǎng)絡(luò)采用無線通信,存在無線信道沖突,干擾, 連接不穩(wěn)等問題,而節(jié)點(diǎn)本身的資源有限,程序處理需要考慮資源限制。這些問題都不是軟 件模擬所能解決。對(duì)于小規(guī)模節(jié)點(diǎn)測試,若只布置一跳范圍,則節(jié)點(diǎn)布置有限,并不能真正 體現(xiàn)應(yīng)用的真實(shí)情況;若布置多跳,則研究人員很難知道一跳以外節(jié)點(diǎn)的運(yùn)行情況。作為無線傳感器網(wǎng)絡(luò)測試與調(diào)試關(guān)鍵技術(shù)之一的交互技術(shù),由于無線傳感器網(wǎng)絡(luò) 與傳統(tǒng)網(wǎng)絡(luò)的差異,具有自身獨(dú)特的設(shè)計(jì)要求。尤其是如何對(duì)大規(guī)模部署無線傳感器網(wǎng)絡(luò) 中的節(jié)點(diǎn)進(jìn)行有效便捷的交互,并了解其當(dāng)前運(yùn)行的狀態(tài),以保證其在實(shí)際工作中正確運(yùn) 行,已經(jīng)成為亟待解決的問題。經(jīng)檢索發(fā)現(xiàn),目前可實(shí)現(xiàn)與無線傳感網(wǎng)絡(luò)交互控制的方法主要有。哈佛大學(xué)MoteLab系統(tǒng)。MoteLab系統(tǒng)支持多用戶通過瀏覽器與傳感器網(wǎng)絡(luò)進(jìn)行 交互。用戶在web頁面注冊(cè)用戶信息,創(chuàng)建與修改測試任務(wù)和安裝測試日程。系統(tǒng)在用戶 指定的測試日程運(yùn)行無線傳感器網(wǎng)絡(luò)程序,并記錄無線傳感器網(wǎng)絡(luò)發(fā)送過來的串口信息, 以數(shù)據(jù)列表的形式供用戶查詢。但是,由于MoteLab系統(tǒng)無法實(shí)時(shí)顯示傳感器網(wǎng)絡(luò)的信息, 也不能與無線傳感器網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)交互,因此缺少時(shí)效性;同時(shí)該系統(tǒng)不適用于大規(guī)模部 署的傳感器網(wǎng)絡(luò),限制了其應(yīng)用范圍。該系統(tǒng)的交互方法因而具有一定的局限性。申請(qǐng)?zhí)枮?00610144351.5,申請(qǐng)日為2006年12月04日的國內(nèi)發(fā)明專利公開了 一種實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)可視化的方法。該方法通過串口收集無線傳感器網(wǎng)絡(luò)中的通信信 息,并用ActiveX控制顯示出來。該方法設(shè)計(jì)較為簡單,雖然能在一定程度上幫助研究人員 了解小規(guī)模無線傳感器網(wǎng)絡(luò)運(yùn)行情況,但由于缺乏對(duì)無線傳感器網(wǎng)絡(luò)的交互控制能力,而 且數(shù)據(jù)顯示功能較為簡單,僅能提供簡單的測試與調(diào)試功能,無法幫助研究人員判斷數(shù)據(jù)類型及錯(cuò)誤信息等,尤其不適用于大規(guī)模無線傳感器網(wǎng)絡(luò)的交互。目前存在的無線傳感器網(wǎng)絡(luò)交互工具或方法如(JTAG仿真器)只能對(duì)單個(gè)傳感器 節(jié)點(diǎn)進(jìn)行交互,同樣不適用于大規(guī)模的無線傳感器網(wǎng)絡(luò)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題的是如何在大規(guī)模部署的無線傳感器網(wǎng)絡(luò)中實(shí)現(xiàn)不 同品牌不同規(guī)格不同操作系統(tǒng)的節(jié)點(diǎn)之間的實(shí)時(shí)有效交互。本發(fā)明擬通過以下技術(shù)方案解決上述技術(shù)問題。本發(fā)明設(shè)計(jì)并實(shí)現(xiàn)一種面向大規(guī) 模無線傳感器網(wǎng)絡(luò)的分布式交互方法,通過分布式的網(wǎng)絡(luò)結(jié)構(gòu),可以有效實(shí)現(xiàn)在大規(guī)模無 線傳感器網(wǎng)絡(luò)中進(jìn)行交互,可以實(shí)現(xiàn)同時(shí)對(duì)無線傳感器網(wǎng)絡(luò)中的一個(gè)或多個(gè)節(jié)點(diǎn)輸入數(shù)據(jù) 或控制命令,并接收該網(wǎng)絡(luò)中一個(gè)或多個(gè)節(jié)點(diǎn)數(shù)據(jù),為無線傳感器網(wǎng)絡(luò)的設(shè)計(jì)部署及測試 調(diào)試提供幫助。本發(fā)明采用分布式網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的大規(guī)模擴(kuò)展。由于常用的操 作系統(tǒng)限制了直接連接節(jié)點(diǎn)數(shù)量的上限,因此本發(fā)明采用miniPC進(jìn)行分布式網(wǎng)絡(luò)部署,通 過miniPC直接連接傳感器節(jié)點(diǎn),收集與其連接的大量節(jié)點(diǎn)的通信信息與狀態(tài)信息,經(jīng)過初 步處理后轉(zhuǎn)發(fā)給上一級(jí)服務(wù)器端接收處理模塊。miniPC為一個(gè)與多個(gè)傳感器節(jié)點(diǎn)直接連 接的網(wǎng)關(guān),收集與其連接的大量節(jié)點(diǎn)的通信信息與狀態(tài)信息,經(jīng)過初步處理后轉(zhuǎn)發(fā)給上一 級(jí)服務(wù)器端接收處理模塊,隨著節(jié)點(diǎn)數(shù)量的不斷增加,可以通過增加更多miniPC的方式對(duì) 網(wǎng)絡(luò)進(jìn)行大規(guī)模擴(kuò)展。每臺(tái)miniPC可以以相同的方式連接到中心服務(wù)器的接收處理模塊。 由于每一個(gè)miniPC間的程序都互不干擾,并基于TCP/IP與中心服務(wù)器通信。miniPC的增 加或減少不影響交互功能的正常實(shí)現(xiàn)。為保障通信數(shù)據(jù)的準(zhǔn)確性,降低為實(shí)現(xiàn)交互功能而對(duì)實(shí)際工作網(wǎng)絡(luò)造成的影響, 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)與miniPC之間建議使用串口作為通信通道實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)交互的功 能。傳感器節(jié)點(diǎn)統(tǒng)一標(biāo)準(zhǔn)的缺乏造成了當(dāng)前傳感器節(jié)點(diǎn)硬件配置各不相同的局面。眾 所周知,對(duì)于不同節(jié)點(diǎn)的有不同的交互處理方式和串口信息收集方法。例如Crossbow公司 的Mica節(jié)點(diǎn)會(huì)有兩個(gè)串口端口,分別用于信息發(fā)送與程序更新;而TelosB節(jié)點(diǎn)只有一個(gè)串 口端口,串口的信息收集與程序更新都是通過該端口進(jìn)行操作。在大規(guī)模無線傳感器網(wǎng)絡(luò) 中,出現(xiàn)大量不同版本,不同操作系統(tǒng)節(jié)點(diǎn)的幾率非常高。本發(fā)明具有節(jié)點(diǎn)檢測功能,在節(jié) 點(diǎn)與miniPC連接的瞬間,miniPC自動(dòng)檢測程序啟動(dòng),檢測該接入節(jié)點(diǎn)屬于什么類型運(yùn)行什 么操作系統(tǒng),并為其挑選相應(yīng)的交互算法,從而實(shí)現(xiàn)系統(tǒng)的自適應(yīng)功能,使交互具有更好的 適用性。在節(jié)點(diǎn)接入miniPC后,即可實(shí)現(xiàn)對(duì)節(jié)點(diǎn)進(jìn)行信息收集和控制管理。在編譯程序 前,使用者只需要指定交互的模塊,如ADC,UART,編譯器就會(huì)將交互模塊的程序與應(yīng)用程序 結(jié)合并編譯成可執(zhí)行文件。加載該可執(zhí)行文件的節(jié)點(diǎn)即可與miniPC進(jìn)行交互。研究人員 可以綜合考慮交互的便利和節(jié)點(diǎn)性能的效率,選擇所需要的模塊。以往節(jié)點(diǎn)與miniPC或者類似設(shè)備間的交互方式基于RPCaemote Procedure Call I^otocol)協(xié)議。RPC雖然可以跨平臺(tái)運(yùn)行,但是這種在傳統(tǒng)網(wǎng)絡(luò)中適用的基于接口定義語 言的PRC協(xié)議會(huì)給能量有限的節(jié)點(diǎn)帶來很大的能量負(fù)擔(dān)。因此本專利直接利用串口的原始數(shù)據(jù)進(jìn)行解析,減少節(jié)點(diǎn)能量負(fù)擔(dān),延長節(jié)點(diǎn)電能適用壽命。在miniPC收集到大量無線傳感器網(wǎng)絡(luò)運(yùn)行數(shù)據(jù)后,服務(wù)器端會(huì)針對(duì)大規(guī)模無線 傳感器網(wǎng)絡(luò)的特點(diǎn),進(jìn)行海量數(shù)據(jù)處理,例如顯示大規(guī)模無線傳感器網(wǎng)絡(luò)的詳細(xì)節(jié)點(diǎn)通信 拓?fù)浣Y(jié)構(gòu)、進(jìn)行符合大規(guī)模特征的交互數(shù)據(jù)顯示。網(wǎng)絡(luò)通信拓?fù)浣Y(jié)構(gòu)無論在傳統(tǒng)無線網(wǎng)絡(luò)中,還是新興的無線傳感器網(wǎng)絡(luò)中都是研 發(fā)人員或使用者重點(diǎn)關(guān)注的網(wǎng)絡(luò)運(yùn)行信息。節(jié)點(diǎn)通信拓?fù)浣Y(jié)構(gòu)是觀察無線傳感器網(wǎng)絡(luò)連接 情況的最直觀方法之一。通過節(jié)點(diǎn)經(jīng)串口發(fā)送出來的通信數(shù)據(jù),可以知道,該數(shù)據(jù)是由哪個(gè)節(jié)點(diǎn)發(fā)出,它的 目標(biāo)節(jié)點(diǎn)是幾號(hào),該數(shù)據(jù)是發(fā)送還是接收的以及數(shù)據(jù)ID號(hào)。本專利采用雙觸發(fā)的方式來繪 制節(jié)點(diǎn)通信的拓?fù)浣Y(jié)構(gòu),即分成發(fā)送節(jié)點(diǎn)觸發(fā)與接收節(jié)點(diǎn)觸發(fā)。當(dāng)發(fā)送節(jié)點(diǎn)將通信數(shù)據(jù)經(jīng) 串口送出后,交互平臺(tái)立刻被觸發(fā)并記錄下該數(shù)據(jù)的ID號(hào),并根據(jù)通信數(shù)據(jù)的發(fā)送節(jié)點(diǎn)ID 及目標(biāo)節(jié)點(diǎn)ID繪制出一條具有方向性的拓?fù)鋱D。當(dāng)該數(shù)據(jù)被其它節(jié)點(diǎn)接收到后,交互平臺(tái) 再次被觸發(fā),并根據(jù)本數(shù)據(jù)的ID,將之前已繪制的節(jié)點(diǎn)通信拓?fù)渚€置于高亮,表明該數(shù)據(jù)已 被收到。從而顯示出具有方向性且能夠獲悉信息收發(fā)結(jié)果的通信拓?fù)浣Y(jié)構(gòu)圖。由于大規(guī)模傳感器網(wǎng)絡(luò)中包含的節(jié)點(diǎn)數(shù)量巨大,因此從網(wǎng)絡(luò)中反饋的信息量也非 常龐大,需要通過篩選分類進(jìn)行呈現(xiàn)。數(shù)據(jù)分類顯示可以方便使用者進(jìn)行數(shù)據(jù)篩選。在數(shù) 據(jù)顯示時(shí),除了完整地顯示出節(jié)點(diǎn)通信的數(shù)據(jù),本發(fā)明還可以顯示該數(shù)據(jù)的在通信時(shí)的信 號(hào)強(qiáng)度,出錯(cuò)信息(如信道忙,無法發(fā)送)等信息。通過發(fā)送的數(shù)據(jù)ID和接收到的數(shù)據(jù)ID, 本發(fā)明還可以檢測到該數(shù)據(jù)的接受狀態(tài)。為了方便比較對(duì)照大量數(shù)據(jù),本發(fā)明采用對(duì)用戶友好的多窗口顯示方式,便于使 用者按照一般習(xí)慣進(jìn)行數(shù)據(jù)觀察。通過上述技術(shù)方案實(shí)現(xiàn)的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,可以實(shí) 現(xiàn)以下有益效果。(1)本交互方法具有強(qiáng)大擴(kuò)展能力,采用分布式結(jié)構(gòu)突破了操作系統(tǒng)對(duì)節(jié)點(diǎn)數(shù)量 上限的限制。(2)本交互方法具有普遍兼容性,適用于采用不同類型不同操作系統(tǒng)的大規(guī)模無 線傳感器網(wǎng)絡(luò)的交互。(3)本交互方法具有自適應(yīng)能力,在不需要研究人員重新修改應(yīng)用程序的情況下, 實(shí)現(xiàn)PC與節(jié)點(diǎn)間的交互,可以解決大范圍大量節(jié)點(diǎn)同時(shí)接入的設(shè)置問題。(4)本交互方法可以采集處理大規(guī)模無線傳感器網(wǎng)絡(luò)中的大量數(shù)據(jù),例如以詳細(xì) 的、包含大量信息的通信拓?fù)鋱D的形式呈現(xiàn)。本交互方法考慮到大規(guī)模無線傳感器網(wǎng)絡(luò)的特點(diǎn),提出分類式多樣化的數(shù)據(jù)顯示 與比較方法,可以方便使用者處理海量通信數(shù)據(jù)。
圖1、總體硬件架構(gòu)圖。圖2、交互流程圖。圖3、用戶控制層示意圖。圖4、交互模塊示意圖。
圖5、用戶控制流程圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的說明。如圖1所示,實(shí)現(xiàn)本發(fā)明所述交互方法的軟硬件平臺(tái)應(yīng)包括節(jié)點(diǎn)終端網(wǎng)絡(luò)層 (Mote Mesh)、數(shù)據(jù)處理層(Data Processed)、用戶控制層(User Control)三大基本部分。節(jié)點(diǎn)終端網(wǎng)絡(luò)層(Mote Mesh)是由大規(guī)模部署的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)與miniPC 組成的。傳感器網(wǎng)絡(luò)是一個(gè)對(duì)等網(wǎng)絡(luò),網(wǎng)內(nèi)的節(jié)點(diǎn)是通過分布式來部署,各節(jié)點(diǎn)彼此通過多 跳算法來通信。節(jié)點(diǎn)可以隨時(shí)加入或離開網(wǎng)絡(luò),任何節(jié)點(diǎn)的故障不會(huì)影響交互系統(tǒng)的運(yùn)行。 節(jié)點(diǎn)運(yùn)行的程序包含用戶應(yīng)用程序和節(jié)點(diǎn)交互模塊程序,節(jié)點(diǎn)交互模塊程序是用于獲取節(jié) 點(diǎn)內(nèi)部變量和通信數(shù)據(jù)等信息,并提供內(nèi)部程序調(diào)用接口的程序,它具有較好的移植性,可 以運(yùn)行在不同品牌的節(jié)點(diǎn)和操作系統(tǒng)上。miniPC可以看作一個(gè)網(wǎng)關(guān),它一邊通過USB或51Pins等連接方式以星型結(jié)構(gòu)跟傳 感器節(jié)點(diǎn)相連,一邊通過以太網(wǎng)或無線局域網(wǎng)連接數(shù)據(jù)處理層。miniPC通過節(jié)點(diǎn)接口模塊 可以獲取節(jié)點(diǎn)內(nèi)部變量及通信數(shù)據(jù)等信息,并將這信息通過網(wǎng)絡(luò)傳輸?shù)綌?shù)據(jù)處理層,供用 戶控制層查看與調(diào)用。數(shù)據(jù)處理層(Data Processed)包括數(shù)據(jù)庫服務(wù)器、交互程序服務(wù)器和實(shí)時(shí)通信 服務(wù)器三大部分。實(shí)時(shí)通信服務(wù)器與miniPC通過以太網(wǎng)或無線局域網(wǎng)相連接,采用TCP/ IP進(jìn)行通信。由于節(jié)點(diǎn)數(shù)量較大,傳感器網(wǎng)絡(luò)每分鐘產(chǎn)生的數(shù)據(jù)量往往超過數(shù)十兆,乃至 上百兆。為提高交互系統(tǒng)的實(shí)時(shí)性,減少系統(tǒng)響應(yīng)時(shí)間,追求更好的用戶體驗(yàn),實(shí)時(shí)通信服 務(wù)器可由多臺(tái)服務(wù)器組成一個(gè)網(wǎng)絡(luò)負(fù)載平衡(NLB)群集,并實(shí)時(shí)偵聽來自miniPC的端口數(shù) 據(jù)。實(shí)時(shí)通信服務(wù)器收到節(jié)點(diǎn)信息后,根據(jù)交互程序服務(wù)器的指令,會(huì)把數(shù)據(jù)直接轉(zhuǎn)發(fā)給交 互程序服務(wù)器或數(shù)據(jù)庫服務(wù)器。數(shù)據(jù)庫服務(wù)器主要負(fù)責(zé)將節(jié)點(diǎn)信息存儲(chǔ)在數(shù)據(jù)庫集群中, 以便研究人員做數(shù)據(jù)挖掘,數(shù)據(jù)庫倉庫等數(shù)據(jù)處理。此外,數(shù)據(jù)庫服務(wù)器還可以根據(jù)用戶指 定規(guī)劃對(duì)數(shù)據(jù)進(jìn)行篩選,融合和智能分析,如根據(jù)節(jié)點(diǎn)通信數(shù)據(jù)中的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)分 析出傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)多跳軌跡。交互程序服務(wù)器作為數(shù)據(jù)層與用戶控制層通信的唯一 接口,一方面需要驗(yàn)證用戶的操作權(quán)限有效性,另一方面需要將感興趣的實(shí)時(shí)數(shù)據(jù)或歷史 數(shù)據(jù)通過TCP/IP發(fā)送給遠(yuǎn)程用戶。用戶控制層(User Control)具有人機(jī)交互功能,邏輯上可以劃分為服務(wù)層與顯示 層。服務(wù)層負(fù)責(zé)與交互程序服務(wù)器通信,對(duì)實(shí)時(shí)或歷史數(shù)據(jù)進(jìn)行收集,分析,處理,并響應(yīng)顯 示層發(fā)出的控制命令,同時(shí)通過命令方式控制采樣模塊實(shí)現(xiàn)采集、停止、上傳節(jié)點(diǎn)程序等功 能。顯示層顯示數(shù)據(jù)分析結(jié)果,能夠?qū)崿F(xiàn)節(jié)點(diǎn)連接路徑圖繪制,顯示網(wǎng)絡(luò)運(yùn)行狀態(tài)圖,歷史 數(shù)據(jù)查看,節(jié)點(diǎn)動(dòng)態(tài)配置,以及發(fā)送控制命令和上傳節(jié)點(diǎn)程序等操作。提供輸出文件,方便 用戶進(jìn)行離線調(diào)試和分析。下面結(jié)合圖2,說明為實(shí)現(xiàn)面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法所采用 的具體流程如下。步驟201,將傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)以星形結(jié)構(gòu)連接到miniPC上,確保每臺(tái)miniPC 在無線局域網(wǎng)的通信范圍之內(nèi),或者通過有線形式接入以太網(wǎng)。打開用戶控制客戶端,搜索 當(dāng)前局域網(wǎng)中的miniPC并與其進(jìn)行相連。
步驟202,監(jiān)聽新連接的節(jié)點(diǎn)。無線傳感器網(wǎng)絡(luò)是一個(gè)動(dòng)態(tài)性很強(qiáng)的網(wǎng)絡(luò)。網(wǎng)絡(luò)隨 時(shí)有新的節(jié)點(diǎn)加入或離開。及時(shí)處理節(jié)點(diǎn)加入或離開事件是保證數(shù)據(jù)完整性和系統(tǒng)穩(wěn)定性 的關(guān)鍵技術(shù)之一。步驟202采用中斷的方式處理節(jié)點(diǎn)的加入與退出問題。當(dāng)節(jié)點(diǎn)連接或退 出miniPC時(shí),miniPC就會(huì)觸發(fā)中斷并進(jìn)入相應(yīng)的中斷服務(wù)程序。步驟203,輪流查循節(jié)點(diǎn)連接端口并生成一個(gè)交互系統(tǒng)啟動(dòng)時(shí)的節(jié)點(diǎn)列表。列表是 以數(shù)組的形式保存在內(nèi)存中。步驟204,作為步驟202的中斷服務(wù)程序,是在交互系統(tǒng)啟動(dòng)時(shí)創(chuàng)建并永駐內(nèi)存的 程序。當(dāng)節(jié)點(diǎn)連接進(jìn)來的時(shí)候,本步驟為節(jié)點(diǎn)創(chuàng)造一塊內(nèi)存空間和一個(gè)線程。內(nèi)存空間主 要用于記錄節(jié)點(diǎn)的生產(chǎn)商信息和產(chǎn)品ID等信息。同時(shí),當(dāng)節(jié)點(diǎn)斷開連接時(shí),中斷服務(wù)程序 就會(huì)殺死為本節(jié)點(diǎn)創(chuàng)建的線程和銷毀其內(nèi)存。步驟205,主要實(shí)時(shí)維護(hù)一份完整的當(dāng)前節(jié)點(diǎn)列表和收集全部節(jié)點(diǎn)信息。根據(jù)步 驟203生成的初始化節(jié)點(diǎn)列表和步驟204發(fā)過來的節(jié)點(diǎn)加入或退出信息,步驟205可以依 次往初始化節(jié)點(diǎn)列表里添加或刪除節(jié)點(diǎn)信息,從而實(shí)時(shí)維護(hù)一份的當(dāng)前節(jié)點(diǎn)列表。另外,本 步驟還查詢節(jié)點(diǎn)信息并記錄在步驟204所分配的內(nèi)存空間里。步驟206,通過步驟205獲取節(jié)點(diǎn)生產(chǎn)商信息和產(chǎn)品ID等信息來判斷是否支持該 節(jié)點(diǎn)的交互功能。所有能被支持的節(jié)點(diǎn)都以特定格式保存在節(jié)點(diǎn)通信程序XML文件里,通 過查詢XML文件是否包含該生產(chǎn)商信息和產(chǎn)品ID的信息,就可以知道是否支持該節(jié)點(diǎn)的交 互功能。步驟207,節(jié)點(diǎn)通信程序可看作節(jié)點(diǎn)接口的上層驅(qū)動(dòng),交互程序通過管道方式動(dòng)作 節(jié)點(diǎn)通信程序,可以通過節(jié)點(diǎn)通信程序發(fā)送信息到節(jié)點(diǎn)中,也可以接受來自節(jié)點(diǎn)的信息。節(jié) 點(diǎn)通信程序獨(dú)立于節(jié)點(diǎn)交互程序的通信協(xié)議,它只提供簡單的通信訪問媒介,可以用任意 的語言實(shí)現(xiàn)。添加節(jié)點(diǎn)的通信程序只需要編譯好該程序,并將該程序位置及名稱按照步驟 206能夠識(shí)別的格式登記在節(jié)點(diǎn)通信程序XML文件中。步驟208,選擇需要交互的模塊,通過選定的交互模塊(如UART,ADC等),交互系統(tǒng) 能夠收集通過該節(jié)點(diǎn)模塊發(fā)出或收到的信息,也可以向該模塊注入數(shù)據(jù),使節(jié)點(diǎn)能收到和 發(fā)送指定格式的數(shù)據(jù)。步驟209,用戶不需要修改應(yīng)用程序,交互系統(tǒng)能將選定的節(jié)點(diǎn)交互模塊與用戶應(yīng) 用程序編譯成16進(jìn)制文件,并燒寫入節(jié)點(diǎn)中。燒寫完的節(jié)點(diǎn)直接可以跟交互系統(tǒng)進(jìn)行交互。步驟210,具有交互模塊的節(jié)點(diǎn)會(huì)以圖形化的形式顯示出來。用戶可以形象地觀察 當(dāng)前節(jié)點(diǎn)分布情況,運(yùn)行狀態(tài)等信息。用戶也可以通過鼠標(biāo)輕易地對(duì)節(jié)點(diǎn)進(jìn)行監(jiān)視,控制等 操作。步驟211,設(shè)置節(jié)點(diǎn)顯示信息,包括設(shè)置節(jié)點(diǎn)不同狀態(tài)時(shí)的顏色,不同類型通信數(shù) 據(jù)的顯示方式。步驟212,節(jié)點(diǎn)位置的調(diào)整可以直接人工輸入坐標(biāo)來設(shè)置,也可以通過鼠標(biāo)拉動(dòng)來 調(diào)整,還可以設(shè)置交互模塊,讓節(jié)點(diǎn)根據(jù)定位算法計(jì)算出的坐標(biāo)自動(dòng)調(diào)整自己的位置。步驟213,通過設(shè)置節(jié)點(diǎn)位置背景圖有利于用戶更直觀了解無線傳感器網(wǎng)絡(luò)通信 拓?fù)鋱D。步驟214,通過節(jié)點(diǎn)通信程序收集從節(jié)點(diǎn)傳輸過來的交互模塊信息,以多窗口的形式顯示出來。用戶可以向節(jié)點(diǎn)交互模塊注入數(shù)據(jù),方便用戶進(jìn)行程序調(diào)試。如在火災(zāi)的監(jiān) 控網(wǎng)絡(luò)中,向某節(jié)點(diǎn)注入高溫?cái)?shù)據(jù),可以仿真出發(fā)生火災(zāi)的情況,方便用戶檢驗(yàn)算法的有效 性。用戶控制層是基于.NET Frameworks所開發(fā)的前端控制軟件,提供了友好的人機(jī) 交互界面,同時(shí)采用服務(wù)器/客戶端模式,使平臺(tái)構(gòu)成一個(gè)分布式系統(tǒng),方便研究人員測試 使用。如圖3所示,用戶控制層主要分為二大部分對(duì)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的控制、傳感器通信 和內(nèi)部數(shù)據(jù)的實(shí)時(shí)采集及顯示。它提供了。1)對(duì)連入交互系統(tǒng)的傳感器節(jié)點(diǎn)進(jìn)行自動(dòng)識(shí)別,以樹形列表的形式對(duì)節(jié)點(diǎn)進(jìn)行管 理,監(jiān)控節(jié)點(diǎn)的運(yùn)行狀態(tài)。2)以二維平面圖的方式顯示傳感器實(shí)驗(yàn)的環(huán)境,通過坐標(biāo)調(diào)整節(jié)點(diǎn)具體位置,同 時(shí)可以調(diào)整節(jié)點(diǎn)的顯示大小。3)提供多用戶接入,對(duì)系統(tǒng)的用戶進(jìn)行權(quán)限管理和認(rèn)證。豐富的狀態(tài)提示信息,動(dòng) 態(tài)郵件提醒,使研究人員對(duì)系統(tǒng)的運(yùn)行狀態(tài)直觀地了解和及時(shí)地掌握。4)豐富的傳感器交互數(shù)據(jù)實(shí)時(shí)采集和顯示,可以對(duì)某個(gè)或者多個(gè)傳感器節(jié)點(diǎn)進(jìn)行 交互數(shù)據(jù)的實(shí)時(shí)采集,并將用戶晦澀難懂的十六進(jìn)制數(shù)據(jù)直觀得顯示出來,如來自通信交 互模塊的數(shù)據(jù)可以解釋出時(shí)間,包序列,源ID,目的ID,數(shù)據(jù)包類型,是否發(fā)送成功以及所 負(fù)載的用戶數(shù)據(jù)等等。5)以列表的形式對(duì)節(jié)點(diǎn)的數(shù)據(jù)包進(jìn)行顯示,并用不同顏色區(qū)分?jǐn)?shù)據(jù)包的類型。如 果是通信數(shù)據(jù),通過對(duì)數(shù)據(jù)包的分析,繪制出數(shù)據(jù)在傳感器節(jié)點(diǎn)之間的通信路徑,以實(shí)時(shí)觀 察傳感器網(wǎng)絡(luò)的通信拓?fù)浣Y(jié)構(gòu)。如圖4所示,節(jié)點(diǎn)交互模塊是基于操作系統(tǒng)的網(wǎng)絡(luò)接口程序,主要用于與miniPC 進(jìn)行交互。用戶使用本發(fā)明時(shí),只要將應(yīng)用程序與具有接口模塊的操作系統(tǒng)聯(lián)接編譯,就可 以生成具有可交互功能的執(zhí)行程序,而無需要修改自身程序。如圖5所示,節(jié)點(diǎn)交互模塊包括數(shù)據(jù)接口與命令接口。節(jié)點(diǎn)往外圍接口發(fā)送數(shù)據(jù) 后,也將數(shù)據(jù)以特定格式往miniPC轉(zhuǎn)發(fā),miniPC通過偵聽接口,就可獲取節(jié)點(diǎn)通信數(shù)據(jù)。命 令接口用于采集模塊與節(jié)點(diǎn)進(jìn)行交互,如設(shè)置節(jié)點(diǎn)無線發(fā)射能量、獲取節(jié)點(diǎn)信息等。節(jié)點(diǎn)接 口模塊設(shè)計(jì)只占用少量CPU周期執(zhí)行指令,不影響主程序運(yùn)行。
權(quán)利要求
1.一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征是該方法采用高度可 擴(kuò)展分布式網(wǎng)絡(luò)結(jié)構(gòu)的方式,可同時(shí)為大規(guī)模、無規(guī)律部署的無線傳感器網(wǎng)絡(luò)提供讓用戶 訪問及控制網(wǎng)絡(luò)節(jié)點(diǎn)的自定義接口,通過該接口,用戶可以直接觀察節(jié)點(diǎn)的實(shí)時(shí)內(nèi)部數(shù)據(jù)、 通信信息,也可以在節(jié)點(diǎn)運(yùn)行時(shí)改變其內(nèi)部數(shù)據(jù),或使其執(zhí)行所特定的命令。
2.根據(jù)權(quán)利要求1所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征是 采用miniPC網(wǎng)關(guān)進(jìn)行分布式網(wǎng)絡(luò)部署,實(shí)現(xiàn)高度可擴(kuò)展的分布式網(wǎng)絡(luò)結(jié)構(gòu)。
3.根據(jù)權(quán)利要求2所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征是 miniPC為一個(gè)與多個(gè)傳感器節(jié)點(diǎn)直接連接的網(wǎng)關(guān),收集與其連接的大量節(jié)點(diǎn)的通信信息與 狀態(tài)信息,經(jīng)過初步處理后轉(zhuǎn)發(fā)給上一級(jí)服務(wù)器端接收處理模塊,隨著節(jié)點(diǎn)數(shù)量的不斷增 加,可以通過增加更多miniPC的方式對(duì)網(wǎng)絡(luò)進(jìn)行大規(guī)模擴(kuò)展。
4.根據(jù)權(quán)利要求1所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征是 可同時(shí)為大規(guī)模、無規(guī)律部署的無線傳感器網(wǎng)絡(luò)提供讓用戶訪問及控制網(wǎng)絡(luò)節(jié)點(diǎn)的自定義 接口,所述的同時(shí)指在同一時(shí)刻中,支持對(duì)一個(gè)或多個(gè)節(jié)點(diǎn)的數(shù)據(jù)監(jiān)測與控制;所述的無規(guī) 律部署指本方法不要求傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)按特定拓?fù)浣Y(jié)構(gòu)部署。
5.根據(jù)權(quán)利要求4所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征是 所述的節(jié)點(diǎn)不限定特定節(jié)點(diǎn),即針對(duì)現(xiàn)有的節(jié)點(diǎn),提供了多種軟、硬件接口,并采用了節(jié)點(diǎn) 識(shí)別方法,檢測該接入節(jié)點(diǎn)屬于什么類型運(yùn)行什么操作系統(tǒng),為不同類型節(jié)點(diǎn)自動(dòng)選擇匹 配的節(jié)點(diǎn)交互算法,從而不限定所需交互節(jié)點(diǎn)的類型。
6.根據(jù)權(quán)利要求5所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征是 所述的交互算法不用PRC協(xié)議,而直接采用原始十六進(jìn)制數(shù)據(jù)進(jìn)行通信,交互算法不需要 用戶程序做任何改變;所述的交互算法基本不影響用戶程序的執(zhí)行邏輯。
7.根據(jù)權(quán)利要求1所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征是 所述的交互接口不是固定不變的,它允許用戶根據(jù)應(yīng)用情景選擇特定的交互接口,用戶只 需要在編譯用戶代碼前,指定所需要交互的模塊,就可編譯出具有交互接口的用戶程序。
8.根據(jù)權(quán)利要求1所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征在 于,所述的用戶可以直接觀察節(jié)點(diǎn)的內(nèi)部數(shù)據(jù)、通信信息包括顯示節(jié)點(diǎn)的內(nèi)部電壓信息、 節(jié)點(diǎn)用戶程序中數(shù)據(jù)結(jié)構(gòu)的值、節(jié)點(diǎn)與節(jié)點(diǎn)通信的數(shù)據(jù)及狀況。
9.根據(jù)權(quán)利要求8所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征在 于,所述的顯示節(jié)點(diǎn)與節(jié)點(diǎn)通信的數(shù)據(jù)及狀況,是通過解析節(jié)點(diǎn)經(jīng)串口發(fā)送出來的通信數(shù) 據(jù),獲得該數(shù)據(jù)是由哪個(gè)節(jié)點(diǎn)發(fā)出,它的目標(biāo)節(jié)點(diǎn)是幾號(hào),該數(shù)據(jù)是發(fā)送還是接收的以及數(shù) 據(jù)ID號(hào)等信息后,完整顯示節(jié)點(diǎn)通信數(shù)據(jù),并包括且不限于,解析出節(jié)點(diǎn)通信協(xié)議棧中各 層數(shù)據(jù),數(shù)據(jù)的在通信時(shí)的信號(hào)強(qiáng)度,出錯(cuò)信息。
10.根據(jù)權(quán)利要求1所述的面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,其特征在 于,所述節(jié)點(diǎn)運(yùn)行時(shí)改變其內(nèi)部數(shù)據(jù),及使其執(zhí)行所特定的命令的方法,是通過節(jié)點(diǎn)中運(yùn)行 的交互程序來完成的,該交互程序是基于事件觸發(fā)來啟動(dòng)的,在沒有控制操作情況下,除了 占用節(jié)點(diǎn)小部分的代碼空間以外,不占用節(jié)點(diǎn)處理器的時(shí)鐘周期。
全文摘要
本發(fā)明公布了一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)的分布式交互方法,該方法采用高度可擴(kuò)展分布式網(wǎng)絡(luò)結(jié)構(gòu)的方式,可同時(shí)為大規(guī)模、無規(guī)律部署的無線傳感器網(wǎng)絡(luò)提供讓用戶訪問及控制網(wǎng)絡(luò)節(jié)點(diǎn)的自定義接口,可以在同一時(shí)刻中,支持對(duì)一個(gè)或多個(gè)節(jié)點(diǎn)的數(shù)據(jù)監(jiān)測與控制,并且不要求傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)按特定拓?fù)浣Y(jié)構(gòu)部署。采用節(jié)點(diǎn)識(shí)別方式對(duì)接入節(jié)點(diǎn)進(jìn)行自動(dòng)識(shí)別,并為其選擇合適的交互算法,通過該接口,用戶可以直接觀察節(jié)點(diǎn)的實(shí)時(shí)內(nèi)部數(shù)據(jù)、通信信息,包括節(jié)點(diǎn)的內(nèi)部電壓信息、節(jié)點(diǎn)用戶程序中數(shù)據(jù)結(jié)構(gòu)的值、節(jié)點(diǎn)與節(jié)點(diǎn)通信的數(shù)據(jù)及狀況;也可以在節(jié)點(diǎn)運(yùn)行時(shí)改變其內(nèi)部數(shù)據(jù),或使其執(zhí)行所特定的命令。
文檔編號(hào)H04W24/08GK102111796SQ20101058720
公開日2011年6月29日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2010年12月14日
發(fā)明者倪明選, 劉云淮, 沈鐘, 高民, 黃才炎 申請(qǐng)人:廣州市香港科大霍英東研究院