版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
《農(nóng)業(yè)裝備物聯(lián)網(wǎng)技術(shù)》機電工程學(xué)院第四章設(shè)施農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)與應(yīng)用務(wù)本崇實修德精業(yè)4.2.3設(shè)施農(nóng)業(yè)無線傳感網(wǎng)設(shè)計2第四章
設(shè)施農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)與應(yīng)用4.2.3 設(shè)施農(nóng)業(yè)無線傳感網(wǎng)設(shè)計4.2.3 設(shè)施農(nóng)業(yè)無線傳感網(wǎng)設(shè)計32.操作系統(tǒng)設(shè)計TinyOSContikiMANTISSOS3.上位機系統(tǒng)設(shè)計與開發(fā)上位機系統(tǒng)設(shè)計顯示網(wǎng)絡(luò)拓?fù)滹@示通信路徑查看單個節(jié)點狀態(tài)實施傳感器數(shù)據(jù)觀測歷史數(shù)據(jù)查詢遠(yuǎn)程管理主流的上位機系統(tǒng)Mote-ViewSpyGlassSNAMP2.操作系統(tǒng)設(shè)計4無線傳感器網(wǎng)絡(luò)的操作系統(tǒng)是運行在每個傳感器節(jié)點上的基礎(chǔ)核心軟件,它能夠有效地管理硬件資源和任務(wù)的執(zhí)行,并且使應(yīng)用程序的開發(fā)更為方便。一方面,傳感器網(wǎng)絡(luò)操作系統(tǒng)的目的是有效地管理硬件資源和任務(wù)的執(zhí)行,并且使用戶不用直接在硬件上編程開發(fā)程序,從而使應(yīng)用程序的開發(fā)更為方便。這不僅提高了開發(fā)效率,而且能夠增強軟件的重用性。2.操作系統(tǒng)設(shè)計5另一方面,傳統(tǒng)的嵌入式操作系統(tǒng)不能適用于傳感器網(wǎng)絡(luò),這些操作系統(tǒng)對硬件資源有較高的要求,傳感器節(jié)點的有限資源很難滿足這些要求。2.操作系統(tǒng)設(shè)計6無線傳感器網(wǎng)絡(luò)操作的設(shè)計必須是面向具體設(shè)施農(nóng)業(yè)環(huán)境應(yīng)用的,這是與傳統(tǒng)操作系統(tǒng)設(shè)計的主要區(qū)別。在設(shè)計傳統(tǒng)操作系統(tǒng)時,一般要求操作系統(tǒng)為應(yīng)用開發(fā)提供一些通用的編程接口,這些接口是獨立于具體應(yīng)用的,只需調(diào)用這些編程接口就能開發(fā)出各種各樣的應(yīng)用程序。2.操作系統(tǒng)設(shè)計7然而,這樣設(shè)計出來的傳統(tǒng)操作系統(tǒng)需要實現(xiàn)復(fù)雜的進程管理和內(nèi)存管理等功能,農(nóng)業(yè)無線傳感器網(wǎng)絡(luò)的特征和應(yīng)用需求對硬件資源有較高的要求。2.操作系統(tǒng)設(shè)計8農(nóng)業(yè)無線傳感器網(wǎng)絡(luò)操作系統(tǒng)的設(shè)計需要滿足以下一些要求:低能耗:由于農(nóng)業(yè)傳感器節(jié)點分布在設(shè)施環(huán)境中,只有非常有限的能量、計算和存儲資源,所以傳感器網(wǎng)絡(luò)操作系統(tǒng)的代碼量必須盡可能小,復(fù)雜度必須盡可能低,從而盡可能降低系統(tǒng)的能耗。2.操作系統(tǒng)設(shè)計9適用性高:類似于聯(lián)動溫室的設(shè)施農(nóng)業(yè)傳感器網(wǎng)絡(luò)的規(guī)??赡芎艽螅婕皫资畟€溫室,網(wǎng)絡(luò)拓?fù)涓叨葎討B(tài)變化,因此傳感器網(wǎng)絡(luò)操作系統(tǒng)必須能夠適應(yīng)網(wǎng)絡(luò)規(guī)模和拓?fù)涓叨葎討B(tài)變化的應(yīng)用環(huán)境??焖夙憫?yīng):設(shè)施農(nóng)業(yè)對環(huán)境要求比較苛刻,一旦作物環(huán)境不適合作物生長,要求傳感網(wǎng)必須對監(jiān)測環(huán)境中發(fā)生的事件快速實時地進行響應(yīng),并迅速執(zhí)行相關(guān)的處理任務(wù),保障農(nóng)業(yè)設(shè)施環(huán)境的穩(wěn)定。2.操作系統(tǒng)設(shè)計10支持并發(fā):必須有效地管理計算資源、存儲資源、通信資源,并且高效地管理多個并發(fā)任務(wù)的執(zhí)行,從而使應(yīng)用程序能夠快速地切換并執(zhí)行頻繁發(fā)生的多個并發(fā)任務(wù)。支持多傳感器節(jié)點協(xié)作:由于每個傳感器節(jié)點只有非常有限的資源,多個傳感器節(jié)點必須協(xié)同工作,形成分布式的網(wǎng)絡(luò)系統(tǒng)才能完成復(fù)雜的監(jiān)測任務(wù)。因此,傳感器網(wǎng)絡(luò)操作系統(tǒng)必須能夠使多個節(jié)點高效地協(xié)作完成監(jiān)測任務(wù)。2.操作系統(tǒng)設(shè)計11能提供方便的編程方法:基于傳感器網(wǎng)絡(luò)操作系統(tǒng)提供的編程方法,開發(fā)者應(yīng)該能夠方便、快速地開發(fā)應(yīng)用程序,無需過多地關(guān)注對底層硬件的操作。2.操作系統(tǒng)設(shè)計12支持在線動態(tài)編程:由于傳感器網(wǎng)絡(luò)被部署在農(nóng)業(yè)設(shè)施環(huán)境中不易到達區(qū)域,而且某些應(yīng)用要求對大量的傳感器節(jié)點進行動態(tài)編程配置。在這種情況下,傳感器網(wǎng)絡(luò)操作系統(tǒng)必須通過可靠傳輸技術(shù)對大量的節(jié)點發(fā)布代碼,而且能夠?qū)Υ罅康淖贮c進行在線動態(tài)重新編程。2.操作系統(tǒng)設(shè)計13目前,典型的無線傳感器網(wǎng)絡(luò)操作系統(tǒng)包括TinyOS、Contiki、MANTIS、SOS、MagnetOS、PeerOS、NanoRK、SensorOS、SenOS、Nano-Qplus、LiteOS等操作系統(tǒng)。(1)TinyOS14TinyOS是美國加州大學(xué)伯克利分校(U.C.berkeley)針對元線傳感器網(wǎng)絡(luò)設(shè)計的開源操作系統(tǒng)。TinyOS主要使用了輕量級線程、主動消息通信:事件驅(qū)動模式、組件化編程等技術(shù)。TinyOS科研人員經(jīng)過仔細(xì)研究和設(shè)計,對C語言進行了一定的擴展,提出了支持組件化編程的nesC語言,把組件化/模塊化思想和基于事件驅(qū)動的執(zhí)行模型結(jié)合起來。(1)TinyOS15TinyOS和基于TinyOS的應(yīng)用采用nesC語言編寫,和以前相比,提高了應(yīng)用開發(fā)的方便性和應(yīng)用執(zhí)行的可靠性。TinyOS的程序采用模塊化設(shè)計,所以它的程序核心往往都很小,能夠突破傳感器存儲資源少的限制,能夠讓TinyOS有效地運行在無線傳感器網(wǎng)絡(luò)上。(1)TinyOS16TinyOS的體系結(jié)構(gòu)如圖4.21所示,主要由主程序、應(yīng)用程序、硬件表達層(執(zhí)行模塊、感知模塊、通信模塊)和硬件抽象層組成。主程序是一個簡單的先進先出任務(wù)調(diào)度器,應(yīng)用程序結(jié)合具體的應(yīng)用實例進行編寫,硬件表達層為應(yīng)用層提供與硬件無關(guān)的各種功能。硬件抽象層組件將硬件提供的各種功能以函數(shù)形式表達,供上層調(diào)用。層與層之間通過接口完成互訪。17(1)TinyOS(1)TinyOS18TinyOS是由許多功能獨立且相互聯(lián)系的軟件組件 (component)構(gòu)成的,一個組件一般會提供一些接口(interfaces)。接口可以看作這個軟件組件實現(xiàn)的一組函數(shù)聲明。接口既可以是命令和事件,也可以是單獨定義的一組命令事件。其他組件通過引用相同接口聲明,就可以使用這個組件的函數(shù),從而實現(xiàn)組件間的相互調(diào)用。(1)TinyOS19TinyOS的組件有四個相互關(guān)聯(lián)的部分:一組命令處理程序句柄,一組事件處理程序句柄,一個經(jīng)過封裝的私有數(shù)據(jù)幀,一組簡單的任務(wù)。為了易于實現(xiàn)模塊化,每個組件還聲明了自己使用的接口及其要用信號通知的事件,這些聲明將用于組件的相互連接。組件通常分為三類:硬件抽象組件、合成組件、高層次的軟件組件。(1)TinyOS20硬件抽象組件將物理硬件映射到TinyOS組件模型,合成組件模擬高級硬件的行為,高層次軟件完成控制、路由以及數(shù)據(jù)傳輸?shù)?。TinyOS的組件模型使硬件/軟件邊界能夠比較方便地遷移。另外,在TinyOS設(shè)計中采用的固定數(shù)據(jù)結(jié)構(gòu)大小、存儲空間的預(yù)分配等技術(shù)都有利于硬件化軟件組件。(1)TinyOS21為了支持TinyOS的模塊化特性,TinyOS工作組開發(fā)了一整套工具用于幫助開發(fā)者將組件連接起來。在TinyOS中,組件在編譯時被連接在一起,消除了不必要的運行期間的系統(tǒng)開銷。(1)TinyOS22為了便于組合,在每個組件文件的開始描述該組件的外部接口。從邏輯上講,可把每個組件的輸入輸出看成I/0引腳,就好像組件是飛種物理硬件。組件的向上和向下接口的這種完整性描述被編譯器用于自動生成組件的頭文件。(2)Contiki23Contiki是瑞典計算機科學(xué)研究所AdamDunkels等人開發(fā)的一個開源、可移植、支持多任務(wù)的無線傳感器網(wǎng)絡(luò)操作系統(tǒng)。Contiki操作系統(tǒng)支持實時應(yīng)用程序,體系結(jié)構(gòu)如圖4.22所示。u1P協(xié)議校是一種可以實現(xiàn)極小的TCP/IP協(xié)議枝,可以用于8位或者16位微處理器構(gòu)建傳感器節(jié)點。24(2)Contiki(2)Contiki25Loader是一段小程序,用于初始化硬件設(shè)備,建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。ProtoThreads是由Contiki操作系統(tǒng)團隊編寫的基于C語言的宏函數(shù)庫,通過該宏函數(shù)庫為C語言模擬了一種輕量級的無堆核線程環(huán)境,從而實現(xiàn)類似多線程的程序。(2)Contiki26Contiki同時支持IPv4和IPv6,其中包括uIPv6協(xié)議棧、IPv4協(xié)議棧(原uIP協(xié)議棧),支持TCP/UDP。Contiki還提供了諸如線程、定時器、隨機數(shù)發(fā)生器、時鐘、文件系統(tǒng)和一個命令行shell的操作系統(tǒng)功能。Contiki是針對小內(nèi)存微控制器設(shè)計的,一個典型的Contiki配置是2KB的RAM和40KB的ROM。(2)Contiki27Contiki的特點如下:低功率的無線通信:Contiki同時提供完整的IP網(wǎng)絡(luò)和低功率無線通信機制。對于無線傳感器網(wǎng)絡(luò)通信,Contiki使用低功率無線網(wǎng)絡(luò)。在傳感器網(wǎng)絡(luò)協(xié)議核實現(xiàn)了收集大范圍可靠數(shù)據(jù)并盡力為網(wǎng)絡(luò)提供多跳批量數(shù)據(jù)傳輸和數(shù)據(jù)傳播。(2)Contiki28網(wǎng)絡(luò)互動:使用相關(guān)命令,可以Web瀏覽傳感器節(jié)點采集到的數(shù)據(jù)。電源效率:為了延長一個傳感器網(wǎng)絡(luò)的壽命,關(guān)鍵是要控制和減少每個傳感器節(jié)點的功率消耗。Contiki提供以軟件為基礎(chǔ)的能量分析機制,記錄了每個傳感器節(jié)點能量消耗。Contiki的能量分析機制是用來作為傳感器網(wǎng)絡(luò)協(xié)議的實驗評價研究工具,并以此來估計一個傳感器網(wǎng)絡(luò)的生存時間。(2)Contiki29Contiki軟件開發(fā):Contiki的開發(fā)都使用C程序設(shè)計語言。為了Contiki軟件發(fā)展,Contiki即時提供單文件下載,其中包含Contiki軟件開發(fā)所有必要的工具和編譯器。(3)MANTIS30MANTIS是美國科羅拉多大學(xué)開發(fā)一個多線程、輕量級、能量高效的無線傳感器網(wǎng)絡(luò)操作系統(tǒng)。MANTIS操作系統(tǒng)可以很方便地實現(xiàn)跨平臺移植,比如在PDA或者PC上進行開發(fā)和測試,然后移植到傳感器節(jié)點上。(3)MANTIS31簡單易用是Mantis操作系統(tǒng)的主要特點,在設(shè)計和編程上它沿用常用的方法,主要采用了經(jīng)典分層的多線程體系結(jié)構(gòu)和標(biāo)準(zhǔn)C語言編寫的內(nèi)核和API,使用C語言作為編程語言。Mantis操作系統(tǒng)的設(shè)計支持遠(yuǎn)程管理傳感器節(jié)點,用戶可以通過主機遠(yuǎn)程對傳感器節(jié)點進行編程、程序調(diào)試,查看傳感器節(jié)點當(dāng)前的運行情況。(3)MANTIS32Mantis操作系統(tǒng)以很小的內(nèi)存需求實現(xiàn)了典型的分層操作系統(tǒng)結(jié)構(gòu),支持多線程、搶占式調(diào)度和同步信號量、設(shè)備驅(qū)動的典型服務(wù)。MANTIS操作系統(tǒng)支持搶占式任務(wù)調(diào)度器,采用節(jié)點循環(huán)休眠策略來提高能量利用率,目前支持的硬件平臺有Mica2、Mi2caZ以及Telos等,其對RAM的最小需求可到500B,對Flash的需求可小于14KB。(3)MANTIS33Mantis采用分層的體系結(jié)構(gòu),如圖4.23所示。應(yīng)用程序線程與底層操作系統(tǒng)API相互獨立,所以MANTIS操作系統(tǒng)通過提供不同平臺的API就可以實現(xiàn)對多個平臺的支持。Mantis操作系統(tǒng)由內(nèi)核/調(diào)度器(kernel/scheduler)、通信層、設(shè)備層、系統(tǒng)API、網(wǎng)絡(luò)協(xié)議枝、命令服務(wù)器組成。Mantis使用了一個類似于Unix風(fēng)格的調(diào)度器,它提供了基于優(yōu)先級的多線程調(diào)度和在同一優(yōu)先級中進行輪轉(zhuǎn)調(diào)度的服務(wù)。34(3)MANTIS(3)MANTIS35內(nèi)核的主要全局?jǐn)?shù)據(jù)結(jié)構(gòu)是線程表,每一個線程占一個條目。線程的狀態(tài)有五種:空閑狀態(tài)、運行狀態(tài)、就緒狀態(tài)、阻塞狀態(tài)、休眠狀態(tài)。操作系統(tǒng)為線程設(shè)置了五個優(yōu)先級:內(nèi)核級、休眠級、高優(yōu)先級、正常級、空閑級。操作系統(tǒng)的通信層為通信設(shè)備的驅(qū)動程序定義了統(tǒng)一接口,如串口、五級通信設(shè)備等,它實現(xiàn)了異步的I/O操作。(3)MANTIS36通信層也管理數(shù)據(jù)包緩沖和同步設(shè)備驅(qū)動程序(如讀取傳感器數(shù)據(jù)),高層的網(wǎng)絡(luò)協(xié)議或用戶線程可以使用通信層提供的統(tǒng)一接口函數(shù)與通信設(shè)備交互。設(shè)備層涵蓋了同步I/O設(shè)備的驅(qū)動程序(如傳感器、外部存儲器等)和異步通信設(shè)備的驅(qū)動程序(如無線電、串口等),每一個設(shè)備都為上層用戶提供了系統(tǒng)調(diào)用函數(shù)。(3)MANTIS37系統(tǒng)API層與核心層進行交互,向上層提供應(yīng)用程序接口。網(wǎng)絡(luò)協(xié)議枝作為一個或多個用戶級線程執(zhí)行,它支持網(wǎng)絡(luò)的第三層及三層以上,如路由層、傳輸層和應(yīng)用層。MAC協(xié)議由通信層提供。網(wǎng)絡(luò)協(xié)議校的各層都被設(shè)計成了最小化內(nèi)存緩沖區(qū),一個數(shù)據(jù)包的數(shù)據(jù)負(fù)載通常在一個線程內(nèi)經(jīng)歷網(wǎng)絡(luò)協(xié)議梭的所有層,從而避免了數(shù)據(jù)拷貝。(3)MANTIS38Mantis操作系統(tǒng)提供了標(biāo)準(zhǔn)的接口,用來控制外部設(shè)備的能量狀態(tài),它支持三種不同的能量設(shè)備狀態(tài):開啟、關(guān)閉和空閑。它的微處理器能量管理與線程調(diào)度是緊密結(jié)合的,并且它支持兩個級別的節(jié)能。當(dāng)調(diào)度器就緒隊列空閑了,調(diào)度器就會隱式地使微處理器進入空閑狀態(tài)。在這種狀態(tài)下微處理器比在活躍狀態(tài)下消耗更少的能量,但是它仍然支持所有的外設(shè)操作。(4)SOS39SOS是美國加州大學(xué)洛杉磯分校開發(fā)的一個事件驅(qū)動式的無線傳感器哥絡(luò)操作系統(tǒng)。SOS最大的特點就是提供了很好的動態(tài)增加和刪除模塊的功能,它在設(shè)計過程中采用的許多技術(shù)都是為這一目的服務(wù)的。(4)SOS40SOS在它的內(nèi)核和應(yīng)用程序模塊中都使用了動態(tài)存儲,并實現(xiàn)了優(yōu)先級調(diào)度。SOS操作系統(tǒng)使用標(biāo)準(zhǔn)的C語言作為編程語言,減少了學(xué)習(xí)新的編程語言的難度,并且也可、以充分利用C語言的許多編譯器、開發(fā)環(huán)境、調(diào)試器和其他設(shè)計工具。(4)SOS41SOS操作系統(tǒng)的體系結(jié)構(gòu)如圖4.24所示,由可以動態(tài)加載的模塊和靜態(tài)內(nèi)核組成。靜態(tài)內(nèi)核可以先被燒寫到節(jié)點上,節(jié)點運行過程中用戶還可以根據(jù)任務(wù)的需要動態(tài)地增加或刪除模塊。42(4)SOS(4)SOS43靜態(tài)內(nèi)核實現(xiàn)了最基本的服務(wù),包括底層硬件抽象、靈活的優(yōu)先級消息調(diào)度器、動態(tài)內(nèi)存分配等功能。模塊實現(xiàn)了系統(tǒng)大多數(shù)的功能,包括驅(qū)動程序、協(xié)議、應(yīng)用程序等。這些模塊都是獨立的,對模塊的修改不會中斷系統(tǒng)的操作。(4)SOS44在SOS操作系統(tǒng)中,每一個應(yīng)用程序都包含一個或多個模塊,模塊本身是一個獨立的代碼實體,實現(xiàn)一項具體的任務(wù)或功能。SOS中的大部分應(yīng)用開發(fā)都是基于模塊進行的,包括驅(qū)動程序開發(fā)、協(xié)議和應(yīng)用程序組件等。只有在需要改變底層的硬件資源管理功能時才會修改SOS內(nèi)核。(4)SOS45在模塊內(nèi)部,使用函數(shù)調(diào)用實現(xiàn)交互。模塊間通過傳遞消息實現(xiàn)交互。傳感器管理使多個模塊間共享傳感器數(shù)據(jù),它為多種不同的傳感器提供了一致的數(shù)據(jù)訪問API,隱藏了不同設(shè)備的實現(xiàn)細(xì)節(jié)。(4)SOS46SOS操作系統(tǒng)使用了非搶占的優(yōu)先級隊列調(diào)度。優(yōu)先級隊列分為兩種:高優(yōu)先級和低優(yōu)先級。高優(yōu)先級隊列用于實時性比較強的事件,包括硬件中斷和敏感定時器等。低優(yōu)先級隊列用于調(diào)度大多數(shù)普通的事件。優(yōu)先級隊列的使用使得對時間有重要要求的消息可以得到優(yōu)先調(diào)度,從而可以較好地改善系統(tǒng)的中斷響應(yīng)服務(wù)性能。(4)SOS47SOS操作系統(tǒng)使用了動態(tài)內(nèi)存。它采用了簡單的最佳適應(yīng)固定內(nèi)存分配策略,內(nèi)存塊的大小有三種。大多數(shù)的內(nèi)存分配只分配最小的塊,空閑的內(nèi)存按照塊的大小組成空閑鏈表。動態(tài)內(nèi)存塊帶有少量注釋的數(shù)據(jù),這些數(shù)據(jù)用于檢測內(nèi)存溢出。SOS操作系統(tǒng)通過使用運行時動態(tài)分配和回收內(nèi)存的方法提高了內(nèi)存的利用率。3.上位機系統(tǒng)設(shè)計與開發(fā)48選定傳感器網(wǎng)絡(luò)的硬件平臺和操作系統(tǒng)之后,通過設(shè)計相應(yīng)的網(wǎng)絡(luò)通信協(xié)議,將這些硬件設(shè)備組建為網(wǎng)絡(luò),在這個過程中需要對網(wǎng)絡(luò)進行分析,了解傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)變化、協(xié)議運行、功耗和數(shù)據(jù)處理等方面的情況。這些都需要獲取關(guān)于傳感器網(wǎng)絡(luò)運行狀態(tài)和網(wǎng)絡(luò)性能的宏觀和微觀信息,通過對這些信息進行處理,就能對網(wǎng)絡(luò)進行定性或定量分析。3.上位機系統(tǒng)設(shè)計與開發(fā)49設(shè)施農(nóng)業(yè)無線傳感器網(wǎng)絡(luò)本質(zhì)上是一種資源受限的分布式系統(tǒng),大量的傳感器節(jié)點相互協(xié)作分工,完成數(shù)據(jù)采集、處理和傳輸。從微觀角度看,無線傳感器網(wǎng)絡(luò)節(jié)點狀態(tài)的獲取難度遠(yuǎn)大于普通網(wǎng)絡(luò)節(jié)點;從宏觀角度看,無線傳感器網(wǎng)絡(luò)的運行效率和性能也比一般網(wǎng)絡(luò)難以度量和分析。因此,設(shè)施農(nóng)業(yè)無線傳感器網(wǎng)絡(luò)的分析與管理是應(yīng)用中的一個重點和難點,需要上位機系統(tǒng)的支持。3.上位機系統(tǒng)設(shè)計與開發(fā)50無線傳感器網(wǎng)絡(luò)采集農(nóng)業(yè)環(huán)境數(shù)據(jù)并通過傳輸網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)缴衔粰C系統(tǒng),上位機系統(tǒng)對這些數(shù)據(jù)進行分析、處理、存儲,以得到元線傳感器網(wǎng)絡(luò)的相關(guān)信息,對元線傳感器網(wǎng)絡(luò)的運行和環(huán)境狀態(tài)進行監(jiān)測。另外,上位機系統(tǒng)也可以發(fā)起任務(wù)并通過傳輸網(wǎng)絡(luò)告知無線傳感器網(wǎng)絡(luò),從而完成特定的任務(wù)。3.上位機系統(tǒng)設(shè)計與開發(fā)51上位機系統(tǒng)如圖4.25所示,通常由數(shù)據(jù)庫、數(shù)據(jù)處理引擎、圖形用戶界面和上位機組件四個部分組成。3.上位機系統(tǒng)設(shè)計與開發(fā)52數(shù)據(jù)庫用于存儲所有數(shù)據(jù),包括無線傳感器網(wǎng)絡(luò)的配置數(shù)據(jù)、節(jié)點屬性、傳感數(shù)據(jù)、上位機系統(tǒng)的一些數(shù)據(jù)等。數(shù)據(jù)處理引擎負(fù)責(zé)傳輸網(wǎng)絡(luò)和上位機系統(tǒng)之間的數(shù)據(jù)交換、數(shù)據(jù)分析、數(shù)據(jù)處理,將數(shù)據(jù)存儲到數(shù)據(jù)庫。另外數(shù)據(jù)處理引擎還負(fù)責(zé)從數(shù)據(jù)庫中讀取數(shù)據(jù),將數(shù)據(jù)按照某種方式傳遞給圖形用戶界面,以及接收圖形用戶界面產(chǎn)生的數(shù)據(jù)等。3.上位機系統(tǒng)設(shè)計與開發(fā)53上位機組件利用數(shù)據(jù)庫中的數(shù)據(jù)實現(xiàn)一些邏輯功能或者圖形顯示功能,它可能包括網(wǎng)絡(luò)拓?fù)滹@示組件、節(jié)點顯示組件、圖形繪制組件等。圖形用戶界面是用戶對無線傳感器網(wǎng)絡(luò)進行監(jiān)測的窗口,通過它用戶可以了解無線傳感器網(wǎng)絡(luò)的運行狀態(tài),也可以給無線傳感器網(wǎng)絡(luò)分配任務(wù)等。(1)上位機系統(tǒng)設(shè)計54上位機系統(tǒng)主要用來解釋網(wǎng)絡(luò)中產(chǎn)生的大量數(shù)據(jù)以及管理整個網(wǎng)絡(luò)。利用定制的上位機系統(tǒng)觀測網(wǎng)絡(luò)內(nèi)部的活動,輔助使用者監(jiān)測網(wǎng)絡(luò)行為。一般而言,上位機系統(tǒng)主要提供以下功能:①顯示網(wǎng)絡(luò)拓?fù)?5上位機系統(tǒng)的首要問題是網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)。如果要管理一個網(wǎng)絡(luò),那么首先必須知道這些傳感器節(jié)點在什么地方,知道所部署的方位,只有這樣才能更好地監(jiān)測網(wǎng)絡(luò)與定位錯誤。拓?fù)浣Y(jié)構(gòu)對于研究數(shù)據(jù)的流向、診斷錯誤、評估網(wǎng)絡(luò)性能都有著很大的作用。但是由于無線傳感器網(wǎng)絡(luò)的特性使網(wǎng)絡(luò)拓?fù)涞墨@取往往不那么容易。①顯示網(wǎng)絡(luò)拓?fù)?6首先是環(huán)境的影響和節(jié)點能量的受限,使得網(wǎng)絡(luò)拓?fù)涫冀K是動態(tài)變化的。另外一方面,節(jié)點的定位問題也不容易解決,使得顯示的拓?fù)浜茈y與實際網(wǎng)絡(luò)節(jié)點建立對應(yīng)關(guān)系。②顯示通信路徑57在顯示拓?fù)涞幕A(chǔ)上,可以通過顯示數(shù)據(jù)包的發(fā)送過程來可視化網(wǎng)絡(luò)內(nèi)部的活動。建立數(shù)據(jù)源到目的地的通信路徑圖有助于分析相關(guān)的網(wǎng)絡(luò)協(xié)議,了解節(jié)點發(fā)送數(shù)據(jù)消耗的能量。②顯示通信路徑58在網(wǎng)絡(luò)規(guī)模較小的情況下,可以非常方便地觀察網(wǎng)絡(luò)的活動情況,但是當(dāng)網(wǎng)絡(luò)規(guī)模較大時,每秒發(fā)送的大量數(shù)據(jù)包一方面不能及時被顯示出來,另一方面也不利于人眼觀測。這里更多的應(yīng)該是采用統(tǒng)計方法,顯示網(wǎng)絡(luò)的統(tǒng)計數(shù)據(jù)。③查看單個節(jié)點狀態(tài)59雖然無線傳感器網(wǎng)絡(luò)強調(diào)的是整體的監(jiān)測效果,并且通過節(jié)點的冗余滿足可靠性要求,但是在研發(fā)的過程中,有時候需要了解單個節(jié)點的一些情息,以便調(diào)試?;蛘咴诠芾砭W(wǎng)絡(luò)時,設(shè)置單個節(jié)點的一些諸如采樣率之類的工作參數(shù),以使網(wǎng)絡(luò)更好地工作。查看單個節(jié)點狀態(tài)可以直接由收集到的數(shù)據(jù)包進行統(tǒng)計分析即可,設(shè)置節(jié)點工作參數(shù)則需要網(wǎng)絡(luò)本身的支持。④實時傳感器數(shù)據(jù)觀測60無線傳感器網(wǎng)絡(luò)一般是為了監(jiān)測某個區(qū)域的某種環(huán)境參數(shù),如溫度、濕度、壓力、光強等。對傳感器數(shù)據(jù)的觀測是必不可少的。在設(shè)計上位機系統(tǒng)時,用戶應(yīng)該可以選擇地顯示感興趣的數(shù)據(jù),并且當(dāng)監(jiān)測到的傳感數(shù)據(jù)超過某一闊值時要給出報警信息。⑤歷史數(shù)據(jù)查詢61確定網(wǎng)絡(luò)以前的活動情況與監(jiān)測網(wǎng)絡(luò)當(dāng)前的活動同等重要。通過歷史數(shù)據(jù)不僅可以統(tǒng)計分析網(wǎng)絡(luò)以前的性能,也可以用于診斷問題所在,為提高網(wǎng)絡(luò)性能提供參考。⑥遠(yuǎn)程管理62遠(yuǎn)程管理可以方便各地的用戶同時了解同一個網(wǎng)絡(luò)的狀況,真正地讓人們可以足不出戶了解外面環(huán)境的變化。63上位機系統(tǒng)在設(shè)計的過程中還需要考慮到通用性,如當(dāng)傳感器數(shù)據(jù)包結(jié)構(gòu)變化之后有可能導(dǎo)致解析全部改變,在這種情況下將數(shù)據(jù)解析與上位機系統(tǒng)分離是個不錯的選擇;另外,還需要考慮可擴展性,方便根據(jù)需求增加新的功能模塊。(2)主流的上位機系統(tǒng)64目前,在無線傳感器網(wǎng)絡(luò)領(lǐng)域出現(xiàn)了一些相關(guān)的上位機系統(tǒng),如克爾斯博公司的Mote-View、加州大學(xué)伯克利分校的TinyViz(與TinyOS配套)、加州大學(xué)洛杉磯分校的EmStar、DaintreeNetworks公司研發(fā)的SensorNetworkAnalyzer(SNA)、德國呂貝克大學(xué)(universityofLubeck)的SpyGlass、中國科學(xué)院開發(fā)的SNAMP等都在無線傳感器網(wǎng)絡(luò)的分析和管理中得到了應(yīng)用。①Mote-View65Mote-View是Windows平臺下支持傳感器網(wǎng)絡(luò)系統(tǒng)的可視化監(jiān)控軟件。無線傳感器網(wǎng)絡(luò)中所有節(jié)點的數(shù)據(jù)通過匯聚節(jié)點儲存在PostreSQL數(shù)據(jù)庫中,Mote-View能夠?qū)⑦@些數(shù)據(jù)從數(shù)據(jù)庫中讀取并顯示出來,也能夠?qū)崟r地顯示匯聚節(jié)點接收到的數(shù)據(jù)。①Mote-View66通過Mote-View,網(wǎng)絡(luò)管理者能隨時掌握目標(biāo)監(jiān)測的情況。管理者可以通過數(shù)據(jù)、圖表或節(jié)點拓?fù)浣Y(jié)構(gòu)的直接形式,快速整理、搜尋或查閱每個節(jié)點的數(shù)據(jù)信息。Mote-View還可以根據(jù)管理者的設(shè)置采用于機短信或電子郵件的方式提供報警信息。①Mote-View67Mote-View可以提供實時數(shù)據(jù)和歷史數(shù)據(jù)顯示功能、可視化網(wǎng)絡(luò)拓?fù)鋱D功能、數(shù)據(jù)輸出功能、圖表打印功能、節(jié)點編程程序MoteConfig,支持對傳感器網(wǎng)絡(luò)的命令發(fā)送。Mote-View支持節(jié)點自動發(fā)現(xiàn)功能,它還具有顯示節(jié)點列表、數(shù)據(jù)、服務(wù)器消息,以及管理系統(tǒng)、數(shù)據(jù)庫等功能。①Mote-View68節(jié)點列表能夠顯示部署的所有節(jié)點和它們的狀態(tài),并且可以對節(jié)點進行操作,如添加節(jié)點、修改節(jié)點屬性、排序等;數(shù)據(jù)可以通過多種視圖方式顯示,包括數(shù)據(jù)視圖、命令視圖、圖形視圖和拓?fù)湟晥D;服務(wù)器消息顯示部分包括服務(wù)器消息、數(shù)據(jù)庫錯誤以及一般狀態(tài)消息的顯示。②SpyGlass69SpyGlass的目的在于通過將傳感器網(wǎng)絡(luò)、拓?fù)浣Y(jié)構(gòu)、傳感器節(jié)點狀態(tài)及傳感器數(shù)據(jù)形象化而簡化傳感器網(wǎng)絡(luò)的調(diào)試、評估及對軟件的理解。SpyGlass的可視化框架包括三個重要的功能實體:傳感器網(wǎng)絡(luò)、網(wǎng)關(guān)和可視化軟件。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚房衛(wèi)生工具管理規(guī)定(3篇)
- 《工程合同管理》課程教學(xué)大綱
- 船舶側(cè)向推進器課程設(shè)計
- 物聯(lián)網(wǎng)煙霧報警課程設(shè)計
- 生物數(shù)學(xué)的基礎(chǔ)課程設(shè)計
- 自動服務(wù)課程設(shè)計
- 2024幼兒園安全生產(chǎn)月活動工作總結(jié)范文(31篇)
- 藝術(shù)家作品課程設(shè)計
- 航空公司服務(wù)員工作總結(jié)
- 教育行業(yè)營銷策略分享
- 污水處理廠有毒有害氣體檢測記錄表
- 馬克思主義與社會科學(xué)方法論課后思考題答案全
- 針灸推拿習(xí)題庫+參考答案
- 手術(shù)區(qū)皮膚消毒及鋪單法課件
- 血液科侵襲性真菌的治療
- 淺析巖溶地區(qū)工程地質(zhì)勘察手段及應(yīng)用
- 2023-2024學(xué)年六年級上期末數(shù)學(xué)考試試卷附答案解析
- 羅伊模式個案護理
- 公益性崗位開發(fā)申請審批表
- 中國馬克思主義與當(dāng)代知到章節(jié)答案智慧樹2023年西安交通大學(xué)
- 組織協(xié)同運用平衡計分卡創(chuàng)造企業(yè)合力
評論
0/150
提交評論