本發(fā)明是一種無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)TinyOS在傳感器節(jié)點(diǎn)上的應(yīng)用技術(shù)方法,主要研究傳感器節(jié)點(diǎn)之間的無(wú)線通信,屬于無(wú)線傳感器網(wǎng)絡(luò)安全技術(shù)領(lǐng)域。
背景技術(shù):
“物聯(lián)網(wǎng)”是把所有物品通過(guò)射頻識(shí)別等信息傳感設(shè)備與互聯(lián)網(wǎng)連接起來(lái),實(shí)現(xiàn)智能化識(shí)別和管理,是指各類傳感器和現(xiàn)有的互聯(lián)網(wǎng)相互銜接的一個(gè)新技術(shù)。作為物聯(lián)網(wǎng)研究領(lǐng)域的一個(gè)重要分支,無(wú)線傳感器網(wǎng)絡(luò)是當(dāng)今無(wú)線通信領(lǐng)域研究熱點(diǎn)之一。物聯(lián)網(wǎng)正是通過(guò)遍布在各個(gè)角落和物體上的形形色色的傳感器以及由它們組成的無(wú)線傳感器網(wǎng)絡(luò),來(lái)最終感知整個(gè)物質(zhì)世界的。無(wú)線傳感器網(wǎng)絡(luò)研究最早起源于軍事領(lǐng)域,因其無(wú)需架設(shè)通信設(shè)施、能夠快速部署、抗毀性強(qiáng)等特點(diǎn)使得它具有重大的應(yīng)用價(jià)值。無(wú)線傳感器網(wǎng)絡(luò)可以感知不同的參數(shù)信息,包括位移、加速度、電磁波、溫度、濕度、噪聲、光強(qiáng)、壓力等,這使得無(wú)線傳感器網(wǎng)絡(luò)具有廣泛的應(yīng)用領(lǐng)域。
無(wú)線傳感器網(wǎng)絡(luò)是由大量體積小、資源受限并且具有一定計(jì)算能力和無(wú)線通信能力的傳感器節(jié)點(diǎn)組成,通常部署于開放、無(wú)人值守、甚至敵對(duì)的環(huán)境下,如軍事領(lǐng)域,執(zhí)行監(jiān)控和數(shù)據(jù)采集任務(wù)。當(dāng)它被部署在這樣的環(huán)境中,它缺乏物理保護(hù)和有受節(jié)點(diǎn)感染的傾向。感染一個(gè)或多個(gè)傳感器節(jié)點(diǎn)后,敵人可能發(fā)動(dòng)各種攻擊,擾亂無(wú)線網(wǎng)絡(luò)通信。而傳感網(wǎng)絡(luò)容易受到的虛假數(shù)據(jù)注入的攻擊則是攻擊者常使用的攻擊手段,對(duì)手注入到網(wǎng)絡(luò)中的虛假數(shù)據(jù)達(dá)到欺騙基站或中繼節(jié)點(diǎn)的資源消耗的目標(biāo)。
WSN的操作系統(tǒng)作為應(yīng)用軟件的開發(fā)基礎(chǔ),它的各種性能指標(biāo)直接影響了系統(tǒng)的性能,所以對(duì)于操作系統(tǒng)的研究是很有必要的。由加州大學(xué)伯克利分校開發(fā)的TinyOS操作系統(tǒng)是實(shí)際上的無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)標(biāo)準(zhǔn)。它的結(jié)構(gòu)模塊化、低功耗等優(yōu)點(diǎn)使其被廣泛應(yīng)用于WSN上,并成為很多WSN系統(tǒng)的參考設(shè)計(jì)。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問(wèn)題:本發(fā)明的目的是提供一種基于TinyOS的傳感器無(wú)線通信方法線通信方法,來(lái)實(shí)現(xiàn)多徑傳輸?shù)膯?wèn)題。基于無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)(TinyOS)提出一種節(jié)點(diǎn)間進(jìn)行無(wú)線通信的技術(shù),來(lái)解決無(wú)線傳感器網(wǎng)絡(luò)資源受限的問(wèn)題。
技術(shù)方案:該技術(shù)及其解決方案,使用基于TinyOS操作系統(tǒng)的解決方法,TinyOS作為傳感器網(wǎng)絡(luò)必要的軟件支持主要進(jìn)行較復(fù)雜的任務(wù)調(diào)度與管理,TinyOS的程序采用的是模塊化設(shè)計(jì),它是基于一種組件的架構(gòu)方式,使得能夠快速實(shí)現(xiàn)各種應(yīng)用,其程序核心往往都很小(一般來(lái)說(shuō)核心代碼和數(shù)據(jù)大概在400BYTES左右),能夠突破傳感器存儲(chǔ)資源少的限制,讓TinyOS很有效地運(yùn)行在無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)上并執(zhí)行相應(yīng)的管理工作等。
本發(fā)明的基于TinyOS的傳感器無(wú)線通信方法線通信方法采用一種基于組件架構(gòu)方式的無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)TinyOS,依托了TinyOS發(fā)行包中提供的組件重新修改和編寫模塊程序,具體實(shí)施方法為:
1)程序的編譯與下載
軟件實(shí)現(xiàn):在TinyOS系統(tǒng)下,基于TinyOS的發(fā)行包中提供的組件與應(yīng)用程序包括Oscilloscope和TOSBase,重新修改編寫模塊程序OscilloscopeRF、TOSTest:和TOSBaseTest:,實(shí)現(xiàn)傳感器節(jié)點(diǎn)相應(yīng)的采集發(fā)送數(shù)據(jù)、轉(zhuǎn)發(fā)數(shù)據(jù)和接收數(shù)據(jù)等功能;
硬件實(shí)現(xiàn):通過(guò)編程板板MIBB51D和串口轉(zhuǎn)接線USB converter 232將傳感器硬件節(jié)點(diǎn)Micaz與電腦進(jìn)行連接,通過(guò)unix模擬環(huán)境軟件Cygwin到達(dá)C:/Cygwin/opt/tinyos-1.x/apps目錄下相應(yīng)的應(yīng)用程序,分別對(duì)采集節(jié)點(diǎn)A、基站節(jié)點(diǎn)B、第一中轉(zhuǎn)節(jié)點(diǎn)C和第二中轉(zhuǎn)節(jié)點(diǎn)D進(jìn)行編譯下載;
2)建立多跳通信
通過(guò)51針接口連接采集節(jié)點(diǎn)A與光敏度采集板mts300,光敏度采集板mts300將采集到的光敏度數(shù)據(jù)傳導(dǎo)給采集節(jié)點(diǎn)A,采集節(jié)點(diǎn)A通過(guò)與第一中轉(zhuǎn)節(jié)點(diǎn)C建立起IEEE802.15.4協(xié)議信道,并將數(shù)據(jù)封裝成數(shù)據(jù)包后發(fā)送給第一中轉(zhuǎn)節(jié)點(diǎn)C,第一中轉(zhuǎn)節(jié)點(diǎn)C轉(zhuǎn)發(fā)信息到基站節(jié)點(diǎn)B,基站節(jié)點(diǎn)B將數(shù)據(jù)包通過(guò)串口傳送給電腦并進(jìn)行顯示;
3)進(jìn)行多徑通信
啟動(dòng)第二中轉(zhuǎn)節(jié)點(diǎn)D,采集節(jié)點(diǎn)A將采集的數(shù)據(jù)發(fā)送至第二中轉(zhuǎn)節(jié)點(diǎn)D,第二中轉(zhuǎn)節(jié)點(diǎn)D將接收到的數(shù)據(jù)重新打包封裝發(fā)送給基站節(jié)點(diǎn)B,基站節(jié)點(diǎn)B收到數(shù)據(jù)包后解封裝后將原始數(shù)據(jù)通過(guò)串口通訊輸出到電腦機(jī)上,電腦機(jī)通過(guò)串口工具進(jìn)行顯示;
最終,實(shí)現(xiàn)了多跳多徑無(wú)線通信。
附圖說(shuō)明
圖1是多跳無(wú)線通信應(yīng)用程序組件圖。
圖2是本發(fā)明方法的節(jié)點(diǎn)間通信流程示意圖。
圖3是本發(fā)明方法提出的通信模型整體流程圖。
圖4是本發(fā)明提出的無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)。
具體實(shí)施方式
1.無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)TinyOS
美國(guó)加州大學(xué)伯克利分校開發(fā)的TinyOS是一種微小的、嵌入式的、基于事件驅(qū)動(dòng)的無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng),與一般的嵌入式操作系統(tǒng)相比,TinyOS有其自身的特點(diǎn):
(1)基于可重用組件的體系結(jié)構(gòu),采用模塊化設(shè)計(jì)思想;
(2)使用事件驅(qū)動(dòng)模型,通過(guò)事件觸發(fā)來(lái)喚醒CPU工作。
TinyOS采用基于組件式的架構(gòu)形式,圖1給出了其通信組件,無(wú)線收發(fā)模塊是將物理硬件映射而成的硬件抽象組件,其發(fā)命令給相關(guān)1/O引腳處理比特流級(jí)的數(shù)據(jù)收發(fā),并且發(fā)信號(hào)給事件將數(shù)據(jù)位的發(fā)送和接收通知上層的射頻字節(jié)組件。射頻字節(jié)組件內(nèi)部完成字節(jié)級(jí)數(shù)據(jù)的編碼和解碼工作,并以字節(jié)為單位與上層組件無(wú)線消息包交互,無(wú)線消息包組件進(jìn)行消息包級(jí)的數(shù)據(jù)處理,并發(fā)信號(hào)通知高層次的主動(dòng)消息組件。最終由主動(dòng)消息組件來(lái)完成控制,路由以及數(shù)據(jù)傳輸?shù)热蝿?wù)。
2.倉(cāng)庫(kù)環(huán)境監(jiān)測(cè)平臺(tái)
從以下幾個(gè)方面進(jìn)行研究:
(1)倉(cāng)庫(kù)環(huán)境數(shù)據(jù)的采集;在倉(cāng)儲(chǔ)環(huán)境下,通過(guò)特定的傳感器采集環(huán)境數(shù)據(jù)(溫度、光敏度和空氣濃度等等);
⑵無(wú)線傳感器節(jié)點(diǎn)間通信問(wèn)題研究;
主要基于TinyOS系統(tǒng)中主動(dòng)消息模式的通信模型,主動(dòng)消息模式是一個(gè)面向消息通信的高性能通信模式,早期一般應(yīng)用于并行和分布式計(jì)算系統(tǒng)中,在主動(dòng)消息通信方式中,每個(gè)消息都維護(hù)一個(gè)應(yīng)用層的處理器。
研究采用的傳感器硬件平臺(tái)為組Micaz,實(shí)驗(yàn)流程:在TinyOS環(huán)境下,A號(hào)Micaz節(jié)點(diǎn)編譯下載相應(yīng)的具有發(fā)送功能的應(yīng)用程序,B號(hào)Micaz節(jié)點(diǎn)編譯下載具有相應(yīng)的接收功能的應(yīng)用程序,即A號(hào)節(jié)點(diǎn)發(fā)送數(shù)據(jù),B號(hào)節(jié)點(diǎn)接收來(lái)自4號(hào)節(jié)點(diǎn)的數(shù)據(jù)并通過(guò)LED燈顯示;
(3)無(wú)線傳感器節(jié)點(diǎn)與的串口通信研究;
作為基站節(jié)點(diǎn)的節(jié)點(diǎn)將接收的數(shù)據(jù)發(fā)送至串口,PC機(jī)通過(guò)串口工具對(duì)串口數(shù)據(jù)進(jìn)行讀取,需要將每次讀取的數(shù)據(jù)整合在一起,對(duì)整合后的數(shù)據(jù)進(jìn)行分析,按照定義的幀格式,通過(guò)幀頭和幀尾,將幀信息從字節(jié)流中抽取出來(lái),獲取有用的信息。
以此分析研究基于傳感器節(jié)點(diǎn)平臺(tái)的倉(cāng)庫(kù)環(huán)境監(jiān)測(cè)數(shù)據(jù)的采集、收發(fā)和顯示問(wèn)題。
3.無(wú)線傳感器網(wǎng)絡(luò)多跳通信
基于倉(cāng)庫(kù)環(huán)境監(jiān)測(cè)平臺(tái),進(jìn)行多跳無(wú)線通信;本發(fā)明可能會(huì)基于一種常見(jiàn)的、基礎(chǔ)型的無(wú)線通信方式進(jìn)行研究分析,提出一種能夠?qū)崿F(xiàn)無(wú)線多徑傳輸?shù)姆绞健?/p>
傳感器節(jié)點(diǎn)正常通信:①A號(hào)組Micaz節(jié)點(diǎn)采集數(shù)據(jù)并發(fā)送至c號(hào)Micaz中轉(zhuǎn)節(jié)點(diǎn),C號(hào)節(jié)點(diǎn)將接收到數(shù)據(jù)發(fā)送至B號(hào)Micaz基站節(jié)點(diǎn),B號(hào)基站節(jié)點(diǎn)將數(shù)據(jù)發(fā)送至串口,PC通過(guò)串口工具對(duì)串口的數(shù)據(jù)進(jìn)行讀取顯示;
②啟動(dòng)D號(hào)Micaz節(jié)點(diǎn),D節(jié)點(diǎn)同樣接收A號(hào)采集節(jié)點(diǎn)的數(shù)據(jù),并將接收到的數(shù)據(jù)打包封裝發(fā)送給基站節(jié)點(diǎn)B,即實(shí)現(xiàn)了多路徑多跳無(wú)線通信,對(duì)該無(wú)線通信的安全方面也起到了一定的作用。
實(shí)驗(yàn)環(huán)境
操作系統(tǒng)Windows XP,TinyOS
軟件Cygwin,VS
硬件:Micaz節(jié)點(diǎn),MIB51D編程板,USB converter 232,mts300光敏度采集板,PC。
⑵具體實(shí)施方案
①程序的編譯與下載
軟件實(shí)現(xiàn):在TinyOS系統(tǒng)下,基于TinyOS現(xiàn)有的發(fā)行包中提供的組件Oscilloscope和TOSBase,重新修改編寫了符合本發(fā)明的模塊程序,實(shí)現(xiàn)傳感器節(jié)點(diǎn)采集數(shù)據(jù)、發(fā)送數(shù)據(jù)、轉(zhuǎn)發(fā)數(shù)據(jù)和接收數(shù)據(jù)等功能;
硬件實(shí)現(xiàn):通過(guò)編程板(MIB510)和串口轉(zhuǎn)接線(usb converter 232)將傳感器硬件節(jié)點(diǎn)與電腦進(jìn)行連接,通過(guò)unix模擬環(huán)境軟件Cygwin到達(dá)C:/Cygwin/opt/tinyos-1.x/apps目錄下相應(yīng)的應(yīng)用程序,分別對(duì)采集節(jié)點(diǎn)A、基站節(jié)點(diǎn)B、中轉(zhuǎn)節(jié)點(diǎn)D和中轉(zhuǎn)節(jié)點(diǎn)D進(jìn)行編譯下載;
②建立多跳通信
通過(guò)51針接口連接采集節(jié)點(diǎn)A與光敏度采集板,mts300將采集到的光敏度數(shù)據(jù)傳導(dǎo)給采集節(jié)點(diǎn)A,采集節(jié)點(diǎn)A通過(guò)與中轉(zhuǎn)節(jié)點(diǎn)c建立起IEEE.802.15.4協(xié)議信道,并將數(shù)據(jù)封裝成數(shù)據(jù)包后發(fā)送給中轉(zhuǎn)節(jié)點(diǎn)C,中轉(zhuǎn)節(jié)點(diǎn)C轉(zhuǎn)發(fā)信息到基站節(jié)點(diǎn)B,基站節(jié)點(diǎn)B將數(shù)據(jù)包通過(guò)串口傳送給PC并進(jìn)行顯示;
③進(jìn)行多徑通信
啟動(dòng)中繼節(jié)點(diǎn)D,采集節(jié)點(diǎn)A將采集的數(shù)據(jù)發(fā)送至中繼節(jié)點(diǎn)D,中繼節(jié)點(diǎn)D將接收到的數(shù)據(jù)重新打包封裝發(fā)送給基站節(jié)點(diǎn)B,基站節(jié)點(diǎn)B收到數(shù)據(jù)包后解封裝后將原始數(shù)據(jù)通過(guò)串口通訊輸出到PC機(jī)上,PC機(jī)通過(guò)串口工具進(jìn)行顯示。