面向環(huán)境監(jiān)測的無線傳感器網(wǎng)絡節(jié)點的軟件設計
環(huán)境監(jiān)測是無線傳感器網(wǎng)絡的重要應用領域。為搜集某一區(qū)域內(nèi)的環(huán)境數(shù)據(jù),傳感器節(jié)點需要在無人值守情況下長時間地工作在惡劣環(huán)境條件下。傳感器節(jié)點的軟件設計為節(jié)點正常工作提供了重要保證。
1 無線傳感器網(wǎng)絡系統(tǒng)結構
整個傳感器網(wǎng)絡是由若干個采集節(jié)點、1個匯聚節(jié)點、1個數(shù)據(jù)中轉(zhuǎn)器以及1個便于用戶查看和控制的上位機組成。系統(tǒng)結構如圖1所示。采集節(jié)點用于對環(huán)境數(shù)據(jù)的采集、數(shù)據(jù)的預處理,承當數(shù)據(jù)的路由;匯聚節(jié)點負責整個網(wǎng)絡的開啟和維護,向采集節(jié)點發(fā)送命令,搜集節(jié)點的數(shù)據(jù)以及和數(shù)據(jù)中轉(zhuǎn)器之間的串口通信;數(shù)據(jù)中轉(zhuǎn)器承擔數(shù)據(jù)的中轉(zhuǎn)及轉(zhuǎn)發(fā)上位機的命令;上位機是數(shù)據(jù)搜集的終端設備,并且可以根據(jù)用戶的需要對節(jié)點的采集時間間隔、休眠時間間隔、傳感器的開關進行相應設置。

2 節(jié)點的硬件電路
為方便數(shù)據(jù)的搜集,匯聚節(jié)點和采集節(jié)點硬件電路設計相同,只是軟件設計有所不同。任意節(jié)點都可作為匯聚節(jié)點,與數(shù)據(jù)中轉(zhuǎn)器通過串口進行通信,來搜集網(wǎng)絡中其他節(jié)點的數(shù)據(jù)。節(jié)點的硬件結構如圖2所示。

本設計選用的核心芯片是TI公司推出的ZigBee芯片CC2430。它以8051微處理器為內(nèi)核,自身攜帶的射頻收發(fā)器用來實現(xiàn)無線傳感器網(wǎng)絡節(jié)點的通信,提供了4路I/O口來控制傳感器的打開和關閉。傳感器將相應的環(huán)境數(shù)據(jù)變成電壓、電流等信號送給信號調(diào)理電路,經(jīng)相關調(diào)理后送到CC2430的ADC接口進行A/D采樣,最后CC2430將得到的A/D值存人1個外接的64 Kb的存儲器中。當節(jié)點作為網(wǎng)絡中的匯聚節(jié)點時,CC2430的2路I/O口被設置成UART0串口Tx和Rx,用于和數(shù)據(jù)中轉(zhuǎn)器進行串口通信。對于能源供應部分,為保證節(jié)點長期穩(wěn)定工作,選用2300 mA的鎳氫充電電池,2組鎳氫電池采用雙電源供電模式。軟件通過控制2組鎳氫電池的切換實現(xiàn)對節(jié)點的輪流供電,并在電池電壓不足時控制太陽能電池板對其進行充電。
3 節(jié)點軟件設計
3.1 Z-Stack協(xié)議棧簡介
本次的軟件設計基于TI公司Z-Stack 2006協(xié)議棧。Z-Stack 2006是TI公司專門為CC2430芯片設計的ZigBee協(xié)議棧。它由1個簡單的單線程的操作系統(tǒng)管理。該操作系統(tǒng)基于任務調(diào)度機制,任務通過API函數(shù)osalTaskAdd()按照優(yōu)先級添加到任務鏈表。任務的事件觸發(fā)實現(xiàn)任務調(diào)度。每個任務最多可定義16個事件,每個事件都對應1個唯一的事件號。NextActiveTask()是任務事件查詢函數(shù),返回任務的事件狀態(tài)ActiveTask,根據(jù)返回的事件值來調(diào)用相應的任務處理函數(shù)ActiveTask()進行處理。操作系統(tǒng)任務調(diào)度如圖3所示。

評論