專利名稱::基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò)及通信方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò)及通信方法,屬于無線傳感器網(wǎng)絡(luò)領(lǐng)域。技術(shù)背景無線傳感器網(wǎng)絡(luò)(WirelessSensorNetwork——WSN)是由大量密集部署在檢測區(qū)域的自治節(jié)點(diǎn)構(gòu)成的自組織網(wǎng)絡(luò)及無線通信系統(tǒng)。它綜合了大量復(fù)雜的技術(shù)和學(xué)科,如傳感器技術(shù)、嵌入式計(jì)算技術(shù)、網(wǎng)絡(luò)及通信技術(shù)、分布式系統(tǒng)及分布式計(jì)算技術(shù)。它既是多學(xué)科高度交叉的具有高度挑戰(zhàn)性的前沿研究領(lǐng)域,也是國內(nèi)外公認(rèn)的具有廣闊發(fā)展前景的高技術(shù)產(chǎn)業(yè)。近年來,隨著傳感器技術(shù)、嵌入式技術(shù)以及低功耗無線通信技術(shù)的發(fā)展,無線傳感器網(wǎng)絡(luò)在環(huán)境監(jiān)測、建筑物結(jié)構(gòu)監(jiān)測、工業(yè)智能控制、戰(zhàn)場監(jiān)視以及交通流量監(jiān)測等諸多方面的應(yīng)用廣泛地使用了無線傳感器網(wǎng)絡(luò)技術(shù)。傳感器網(wǎng)絡(luò)具有可靠、準(zhǔn)確、靈活、低廉、易于部署等優(yōu)良特性,使其具有廣闊的應(yīng)用前景,因此,傳感器網(wǎng)絡(luò)得到越來越多的關(guān)注。但是,目前的無線傳感器網(wǎng)絡(luò)仍存在下列問題需要解決1.傳統(tǒng)的傳感器網(wǎng)絡(luò)節(jié)點(diǎn),將微處理器同傳感器探頭集成在一塊電路板上,這樣雖然增加了節(jié)點(diǎn)的可靠性,但是降低了系統(tǒng)功能的靈活性。當(dāng)需要檢測的數(shù)據(jù)類型發(fā)生改變,或者傳感器節(jié)點(diǎn)部署環(huán)境發(fā)生改變時(shí)必須重新制作電路版,將新的探頭和微處理器整合到一起,并需要重寫相應(yīng)的傳感器節(jié)點(diǎn)軟件。2.當(dāng)前的傳感器節(jié)點(diǎn),有些直接在嵌入式系統(tǒng)中實(shí)現(xiàn)相應(yīng)接口的驅(qū)動(dòng)程序,并按照探頭所提供的通信協(xié)議進(jìn)行數(shù)據(jù)采集和解析,還有一些節(jié)點(diǎn)在嵌入式系統(tǒng)中移植了已有的一些嵌入式操作系統(tǒng)如MC/0S,TinyOS等等,之后利用操作系統(tǒng)提供的一些API對接口進(jìn)行操作,并實(shí)現(xiàn)相應(yīng)探頭的通信協(xié)議完成數(shù)據(jù)采集工作。這兩種方式下,上層應(yīng)用程序都需要隨著傳感器探頭的改變而修改代碼,從而為系統(tǒng)的擴(kuò)展帶來了極大的麻煩。3.傳感器網(wǎng)絡(luò)的重要應(yīng)用是監(jiān)測應(yīng)用,比如農(nóng)田作物監(jiān)測、建筑物監(jiān)測、湖泊水質(zhì)監(jiān)測等。在這些應(yīng)用中,節(jié)點(diǎn)需要每隔一定時(shí)間間隔對被監(jiān)測對象進(jìn)行感知,并將所采集的數(shù)據(jù)以多跳的方式發(fā)送到匯聚節(jié)點(diǎn)上去。在同一無線廣播區(qū)域,可能會(huì)導(dǎo)致嚴(yán)重的包碰撞、網(wǎng)絡(luò)擁塞、包丟失,在最嚴(yán)重的情況下甚至發(fā)生擁塞崩潰。而節(jié)點(diǎn)間負(fù)載的不平衡會(huì)進(jìn)一步加重這種不良效應(yīng)的程度,造成能量消耗熱點(diǎn)。負(fù)載過高的節(jié)點(diǎn)會(huì)因迅速消耗完它們的電能而過早死亡,而且可能使整個(gè)網(wǎng)絡(luò)過早死亡或陷于癱瘓。為了解決這個(gè)問題,必須要從網(wǎng)絡(luò)的底層加以解決。4.目前國內(nèi)已有的傳感器網(wǎng)絡(luò),例如中科院計(jì)算技術(shù)研究所開發(fā)的EZ210節(jié)點(diǎn),在組網(wǎng)過程中傳感器節(jié)點(diǎn)同匯聚節(jié)點(diǎn)直接相連,整個(gè)網(wǎng)絡(luò)是一個(gè)圖7所示的星型結(jié)構(gòu),其網(wǎng)絡(luò)層過于簡單,不能適合大規(guī)模的無線傳感器節(jié)點(diǎn)組網(wǎng),不適用于復(fù)雜環(huán)境下的實(shí)時(shí)檢測目標(biāo)
發(fā)明內(nèi)容本發(fā)明的發(fā)明目的是解決大規(guī)模傳感器網(wǎng)絡(luò)下的傳感器節(jié)點(diǎn)多跳路由組網(wǎng)問題,提升傳感器網(wǎng)絡(luò)系統(tǒng)擴(kuò)展便捷性,以及降低多種類型數(shù)據(jù)檢測的處理復(fù)雜度。本發(fā)明采用的技術(shù)方案為一種基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò),是由匯聚節(jié)點(diǎn)和多個(gè)傳感器節(jié)點(diǎn)組成的網(wǎng)絡(luò),其中傳感器節(jié)點(diǎn)的硬件由處理器、射頻模塊、存儲(chǔ)器、傳感器探頭和電源模塊組成,射頻模塊、存儲(chǔ)器、傳感器探頭和處理器相連,電源模塊為各模塊提供電源;傳感器節(jié)點(diǎn)的軟件包括網(wǎng)絡(luò)協(xié)議棧、標(biāo)準(zhǔn)接口驅(qū)動(dòng)模塊、信息交換處理模塊及上層應(yīng)用相關(guān)邏輯模塊,其中,由標(biāo)準(zhǔn)接口驅(qū)動(dòng)模塊構(gòu)成的標(biāo)準(zhǔn)接口驅(qū)動(dòng)程序?qū)釉诰W(wǎng)絡(luò)協(xié)議棧之上,每一個(gè)標(biāo)準(zhǔn)接口對應(yīng)一個(gè)驅(qū)動(dòng)程序模塊;由信息交換處理模塊構(gòu)成的信息交換處理層負(fù)責(zé)從各個(gè)標(biāo)準(zhǔn)接口讀取數(shù)據(jù),對數(shù)據(jù)進(jìn)行格式轉(zhuǎn)化,對多個(gè)傳感器傳來的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合處理,并且在一定時(shí)間間隔之后對傳感器節(jié)點(diǎn)進(jìn)行時(shí)間同步,之后將處理好的數(shù)據(jù)上傳給應(yīng)用層進(jìn)行進(jìn)一步處理;底層硬件同上層應(yīng)用之間以中間件層進(jìn)行隔離;傳感器節(jié)點(diǎn)之間以及傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)之間以多跳形式構(gòu)成網(wǎng)絡(luò)。一種在上述無線傳感器網(wǎng)絡(luò)中的通信方法,包括如下步驟當(dāng)傳感器節(jié)點(diǎn)通過探頭采集環(huán)境數(shù)據(jù)后,首先由處理器將數(shù)據(jù)讀入存儲(chǔ)器中,將數(shù)據(jù)劃分成幀,附加幀頭信息,傳遞給無線射頻模塊,由該模塊以無線的形式發(fā)送出去;在匯聚節(jié)點(diǎn)或其他負(fù)責(zé)轉(zhuǎn)發(fā)的傳感器節(jié)點(diǎn)處,通過無線射頻模塊將數(shù)據(jù)接收進(jìn)來,并生成中斷,通知該節(jié)點(diǎn)上的處理器讀數(shù)據(jù),處理器讀取無線射頻模塊的接收緩存;如果是轉(zhuǎn)發(fā)的傳感器節(jié)點(diǎn)接收數(shù)據(jù),則按照自己本地的路由表將報(bào)文轉(zhuǎn)發(fā)出去;如果是匯聚節(jié)點(diǎn)接收到數(shù)據(jù),則將數(shù)據(jù)讀入并去掉幀頭,進(jìn)行解析,最后將數(shù)據(jù)通過RS232接口提供給上位機(jī)處理,完成整個(gè)通信過程。在本發(fā)明的實(shí)施措施中所述中間件層包括CommMapping層、SensorMapping層、socket模塊、Local模塊、Remote模塊、RoutingModule模塊,其中不同的硬件接口協(xié)議通過CommM邵ping層進(jìn)行屏蔽,使得不同接口的操作可以以統(tǒng)一的方式進(jìn)行操作;socket模塊向上層應(yīng)用提供統(tǒng)一的操作接口,向下則調(diào)用CommMapping層提供的針對不同接口屏蔽后使用的統(tǒng)一的一套操作接口;對于不同傳感器探頭所使用的通信協(xié)議通過SensorMa卯ing層進(jìn)行映射,使之映射到標(biāo)準(zhǔn)socket的操作上;-Local模塊負(fù)責(zé)處理socket模塊接收的針對本地資源的相應(yīng)操作;Remote模塊負(fù)責(zé)處理socket模塊接收到的對遠(yuǎn)程資源的使用請求;RoutingModule模塊根據(jù)路由算法生成路由表,負(fù)責(zé)將遠(yuǎn)程資源使用請求路由轉(zhuǎn)發(fā)到指定節(jié)點(diǎn)。所述網(wǎng)絡(luò)協(xié)議棧由物理層、媒體接入控制層、負(fù)責(zé)報(bào)文路由轉(zhuǎn)發(fā)的網(wǎng)絡(luò)層、傳輸控制層組成,其中-物理層負(fù)責(zé)完成無線鏈路的連接,確保原始的數(shù)據(jù)可在物理媒體上完成傳輸;媒體接入層負(fù)責(zé)判斷當(dāng)前是否可以向物理層發(fā)送數(shù)據(jù),如果可以發(fā)送,則向數(shù)據(jù)報(bào)文添加控制信息,將數(shù)據(jù)和控制信息以規(guī)定的格式發(fā)送到物理層,在接收數(shù)據(jù)時(shí)首先判斷輸入的信息并是否發(fā)生傳輸錯(cuò)誤,如果沒有錯(cuò)誤,則去掉控制信息再發(fā)送至上層;網(wǎng)絡(luò)層根據(jù)獲取到的無線傳感器網(wǎng)絡(luò)拓?fù)湫畔⑸陕酚杀?,在接收到?bào)文后,根據(jù)目的地址和本地路由表對報(bào)文進(jìn)行轉(zhuǎn)發(fā),完成點(diǎn)到點(diǎn)可靠傳輸;傳輸控制層的作用是將數(shù)據(jù)報(bào)文加上必要的報(bào)文頭部,包括源地址、目的地址、報(bào)文序列號、確認(rèn)報(bào)文序號等傳輸控制信息,保證端到端的可靠傳輸。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為1.對于上層應(yīng)用來說,底層硬件接口以及傳感器探頭相關(guān)的實(shí)現(xiàn)全都不用關(guān)心,只需要在中間件middleware和應(yīng)用Application之間定義用于交互的數(shù)據(jù)結(jié)構(gòu)即可完成對傳感器數(shù)據(jù)的使用,極大地提高了無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的擴(kuò)展能力。2.傳感器節(jié)點(diǎn)的探頭可以以即插即用的方式進(jìn)行更換,根據(jù)要檢測的數(shù)據(jù)類型不同,可以調(diào)整傳感器節(jié)點(diǎn)上連接的傳感器探頭。圖1是傳感器節(jié)點(diǎn)的硬件體系結(jié)構(gòu)框架;圖2是基于中間件思想的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)軟件結(jié)構(gòu)圖;圖3是傳感器節(jié)點(diǎn)軟件總體結(jié)構(gòu)圖;圖4是傳感器節(jié)點(diǎn)網(wǎng)絡(luò)協(xié)議棧;圖5是本發(fā)明傳感器節(jié)點(diǎn)同匯聚節(jié)點(diǎn)形成的網(wǎng)絡(luò)拓?fù)?;圖6是傳感器節(jié)點(diǎn)同匯聚節(jié)點(diǎn)通信過程。具體實(shí)施方式本發(fā)明的基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò),是一種由匯聚節(jié)點(diǎn)和多個(gè)傳感器節(jié)點(diǎn)組成的網(wǎng)絡(luò)。其硬件的總體結(jié)構(gòu)圖如圖1所示,傳感器節(jié)點(diǎn)由圖中所示的以nRF905為核心芯片實(shí)現(xiàn)的射頻模塊、以ARM7為內(nèi)核的處理器芯片、片載存儲(chǔ)器ROM和RAM、多類型的傳感器探頭、以及電源模塊組成。射頻模塊、存儲(chǔ)器、傳感器探頭和處理器相連,電源模塊為各模塊提供電源。傳感器節(jié)點(diǎn)的處理器芯片選用由Philip公司生產(chǎn)的ARM7內(nèi)核的微處理器LPC22節(jié),無線通信部分的核心芯片選用Nordfc公司生產(chǎn)的nRF9—05芯片,具體的制版及編程方法見這兩款芯片的用戶手冊。其中利用ARM7芯片提供的I/0管腳可以實(shí)現(xiàn)RS232、SPI、UART以及RS485等標(biāo)準(zhǔn)接口。無線通信方面,nRF905芯片帶有C—Sense管腳,可以利用這個(gè)管腳實(shí)現(xiàn)載波偵聽;并且nRF905芯片還可以靈活地設(shè)置通信頻點(diǎn)、發(fā)送功率等參數(shù),為傳感器節(jié)點(diǎn)的良好通信提供了可能。本發(fā)明將傳感器探頭同處理器電路版作為兩個(gè)獨(dú)立的部分進(jìn)行處理,兩部分通過標(biāo)準(zhǔn)接口進(jìn)行連接。這樣可克服現(xiàn)有技術(shù)中的第一個(gè)問題。為克服現(xiàn)有技術(shù)中的第二個(gè)問題,我們將中間件思想用到無線傳感器網(wǎng)絡(luò)領(lǐng)域,將上層應(yīng)用同底層的傳感器操作以及接口協(xié)議隔離開,使得傳感器的改變不影響應(yīng)用程序代碼的修改,為整個(gè)系統(tǒng)的擴(kuò)展提供極大的便捷。因此在其軟件方面引入了中間件思想,設(shè)計(jì)middleware層用來隔離底層的硬件同上層的應(yīng)用,使得上層應(yīng)用能夠以透明的方式對底層的數(shù)據(jù)進(jìn)行訪問。本節(jié)點(diǎn)中間件層結(jié)構(gòu)圖如圖2所示。硬件接口協(xié)議的不同通過CommMapping層(通信映射層)進(jìn)行屏蔽,使得不同接口的操作如打開、關(guān)閉、讀、寫、查詢狀態(tài)等操作可以以統(tǒng)一的方式進(jìn)行操作。例如RS232串口,根據(jù)其通信協(xié)議以及A固7的指令系統(tǒng)、接口涉及到的寄存器、編碼規(guī)則,實(shí)現(xiàn)RS232接口的通信協(xié)議。數(shù)據(jù)接收以中斷方式實(shí)現(xiàn)。當(dāng)有使用RS232接口與處理器通信的傳感探頭接入節(jié)點(diǎn)時(shí),當(dāng)中斷產(chǎn)生后,在中斷處理函數(shù)中可以接收到數(shù)據(jù),并且能夠感知有一個(gè)探頭通過RS232接口連接進(jìn)入節(jié)點(diǎn)。中斷處理函數(shù)將數(shù)據(jù)封裝并調(diào)用SensorMapping(傳感映射層)模塊的Receive接口通知SensorMapping模塊有數(shù)據(jù)從底層RS232接口傳入SensorMapping模塊。對于不同傳感器探頭所使用的通信協(xié)議則通過SensorMapping進(jìn)行映射,使之映射到標(biāo)準(zhǔn)socket的操作上。首先,在SensorMapping初始化時(shí)讀取傳感器探頭的數(shù)據(jù)格式描述文件,該文件需要包含所有在該應(yīng)用中可能連接到傳感器節(jié)點(diǎn)的傳感探頭。其次,當(dāng)SensorMapping模塊接收到Co誦Mapping模塊發(fā)送來的數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行解析,識(shí)別出接入節(jié)點(diǎn)的探頭類型。再次,第一次通過某個(gè)硬件接口接收到特定探頭的數(shù)據(jù)時(shí)需要在模塊內(nèi)記錄如表1所示的SensorMapping模塊探頭信息,并分配節(jié)點(diǎn)內(nèi)部唯一的標(biāo)識(shí),32位IP地址。IPPhysicalInterfaceSensorType192.168.0.1RS232nultraSonic表l<table>tableseeoriginaldocumentpage7</column></row><table>表2<table>tableseeoriginaldocumentpage7</column></row><table>器、CPU、各種接口,RF模塊)的相應(yīng)操作,Remote模塊(遠(yuǎn)程請求模塊)負(fù)責(zé)處理socket模塊接收到的對遠(yuǎn)程資源的使用請求。socket模塊向上層應(yīng)用提供統(tǒng)一的操作接口,向下則調(diào)用CommMapping層提供的針對不同接口屏蔽后使用的統(tǒng)一的一套操作接口。RoutingModule(路由模塊)根據(jù)路由算法生成路由表,負(fù)責(zé)將遠(yuǎn)程資源使用請求路由轉(zhuǎn)發(fā)到指定節(jié)點(diǎn)。傳感器節(jié)點(diǎn)的軟件總體結(jié)構(gòu)如圖3所示,主要由網(wǎng)絡(luò)協(xié)議棧、標(biāo)準(zhǔn)接口驅(qū)動(dòng)、信息處理以及上層應(yīng)用相關(guān)邏輯幾個(gè)模塊組成,這些模塊均對應(yīng)到中間件中相應(yīng)模塊的具體實(shí)現(xiàn)。以上圖2和圖3均說明了本發(fā)明的軟件結(jié)構(gòu),其中,圖2重點(diǎn)從中間件思想角度闡述軟件結(jié)構(gòu),突出中間件思想,屏蔽應(yīng)用和底層硬件的差異性。針對本節(jié)點(diǎn)所采用的芯片,傳感器探頭,硬件接口來闡述各個(gè)模塊的設(shè)計(jì),將圖3中闡述的通用傳感器節(jié)點(diǎn)軟件結(jié)構(gòu)具體化,在中間件層還提出將對各種資源的訪問操作統(tǒng)一的socket上的思想。這些都需要將中間件層的軟件結(jié)構(gòu)進(jìn)行細(xì)化闡述。圖3則重點(diǎn)從功能角度闡述軟件結(jié)構(gòu),突出一個(gè)傳感器節(jié)點(diǎn)軟件所需要具備的必要的功能,圖3為傳感器節(jié)點(diǎn)的通用結(jié)構(gòu),通用結(jié)構(gòu)中的各個(gè)模塊所具有的功能都可以在中間件層中找到相應(yīng)的對應(yīng)模塊網(wǎng)絡(luò)協(xié)議棧由圖4所示的物理層(在nRF905芯片中已經(jīng)包含了物理層協(xié)議的相關(guān)功能)、媒體接入控制層、負(fù)責(zé)報(bào)文路由轉(zhuǎn)發(fā)的網(wǎng)絡(luò)層、傳輸控制等協(xié)議組成。其中物理層負(fù)責(zé)完成無線鏈路能夠連接,確保原始的數(shù)據(jù)可在物理媒體上完成傳輸;媒體接入層的主要功能是判斷當(dāng)前是否可以向物理層發(fā)送數(shù)據(jù),如果可以發(fā)送需要向數(shù)據(jù)報(bào)文添加控制信息,最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層,在接收數(shù)據(jù)時(shí)MAC協(xié)議首先判斷輸入的信息并是否發(fā)生傳輸錯(cuò)誤,如果沒有錯(cuò)誤,則去掉控制信息發(fā)送至上層;網(wǎng)絡(luò)層的主要功能是,根據(jù)獲取到的無線傳感器網(wǎng)絡(luò)拓?fù)湫畔?,生成路由表,在接收到?bào)文后根據(jù)目的地址和本地路由表對報(bào)文進(jìn)行轉(zhuǎn)發(fā),完成點(diǎn)到點(diǎn)可靠傳輸;傳輸控制層,將數(shù)據(jù)報(bào)文加上必要的報(bào)文頭部,包括源地址、目的地址、報(bào)文序列號、確認(rèn)報(bào)文序號等傳輸控制信息,保證端到端的可靠傳輸。在網(wǎng)絡(luò)協(xié)議棧之上是標(biāo)準(zhǔn)接口驅(qū)動(dòng)程序?qū)?,每一個(gè)標(biāo)準(zhǔn)接口對應(yīng)一個(gè)驅(qū)動(dòng)程序模塊,完成對該接口的讀寫等操作,以便從相應(yīng)的接口連接的傳感器探頭讀取數(shù)據(jù)。信息交換處理層,負(fù)責(zé)從各個(gè)標(biāo)準(zhǔn)接口讀取數(shù)據(jù),對數(shù)據(jù)進(jìn)行格式轉(zhuǎn)化,對多個(gè)傳感器傳來的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合處理。并且在一定時(shí)間間隔之后對傳感器節(jié)點(diǎn)進(jìn)行時(shí)間同步,還可以根據(jù)應(yīng)用的需要對傳感器的物理位置進(jìn)行定位。之后將處理好的數(shù)據(jù)上傳給應(yīng)用層進(jìn)行進(jìn)一步處理。本發(fā)明采用圖5所示傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),傳感器節(jié)點(diǎn)之間以及傳感器節(jié)點(diǎn)同匯聚節(jié)點(diǎn)以多跳形式構(gòu)成復(fù)雜的網(wǎng)絡(luò)拓?fù)?。在這種拓?fù)浣Y(jié)構(gòu)下,傳感器節(jié)點(diǎn)不僅要負(fù)責(zé)檢測環(huán)境數(shù)據(jù),向外發(fā)送,而且還要接收其他傳感器節(jié)點(diǎn)傳來的數(shù)據(jù),并負(fù)責(zé)路由轉(zhuǎn)發(fā),在每個(gè)傳感器節(jié)點(diǎn)中都要保存一份整個(gè)傳感器網(wǎng)絡(luò)的拓?fù)湫畔⒒蚵酚杀怼R簿褪钦f,在本發(fā)明中傳感器節(jié)點(diǎn)除了承擔(dān)傳統(tǒng)傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)所要承擔(dān)的感知數(shù)據(jù)的職責(zé)外,還要承擔(dān)路由器的職責(zé)。本發(fā)明采用多跳路由的方式進(jìn)行組網(wǎng),不僅擴(kuò)大了傳感器節(jié)點(diǎn)同匯聚節(jié)點(diǎn)之間的距離,而且使得傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在部署時(shí)受到的限制更少,擴(kuò)大了整個(gè)傳感器網(wǎng)絡(luò)能夠覆蓋的區(qū)域。圖6為傳感器節(jié)點(diǎn)同匯聚節(jié)點(diǎn)之間的通信過程。當(dāng)傳感器節(jié)點(diǎn)通過探頭采集環(huán)境數(shù)據(jù)后,首先由處理器將數(shù)據(jù)讀入片載ROM、R層中,將數(shù)據(jù)劃分成幀,附加幀頭信息,傳遞給無線射頻模塊,由該模塊以無線的形式發(fā)送出去。在匯聚節(jié)點(diǎn)或其他負(fù)責(zé)轉(zhuǎn)發(fā)的傳感器節(jié)點(diǎn)處,通過無線射頻模塊將數(shù)據(jù)接收進(jìn)來,并生成中斷,通知該節(jié)點(diǎn)上的處理器讀數(shù)據(jù),處理器讀取無線射頻模塊接收緩存。如果是轉(zhuǎn)發(fā)的傳感器節(jié)點(diǎn)接收數(shù)據(jù),需要按照自己本地的路由表將報(bào)文轉(zhuǎn)發(fā)出去,如果是匯聚節(jié)點(diǎn)接收到數(shù)據(jù)則將數(shù)據(jù)讀入并去掉幀頭,進(jìn)行解析,最后將數(shù)據(jù)通過RS232接口提供給PC或其他上位機(jī)處理。完成整個(gè)通信過程。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。權(quán)利要求1.一種基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò),是由匯聚節(jié)點(diǎn)和多個(gè)傳感器節(jié)點(diǎn)組成的網(wǎng)絡(luò),其特征在于-傳感器節(jié)點(diǎn)的硬件由處理器、射頻模塊、存儲(chǔ)器、傳感器探頭和電源模塊組成,射頻模塊、存儲(chǔ)器、傳感器探頭和處理器相連,電源模塊為各模塊提供電源;傳感器節(jié)點(diǎn)的軟件包括網(wǎng)絡(luò)協(xié)議棧、標(biāo)準(zhǔn)接口驅(qū)動(dòng)模塊、信息交換處理模塊及上層應(yīng)用相關(guān)邏輯模塊,其中,由標(biāo)準(zhǔn)接口驅(qū)動(dòng)模塊構(gòu)成的標(biāo)準(zhǔn)接口驅(qū)動(dòng)程序?qū)釉诰W(wǎng)絡(luò)協(xié)議棧之上,每一個(gè)標(biāo)準(zhǔn)接口對應(yīng)一個(gè)驅(qū)動(dòng)程序模塊;由信息交換處理模塊構(gòu)成的信息交換處理層負(fù)責(zé)從各個(gè)標(biāo)準(zhǔn)接口讀取數(shù)據(jù),對數(shù)據(jù)進(jìn)行格式轉(zhuǎn)化,對多個(gè)傳感器傳來的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合處理,并且在一定時(shí)間間隔之后對傳感器節(jié)點(diǎn)進(jìn)行時(shí)間同步,之后將處理好的數(shù)據(jù)上傳給應(yīng)用層進(jìn)行進(jìn)一步處理;底層硬件同上層應(yīng)用之間以中間件層進(jìn)行隔離;傳感器節(jié)點(diǎn)之間以及傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)之間以多跳形式構(gòu)成網(wǎng)絡(luò)。2.如權(quán)利要求1所述的基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò),其特征在于所述中間件層包括Co,Mapping層(通信映射層)、SensorMapping層(傳感映射層)、socket模塊(套接字模塊)、Local模塊(本地請求模塊)、Remote模塊(遠(yuǎn)程請求模塊)、RoutingModule模塊(路由模塊),其中不同的硬件接口協(xié)議通過CommMapping層進(jìn)行屏蔽,使得不同接口的操作可以以統(tǒng)一的方式進(jìn)行操作;socket模塊向上層應(yīng)用提供統(tǒng)一的操作接口,向下則調(diào)用CoramMapping層提供的針對不同接口屏蔽后使用的統(tǒng)一的一套操作接口;對于不同傳感器探頭所使用的通信協(xié)議通過SensorMapping層進(jìn)行映射,使之映射到標(biāo)準(zhǔn)socket的操作上;Local模塊負(fù)責(zé)處理socket模塊接收的針對本地資源的相應(yīng)操作;Remote模塊負(fù)責(zé)處理socket模塊接收到的對遠(yuǎn)程資源的使用請求;RoutingModule模塊根據(jù)路由算法生成路由表,負(fù)責(zé)將遠(yuǎn)程資源使用請求路由轉(zhuǎn)發(fā)到指定節(jié)點(diǎn)。3.如權(quán)利要求1或2所述的基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò),其特征在于所述網(wǎng)絡(luò)協(xié)議棧由物理層、媒體接入控制層、負(fù)責(zé)報(bào)文路由轉(zhuǎn)發(fā)的網(wǎng)絡(luò)層、傳輸控制層組成,其中物理層負(fù)責(zé)完成無線鏈路的連接,確保原始的數(shù)據(jù)可在物理媒體上完成傳輸;媒體接入層負(fù)責(zé)判斷當(dāng)前是否可以向物理層發(fā)送數(shù)據(jù),如果可以發(fā)送,則向數(shù)據(jù)報(bào)文添加控制信息,將數(shù)據(jù)和控制信息以規(guī)定的格式發(fā)送到物理層,在接收數(shù)據(jù)時(shí)首先判斷輸入的信息并是否發(fā)生傳輸錯(cuò)誤,如果沒有錯(cuò)誤,則去掉控制信息再發(fā)送至上層;網(wǎng)絡(luò)層根據(jù)獲取到的無線傳感器網(wǎng)絡(luò)拓?fù)湫畔⑸陕酚杀?,在接收到?bào)文后,根據(jù)目的地址和本地路由表對報(bào)文進(jìn)行轉(zhuǎn)發(fā),完成點(diǎn)到點(diǎn)可靠傳輸;傳輸控制層的作用是將數(shù)據(jù)報(bào)文加上必要的報(bào)文頭部,包括源地址、目的地址、報(bào)文序列號、確認(rèn)報(bào)文序號等傳輸控制信息,保證端到端的可靠傳輸。4.一種在基于中間件思想實(shí)現(xiàn)節(jié)點(diǎn)軟件的傳感器網(wǎng)絡(luò)中的通信方法,其特征在于包括如下步驟當(dāng)傳感器節(jié)點(diǎn)通過探頭采集環(huán)境數(shù)據(jù)后,首先由處理器將數(shù)據(jù)讀入存儲(chǔ)器中,將數(shù)據(jù)劃分成幀,附加幀頭信息,傳遞給無線射頻模塊,由該模塊以無線的形式發(fā)送出去;在匯聚節(jié)點(diǎn)或其他負(fù)責(zé)轉(zhuǎn)發(fā)的傳感器節(jié)點(diǎn)處,通過無線射頻模塊將數(shù)據(jù)接收進(jìn)來,并生成中斷,通知該節(jié)點(diǎn)上的處理器讀數(shù)據(jù),處理器讀取無線射頻模塊的接收緩存;如果是轉(zhuǎn)發(fā)的傳感器節(jié)點(diǎn)接收數(shù)據(jù),則按照自己本地的路由表將報(bào)文轉(zhuǎn)發(fā)出去;如果是匯聚節(jié)點(diǎn)接收到數(shù)據(jù),則將數(shù)據(jù)讀入并去掉幀頭,進(jìn)行解析,最后將數(shù)據(jù)通過RS232接口提供給上位機(jī)處理,完成整個(gè)通信過程。全文摘要本發(fā)明涉及多類型探頭具有路由組網(wǎng)能力的多信息融合無線傳感器網(wǎng)絡(luò)及通信方法,屬于無線傳感器網(wǎng)絡(luò)領(lǐng)域。其傳感器節(jié)點(diǎn)的硬件由處理器、射頻模塊、存儲(chǔ)器、傳感器探頭和電源模塊組成;傳感器節(jié)點(diǎn)的軟件包括網(wǎng)絡(luò)協(xié)議棧、標(biāo)準(zhǔn)接口驅(qū)動(dòng)模塊、信息交換處理模塊及上層應(yīng)用相關(guān)邏輯模塊,其中,由標(biāo)準(zhǔn)接口驅(qū)動(dòng)模塊構(gòu)成的標(biāo)準(zhǔn)接口驅(qū)動(dòng)程序?qū)釉诰W(wǎng)絡(luò)協(xié)議棧之上,每一個(gè)標(biāo)準(zhǔn)接口對應(yīng)一個(gè)驅(qū)動(dòng)程序模塊;由信息交換處理模塊構(gòu)成的信息交換處理層負(fù)責(zé)從各個(gè)標(biāo)準(zhǔn)接口讀取數(shù)據(jù),對數(shù)據(jù)進(jìn)行格式轉(zhuǎn)化,對多個(gè)傳感器傳來的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合處理,并且在一定時(shí)間間隔之后對傳感器節(jié)點(diǎn)進(jìn)行時(shí)間同步,之后將處理好的數(shù)據(jù)上傳給應(yīng)用層進(jìn)行進(jìn)一步處理;底層硬件同上層應(yīng)用之間以中間件層進(jìn)行隔離;傳感器節(jié)點(diǎn)之間以及傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)之間以多跳形式構(gòu)成網(wǎng)絡(luò)。本發(fā)明可提升傳感器網(wǎng)絡(luò)系統(tǒng)擴(kuò)展便捷性,以及降低多種類型數(shù)據(jù)檢測的處理復(fù)雜度。文檔編號H04L29/08GK101146129SQ20071017663公開日2008年3月19日申請日期2007年10月31日優(yōu)先權(quán)日2007年10月31日發(fā)明者威吳,忠周,靖曹,趙沁平,健高申請人:北京航空航天大學(xué)