引言
在現代工農業生產中,進行環境的溫濕度檢測是必不可少的內容。目前,很多場合的測溫濕系統采用的還是傳統的有線測溫濕度設備,傳統的多點分布式溫濕度測量系統采用有線傳輸方式,需要在現場進行大量布線,這給系統的布設、維護和更新升級帶來諸多不便。
ZigBee是一種新興的短距離、低復雜度、低功耗、低數據速率、低成本的無線網絡技術,主要用于近距離無線連接。它依據IEEE 802.1 5.4標準,在數千個微小的傳感器之間相互協調實現通信。它使用2.4GHz波段,采用調頻及擴頻技術,具有短時延、網絡容量大等特點。Z igBee無線網絡主要是為工農業現場自動化控制數據傳輸而建立。本文設計了一種基于無線射頻技術的溫濕度監測系統,它以射頻芯片CC2430為核心,在數字溫濕度傳感器SHT11的配合下,在ZigBee協議棧的基礎上進行應用開發,能夠高效地完成環境溫濕度的無線監測,可以有效解決復雜布線帶來的不便。
1系統原理
本文設計的是基于Z-Staek的無線溫濕度數據采集系統,在TI的Z-Stack 1.4.2協議棧的基礎上,實現無線組網及通信。即協調器自動組網,終端節點(附帶溫濕度傳感器)自動入網,并采集溫濕度數據廣播傳輸,協調器接收到信息后將溫濕度數據通過串口發送給PC計算機顯示。以此實現基于Z-Stack協議棧的溫濕度數據的無線透明傳輸,其原理框圖如圖1所示。
本系統主要由五個單元模塊構成:數字溫濕度傳感器、傳感器節點、協調器、上位機和能量供應模塊組成。數字溫濕度傳感器模塊,負責區域內的溫濕度信息采集和數據轉換;傳感器節點中的微控制器負責控制整個傳感器節點的操作和數據存儲;ZigBee無線收發模塊負責對信號進行處理發送;傳感器節點由溫濕度傳感器SHT11檢測得到溫濕度信息,并轉化為數字信號,傳輸至CC2430,由CC2430負責對信號進行處理發送。節點電源部分使用兩節AA電池,通過一個電壓轉換芯片BL8555將電壓轉化成3.3 V.其中協調器是匯聚節點,多個溫濕度傳感器節點放置于不同的監測區域,每個傳感器都會把采集的溫濕度送給傳感器節點,再由傳感器節點把數據通過ZigBee無線傳輸給協調器,然后協調器統一把數據傳送給上位機做進一步處理和顯示。
2硬件設計
2.1傳感器節點硬件設計
傳感器節點主要由數字溫濕度傳感器、微控制器及無線通信電路組成。傳感器節點的主控制器實時采集處理溫濕度數據后,將數據傳遞給CC2430無線通信模塊,以實現數據的定時發送。
2.2通信節點硬件設計
協調器負責建立無線網絡、發送網絡信標、存儲網絡節點信息、對消息進行路由選擇等任務,其硬件組成主要包括處理器、時鐘電路、存儲器、電平轉換電路、天線等部分。在本系統中協調器節點采用CC2430為核心的控制器,它只需少量的外圍電路即可實現無線通信功能,硬件電路如圖2所示。
3軟件設計
本系統基于TI的Z-Stack協議棧,Z-Stack采用操作系統的思想來構建,采用事件輪詢機制,當各層初始化之后,系統進入低功耗模式,當事件發生時,喚醒系統,開始進入中斷處理事件,結束后繼續進入低功耗模式,如果同時有幾個事件發生,判斷優先級,逐次處理事件。整個Z-Stack的主要工作流程,大致分為系統啟動,驅動初始化,OSAL初始化和啟動,進入任務輪循幾個階段,Z-Stack系統運行流程如圖3所示。
3.1節點軟件設計
在本采集系統中,各節點的系統底層采用TI公司的Z-Stack協議棧,各節點的network_specific參數配置相同。協調器首先在某個頻段發起一個網絡,網絡頻段的定義放在DEFAULT_CHANLIST配置文件里,并根據ZDAPP_CONFIG_PANID的定義建立PAN ID,并掃描DEFAULT_CHANLI ST指定的所有信道,并選擇最佳信道組建網絡。傳感器節點啟動后,掃描DEFAULT_CHANLIST所指定的信道并根據ZDAPP_CONFIG_PANID所定義的PANID自動加入網路。各節點的軟件流程如圖4,圖5所示。
3.2溫濕度傳感器采集流程圖
與CC2430相連DATA、SCK兩引腳,通過SCK引腳線可以實現對SHT11的控制,通過DATA引腳線可以傳輸傳感器采集的數據,本系統中溫濕度傳感器的時鐘線與傳感器節點CC2430的P0_0線連接,數據線與P0_1線相連,采集中設置SHT11的工作精度為14位溫度,12位的濕度測量,總流程圖如圖6所示,讀取溫濕度流程圖如圖7所示。
3.3基于Z-Stack協議棧的溫濕度數據無線透明傳輸的實現
在Z-Stack協議棧中,協調器自啟動,節點設備自動入網之后,兩者建立無線通信,數據的發送主要有兩種方式,一種為周期定時發送信息,另一種需要通過按鍵事件觸發發送FLASH信息,在本設計中采用周期定時廣播的方式發送ZigBee節點端采集到的溫濕度數據。在Z-Stack中,每個應用任務都通過調用應用層的ProcessEvent()函數來處理任務事件,在ProcessEvent()中有一個事件處理循環,循環檢測事件的發生。因此在節點模塊端的SampleApp_SendPeriodicMessage周期信息發送函數中添加溫濕度采集函數,并通過AF_DataRequest()函數接口實現溫濕度數據的無線發送,同樣在協調器信息處理函數SampleAPP_MessageCB中,添加溫濕度數據處理和發送函數,并在協調器的應用層通過檢測AF_INCOMING_MSG_CMD消息事件來判斷是否有數據收到,有數據時,將捕獲的溫濕度數據處理后,以字符串的形式通過串口顯示在PC機的終端中。利用超級終端接收到的溫濕度數據如圖8所示。
4結論
本系統在啟動協調器模塊后,能實現自動組網,節點端自動入網,并能將采集的溫濕度數據廣播發送給協調器,協調器接收到信息后通過串口將接收到的溫濕度數據發送給PC機,本系統具有低復雜度、低功耗、短時延、網絡容量大等特點,并解決了傳統的有線傳輸方式,需要在現場進行大量布線,系統的布設、維護和更新升級的困擾,系統運行穩定、可靠,能精確實現溫濕度數據的采集、傳輸,在實際中有很好的應用價值。
-
無線
+關注
關注
31文章
5437瀏覽量
173104 -
ZigBee
+關注
關注
158文章
2269瀏覽量
242554 -
溫濕度傳感器
+關注
關注
5文章
575瀏覽量
35670
發布評論請先 登錄
相關推薦
評論