摘 要構建無線傳感器網(wǎng)絡系統(tǒng)的各種協(xié)議和支撐技術,通過對數(shù)據(jù)采集網(wǎng)絡的應用場景進行分析,將Win CE與ZigBee技術相結合,設計一種典型的多層次網(wǎng)絡模型,實現(xiàn)CC2430片內(nèi)集成定位引擎應用,短距離多網(wǎng)絡節(jié)點間無線通信,以微處理器與WinCE操作系統(tǒng)為中心建立網(wǎng)關人機交互平臺,通過寬帶及公共電話網(wǎng)接入公共網(wǎng)絡,使用串口實現(xiàn)無線通信終端采集部分與網(wǎng)關平臺的數(shù)據(jù)傳輸,實現(xiàn)環(huán)境監(jiān)測、數(shù)據(jù)發(fā)送及信息綜合的集中管理。
【關鍵詞】無線傳感網(wǎng) Win CE ZigBee 人機交互
1 引言
無線傳器網(wǎng)應用分布式信息處理、傳感器、現(xiàn)代網(wǎng)絡、嵌入式計算及無線通信等技術,通過各類微型傳感器協(xié)同完成對監(jiān)測對象或各種環(huán)境的數(shù)據(jù)采集、位置感知和實時監(jiān)控,這些信息以自組織多跳的無線網(wǎng)絡方式傳送到用戶終端,從而實現(xiàn)人類社會、計算世界以及物理世界的三元世界信息融合。
2 無線傳感網(wǎng)總體設計
無線傳感網(wǎng)以多跳路由的方式過中間節(jié)點將數(shù)據(jù)傳送至匯聚節(jié)點,數(shù)據(jù)通過網(wǎng)絡層完成轉發(fā)。因此,提出層次型網(wǎng)絡結構,系統(tǒng)包含二部分:
無線傳感局域網(wǎng)節(jié)點;應用 ZigBee 技術,每個嵌入 ZigBee 模塊的傳感器作為一個ZigBee 節(jié)點,由 ZigBee 節(jié)點組成整個無線傳感局域網(wǎng)。
嵌入式網(wǎng)關;實現(xiàn)串口數(shù)據(jù)接收、數(shù)據(jù)報文解析處理、顯示和上位機操作界面的多線程程序,及對信息數(shù)據(jù)處理的功能;同時,還要實內(nèi)部網(wǎng)絡現(xiàn)和外部 Internet之間協(xié)議的轉換、地址轉換和路由等功能,通過一組人機交互的界面和相應的應用程序以達到方便用戶使用和管理的效果要支持UDP協(xié)議并能提供遠程控制服務,從而允許客戶遠程訪問它。
3 無線傳感器網(wǎng)絡節(jié)點設計
傳感網(wǎng)節(jié)點是系統(tǒng)重要組成部分,其作用等效于生物的觸角,由傳感器完成探測點環(huán)境的數(shù)據(jù)采集。
3.1 無線傳感網(wǎng)測距的原理
在無線傳感局域網(wǎng)中,網(wǎng)絡節(jié)點監(jiān)測消息的重要信息為事件發(fā)生的位置信息或獲取信息的節(jié)點位置。在互相可視的兩個節(jié)點間,利用自由空間傳播模型來預測接收訊號的強度值,當天線發(fā)射機與接收機天線之間有一定距離時,由弗里斯方程式?jīng)Q定它所接收的自由空間功率,常采用美國電氣和電子工程師協(xié)會提供的簡化估算公式:
RSSI = A-10nlg(d)
式中,RSSI單位為dbm; A是信號傳輸單位距離時的接收信號強度;傳播因子為n,無線信號傳播環(huán)境決定其取值;收發(fā)單元間的距離是d,單位m。
3.2 節(jié)點射頻芯片選型
節(jié)點射頻電路實現(xiàn)無線傳感局域網(wǎng)的接受、發(fā)送功能和數(shù)據(jù)處理,節(jié)點電路采用美國德州儀器公司推出射頻收發(fā)芯片CC2430,應用其內(nèi)置的RSSI指示器寄存器,應用其公式計算RF管腳相關的功率P,即可得出兩節(jié)點間的距離。
3.3 節(jié)點硬件設計
采用結構化方法設計標量數(shù)據(jù)網(wǎng)節(jié)點,將其分為微處理器模塊、傳感/控制模塊和射頻通信模塊等子電路模塊,分別設計制作印刷電路板,其系統(tǒng)結構分析如下。由512 KB 串行FLASH 存儲器AT45DB041、ISP接口、RS-232 接口、能量供應模塊、C8051f320單片機以及一個標準傳感/控制接口組成微處理器模塊。應用CC2430和印刷電路板引線組成天線射頻通信模塊,它通過微處理器與串行外設接口連接完成設置并實現(xiàn)數(shù)據(jù)收發(fā)任務。通用接口連接到微處理器模塊組成傳感/控制模塊,僅根據(jù)控制需求設計傳感/控制模塊和各種傳感器研制出具有不同功能的節(jié)點。按需求設計出如下傳感器節(jié)點模塊:溫濕度傳感器SHT11節(jié)點模塊、光強傳感器TSL2550D節(jié)點模塊、煙霧探測傳感器節(jié)點模塊、紅外光敏傳感器報警節(jié)點為模塊及緊急按鈕報警節(jié)點模塊等。
3.4 節(jié)點軟件應用層分析
節(jié)點軟件應用層框架由設備層、對象應用支持和制造商所定義的應用對象。節(jié)點軟件協(xié)議結構由大量的層狀元件,包含網(wǎng)絡層、PHY層及IEEE802.15.4 MAC層,每層提供它們相應的服務和能力。節(jié)點軟件應用層除了實現(xiàn)網(wǎng)絡層提供合適的服務接口及一些必要的函數(shù)外,還有就是讓應用者可在這層定義自己的應用對象。使用者的節(jié)點軟件應用程序實際上就是對ZigBee 協(xié)議棧交替的對外圍部件和處理器進行操作。為了能實現(xiàn)此目標,應用層在ZigBee 協(xié)議棧的基礎上實現(xiàn)了業(yè)務操作系統(tǒng)調用用戶程序所用的函數(shù)接口。
3.5 節(jié)點軟件設計
節(jié)點軟件實現(xiàn)主要是對系統(tǒng)的一系列初始化通過調用一些基本的接口函數(shù)完成,并實現(xiàn)相應的協(xié)議層服務。協(xié)議層既要實現(xiàn)802.15.4 的MAC和PHY層協(xié)議,又要提供ZigBee 網(wǎng)絡層協(xié)議,并為應用層提供服務。應用層則完成函數(shù)接口調用協(xié)議層所提供的服務,實現(xiàn)對整個網(wǎng)絡的管理。這里每個節(jié)點都安裝有TinyOS操作系統(tǒng),為用戶提供一個良好的接口。將燒寫好固件程序的節(jié)點插上傳感板,并在空間位置布置完成后,打開節(jié)點模塊的電源開關,從而將燒寫好程序的基站節(jié)點接入嵌入式網(wǎng)關。同時,設置工作模式,選擇對應的傳感板型號、數(shù)據(jù)庫參數(shù)、網(wǎng)關等。參數(shù)設置正確之后,應用基于最小功耗的原則開發(fā)無線傳感網(wǎng)的路由選擇算法,因為每個節(jié)點的組網(wǎng)鏈路都是根據(jù)功耗狀態(tài)不同動態(tài)變化的,所以各節(jié)點采集該點空間位置的模擬信息經(jīng)過處理后發(fā)送到基站供終端平臺查看。
4 嵌入式網(wǎng)關
嵌入式網(wǎng)關是整個系統(tǒng)的核心部分,在系統(tǒng)中發(fā)揮著至關重要的作用。硬件采用基于Intel PXA270處理器的EEliod Evluation開發(fā)板,并采用專業(yè)化的處理器復位芯片和內(nèi)核電源芯片來保證系統(tǒng)運行穩(wěn)定。
4.1 網(wǎng)關系統(tǒng)平臺設計
Win CE嵌入式軟件基于硬件電路和操作系統(tǒng)進行開發(fā),由于嵌入式系統(tǒng)裁剪靈活,對應的硬件也是根據(jù)使用者需求的不同進行選擇,在硬件設計完成之后確定硬件平臺對應的板級支持包,再通過Platform Builder軟件進行操作系統(tǒng)編譯,根據(jù)實際需求添加系統(tǒng)配置文件及相關組件,將編譯好的鏡像文件燒寫到PXA270處理器上,從而搭建完成嵌入式系統(tǒng)的硬件、軟件平臺,之后就根據(jù)系統(tǒng)功能的需求為平臺開發(fā)應用程序,系統(tǒng)開發(fā)的最后一步即是將設計好的應用軟件下載到嵌入式平臺上,完成軟件的發(fā)布,最終實現(xiàn)系統(tǒng)的整個設計。
4.2 網(wǎng)關軟件設計及實現(xiàn)
無線傳感網(wǎng)網(wǎng)關監(jiān)控軟件用于監(jiān)控、連接管理、存儲各測溫節(jié)點及其測得的選定區(qū)域內(nèi)環(huán)境參數(shù),并把環(huán)境參數(shù)存儲到數(shù)據(jù)庫,用列表的方式及趨勢曲線顯示出來,方便使用者進行管理、查詢、數(shù)據(jù)讀取及軟件控制。
4.2.1 人機界面設計
人機界面開發(fā)環(huán)境應用Visual Studio2010軟件,在軟件開發(fā)環(huán)境中使用單文檔的形式實現(xiàn)人機界面應用程序開發(fā),創(chuàng)建一個基于CForm View的單文檔應用程序,并添加幾個窗體和與之對應的新視類,通過在CMain Frame類中添加控制代碼和菜單控制完成兩個動態(tài)窗體的切換。
4.2.2 主界面設計
主界面是開機后第一個出現(xiàn)的界面,使用CEMBHID View類來實現(xiàn)主界面上的各個成員函數(shù)和數(shù)據(jù)成員,在動態(tài)創(chuàng)建主界面上的各種功能按鈕中使用CEMBHID View::OnCreate( )函數(shù)來完成。
4.2.3 參數(shù)設置模塊設計
應用基于CDialog類的CParameter類來實現(xiàn)參數(shù)界面中所用到的數(shù)據(jù)成員和消息響應函數(shù),使用者通過對參數(shù)設置項進行設置,等待窗口消息并調用響應的窗口過程函數(shù)來完成相應的處理。應用TAB控件來實現(xiàn)分頁設計,其中用到從CTabCtorl類繼承來的CTabSheet類來包括分頁操作所用到的成員函數(shù)和數(shù)據(jù)成員,并用于Tab Control的控件類,在類中有一個成員變量用來記錄各子對話框的指針CDialog * m_ pPages[ MAX.PAGE], MAXPAGE是該類所能加載標簽的最大值。在 CTab Sheet類的AddPage方法,用于記錄所使用對話框資源的ID號和子對話框的指針。在AddPage加進若干子對話框后, 其生成標簽和子對話框使用CTabSheet的Show方法來實現(xiàn)。頁面就用一個類來封裝成員函數(shù)和數(shù)據(jù)成員,應用程序退出時將使用者數(shù)據(jù)存儲天磁盤上,在程序重新啟動時重新讀取使用者數(shù)據(jù),這種保存和恢復的過程就是串行化。使用微軟基礎類庫中特殊CSerialize類支持對象的串行化,并利用CArchive 類對象作為執(zhí)行存儲介質和串行化對象兩者的媒介,執(zhí)行串行化的對象讀寫操作應用CArchive 類對象來進行。參數(shù)設置界面中使用的全局變量包括CDesignParams類和CGlobalV類,應用其中的重載成員函數(shù)CGlobalV: : Serialize、CDesig nParams:: Serialize進行實際的串行化操作。通過以上串行化技術就可以實現(xiàn)參數(shù)設置中用戶設置的參數(shù)保存,在程序退出時存儲這些參數(shù)設置,程序啟動后自動讀入。
5 結論
基于微軟Win CE 和德州儀器ZigBee技術提供的軟硬件開發(fā)環(huán)境,應用無線單片機CC2430設計出無線通信模塊的硬件電路,并選用TI德州儀器ZigBee2006協(xié)議棧和TinyOS操作系統(tǒng)作為軟件開發(fā)基礎。設計出一套完整和實用化的無線監(jiān)控方案,實現(xiàn)環(huán)境數(shù)據(jù)的遠程定位、信息監(jiān)測和實時采集。經(jīng)調試驗證,網(wǎng)關平臺通過串口能正確地接收和發(fā)送數(shù)據(jù),能實現(xiàn)多個無線節(jié)點的定位監(jiān)控和數(shù)據(jù)傳輸,并能在網(wǎng)關平臺的上位機正確顯示傳感器節(jié)點數(shù)據(jù)。
參考文獻
[1]黃根勇.基于嵌入式與ZigBee技術無線傳感網(wǎng)設計[D].內(nèi)蒙古大學,2011,05(15).
[2]瞿雷,劉盛德,胡成斌.ZigBee技術及應用[M].北京:北京航空航天大學版社,2008.
作者簡介
黃根勇(1982-),男,在讀博士,講師。主要研究方向為嵌入式系統(tǒng)。
作者單位
江西制造職業(yè)技術學院 江西省南昌市 330095