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