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