小型無線傳感器網(wǎng)絡(luò)的實現(xiàn)與P2P互聯(lián)
3.3 軟件設(shè)計
進行JXTA開發(fā)需要搭建JXTA開發(fā)環(huán)境,該系統(tǒng)的開發(fā)選擇的是JXTA的J2SE平臺綁定,并在集成開發(fā)環(huán)境NetBeans中采用最新版本V2.5進行Java程序的開發(fā)。此外,由于JDK的類庫并不提供串口通信的API,要進行串口通信,需要額外安裝與配置相應(yīng)的JAR包和動態(tài)庫。
3.3.1 WSN網(wǎng)關(guān)設(shè)計
作為一個JXTA的應(yīng)用程序,WSN網(wǎng)關(guān)首先需要通過加入默認的網(wǎng)絡(luò)點組來實現(xiàn)JXTA平臺的初始化。然后需要創(chuàng)建一個新的點組WsnNet來提供傳感器參數(shù)監(jiān)測服務(wù),WSN網(wǎng)關(guān)創(chuàng)建該點組成功后,需要加入該點組,然后通過監(jiān)聽者類等待WSN控制單元的消息,如圖4(a)所示。
WSN網(wǎng)關(guān)通過管道實現(xiàn)與WSN控制單元之間的消息發(fā)送與接收,且采用基于事件的異步機制。該機制遵循Java標準事件設(shè)計模式,必須創(chuàng)建用于注冊以接收適當事件的監(jiān)聽者。處理管道事件的監(jiān)聽者接口是PipeMsgListener接口,在WSN網(wǎng)關(guān)的應(yīng)用程序中實現(xiàn)了該接口,即管道服務(wù)在創(chuàng)建輸入管道的時候增加this指針,以在已經(jīng)創(chuàng)建的輸入管道上監(jiān)聽事件。當對應(yīng)的事件發(fā)生時,該監(jiān)聽者類將被通知,并調(diào)用監(jiān)聽者類的pipeMsgEvent()方法,通過getMessage()方法從pipeMsgEvent()中獲取該消息,最后根據(jù)設(shè)定好的格式處理接收到的消息。本文引用地址:http://www.ex-cimer.com/article/162236.htm
3.3.2 WSN控制單元設(shè)計
WSN控制單元負責WSN網(wǎng)關(guān)和協(xié)調(diào)器之間的通信,它通過管道與WSN網(wǎng)關(guān)通信,通過RS 232接口與協(xié)調(diào)器通信。作為JXTA的一個節(jié)點,WSN控制單元啟動后,首先加入默認的點組初始化JXTA平臺,然后加入WSN網(wǎng)關(guān)創(chuàng)建的點組WsnNet以提供信息監(jiān)測服務(wù)。WSN控制單元實現(xiàn)了兩個事件,一個是PipeMsgListener,用于監(jiān)聽管道消息;另一個是SerialPortEventListener,用于監(jiān)聽串口的消息,如圖4(b)所示。
4 結(jié)語
今后無線傳感器網(wǎng)絡(luò)之間的交互和通信技術(shù)將是一項關(guān)鍵的技術(shù),WSN和P2P結(jié)合的系統(tǒng)可用來開發(fā)強大的應(yīng)用程序。本文首先完成了基于SimplictiTI網(wǎng)絡(luò)協(xié)議的低功耗小型無線傳感器網(wǎng)絡(luò)的設(shè)計與實現(xiàn),然后基于JXTA協(xié)議實現(xiàn)了多個傳感器網(wǎng)絡(luò)以P2P方式互聯(lián),從而實現(xiàn)數(shù)據(jù)的傳播、發(fā)布,擴大傳感器網(wǎng)絡(luò)的覆蓋范圍,更加有利于傳感器網(wǎng)絡(luò)數(shù)據(jù)的獲取。
p2p機相關(guān)文章:p2p原理
評論