具有無線通信功能的環(huán)境溫度監(jiān)測(cè)系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:設(shè)計(jì)了一種基于ZigBee和GPRS的環(huán)境溫度遠(yuǎn)程無線監(jiān)測(cè)系統(tǒng)。該系統(tǒng)通過溫度傳感器采集數(shù)據(jù)后,在CC2430單片機(jī)內(nèi)部作以處理,并控制GPRS模塊進(jìn)行無線數(shù)據(jù)傳輸,闡述了用VB6.0實(shí)現(xiàn)數(shù)據(jù)分析處理的軟件設(shè)計(jì)。通過對(duì)采集的數(shù)據(jù)進(jìn)行曲線分析,數(shù)據(jù)采集精度控制在了5%以內(nèi),穩(wěn)定性好。
關(guān)鍵詞:環(huán)境溫度;GPRS;ZigBee;無線監(jiān)測(cè)系統(tǒng)
溫度在工農(nóng)業(yè)生產(chǎn)、科研以及辦公設(shè)備自動(dòng)化領(lǐng)域中,是一種十分重要的數(shù)據(jù)。溫度的測(cè)量和控制在儲(chǔ)糧倉庫、智能樓宇空調(diào)控制及其他的工農(nóng)業(yè)生產(chǎn)和科學(xué)研究中應(yīng)用廣泛。文中介紹了一種環(huán)境溫度監(jiān)測(cè)系統(tǒng)可以實(shí)時(shí)多點(diǎn)監(jiān)測(cè)庫房或其他對(duì)溫度要求十分嚴(yán)格的場所,并通過無線協(xié)調(diào)器控制GPRS進(jìn)行聯(lián)網(wǎng)實(shí)時(shí)顯示,進(jìn)行溫度監(jiān)測(cè)。報(bào)警還可通過GPRS以短信的方式發(fā)送到管理員的手機(jī)上,以便及時(shí)處理。
1 系統(tǒng)總體構(gòu)成
系統(tǒng)以CC2430單片機(jī)為核心,作為下位機(jī)實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳輸功能。無線傳感器監(jiān)測(cè)網(wǎng)絡(luò)由多個(gè)無線傳感器節(jié)點(diǎn)、無線網(wǎng)關(guān)和帶有GPRS嵌入式系統(tǒng)組成,實(shí)時(shí)測(cè)量溫度參數(shù),所有節(jié)點(diǎn)采集的現(xiàn)場數(shù)據(jù)通過ZigBee無線通信技術(shù)最終路由到網(wǎng)關(guān)節(jié)點(diǎn),由網(wǎng)關(guān)節(jié)點(diǎn)將全部數(shù)據(jù)傳輸給GPRS模塊,最終通過GPRS和Internet網(wǎng)絡(luò),將數(shù)據(jù)轉(zhuǎn)發(fā)至遠(yuǎn)程數(shù)據(jù)監(jiān)控中心。在VB6.0編程環(huán)境下實(shí)現(xiàn)了上位機(jī)對(duì)下位機(jī)的控制和數(shù)據(jù)的存儲(chǔ)、處理、分析。上位機(jī)和下位機(jī)之間采用無線通信方式進(jìn)行傳輸。該系統(tǒng)采用ZigBee的網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行數(shù)據(jù)采集,ZigRee網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。系統(tǒng)整體結(jié)構(gòu)組成如圖2所示。
2 硬件電路設(shè)計(jì)
2.1 傳感器節(jié)點(diǎn)硬件設(shè)計(jì)
根據(jù)無線傳感器網(wǎng)絡(luò)的應(yīng)用需求以及功能要求,無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn)主要包括傳感器單元、處理器單元、射頻單元等。傳感器DS18B20負(fù)責(zé)采集溫度參數(shù)。數(shù)據(jù)提供給CC2430進(jìn)行處理、分析并將數(shù)據(jù)發(fā)送給ZigBee協(xié)調(diào)器節(jié)點(diǎn)。
2.2 ZigBee協(xié)調(diào)器節(jié)點(diǎn)設(shè)計(jì)
ZigBee協(xié)調(diào)器節(jié)點(diǎn)與GPRS模塊SIM300進(jìn)行有線的串口通信,節(jié)點(diǎn)單片機(jī)CC2430將從傳感器節(jié)點(diǎn)處獲得的溫度數(shù)據(jù)經(jīng)行地址分類和處理,通過RS-232通信接口進(jìn)行傳輸,單片機(jī)可以發(fā)送AT指令對(duì)SIM300進(jìn)行控制,設(shè)置發(fā)送模式,發(fā)送短消息進(jìn)行數(shù)據(jù)傳輸??梢钥焖?、安全、可靠地實(shí)現(xiàn)系統(tǒng)方案中的數(shù)據(jù)和短消息服務(wù)。
3 軟件設(shè)計(jì)
文中應(yīng)用IAR Embedded Workbench開發(fā)環(huán)境,在TI提供的ZStack-1.4.2-1.1.0協(xié)議棧的基礎(chǔ)上,編寫了本系統(tǒng)的應(yīng)用程序代碼。 ZStack協(xié)議棧提供了一些應(yīng)用接口,如aplFormNetwork()、aplJoinNetwork()、aplSendMSG()等函數(shù),用戶可以通過調(diào)用這些函數(shù)來編寫自己的開發(fā)與應(yīng)用程序。單片機(jī)CC2430通過串行通信對(duì)SIM300模塊進(jìn)行寫AT指令來完成GPRS模塊的無線通訊功能。
3.1 傳感器節(jié)點(diǎn)數(shù)據(jù)采集
當(dāng)CC2430內(nèi)部的定時(shí)器定時(shí)溢出時(shí),從休眠狀態(tài)喚醒傳感器。程序啟動(dòng)后,首先對(duì)傳感器節(jié)點(diǎn)內(nèi)的各模塊進(jìn)行初始化工作。然后進(jìn)行各模塊的配置,配置完成后進(jìn)行傳感器數(shù)據(jù)采集,數(shù)據(jù)采集完后統(tǒng)一發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn)。在數(shù)據(jù)采集次數(shù)達(dá)到規(guī)定次數(shù)時(shí),傳感器節(jié)點(diǎn)進(jìn)入休眠狀態(tài),等待下一次數(shù)據(jù)采集。傳感器節(jié)點(diǎn)數(shù)據(jù)采集流程圖如圖3所示。
3.2 ZigBee網(wǎng)絡(luò)的建立和加入
3.2.1 網(wǎng)絡(luò)的建立
在ZigBee網(wǎng)絡(luò)中,網(wǎng)絡(luò)協(xié)調(diào)器具有建立一個(gè)網(wǎng)絡(luò)、維護(hù)鄰居設(shè)備表、對(duì)邏輯網(wǎng)絡(luò)地址進(jìn)行分配、允許設(shè)備MAC層/應(yīng)用層的連接或斷開網(wǎng)絡(luò)的功能。網(wǎng)絡(luò)協(xié)調(diào)器在進(jìn)行一些初始化之后,調(diào)用aplFormNetwork()來建立網(wǎng)絡(luò)。協(xié)調(diào)器通過掃描一個(gè)空信道來建立一個(gè)新的網(wǎng)絡(luò),然后選擇一個(gè)隨機(jī)的PANID并開始監(jiān)聽此信道。同時(shí)協(xié)調(diào)器還有一個(gè)目前連接設(shè)備的列表,以支持其他設(shè)備加入網(wǎng)絡(luò)。網(wǎng)絡(luò)建立程序如下:
3.2.2 網(wǎng)絡(luò)的加入
當(dāng)一個(gè)網(wǎng)絡(luò)建立成功后,便要考慮路由節(jié)點(diǎn)和RFD節(jié)點(diǎn)如何加入到網(wǎng)絡(luò)中去。路由節(jié)點(diǎn)和RFD節(jié)點(diǎn)通過調(diào)用alJoinNetwork()函數(shù)加入到協(xié)調(diào)器建立的網(wǎng)絡(luò)中。路由節(jié)點(diǎn)和RFD節(jié)點(diǎn)掃描信道找到協(xié)調(diào)器并申請(qǐng)加入網(wǎng)絡(luò),獲取協(xié)調(diào)器的地址。同時(shí)將自己的地址發(fā)送給協(xié)調(diào)器。網(wǎng)絡(luò)加入成功后,網(wǎng)絡(luò)節(jié)點(diǎn)則進(jìn)入休眠狀態(tài),直到有命令或數(shù)據(jù)發(fā)送時(shí)才被喚醒。網(wǎng)絡(luò)加入程序如下:
3.3 ZigBee數(shù)據(jù)收發(fā)
整個(gè)無線網(wǎng)絡(luò)中的網(wǎng)關(guān)節(jié)點(diǎn)承擔(dān)網(wǎng)絡(luò)管理和數(shù)據(jù)收發(fā)的功能。網(wǎng)絡(luò)管理主要負(fù)責(zé)組建無線網(wǎng)絡(luò)并分配網(wǎng)絡(luò)地址。數(shù)據(jù)收發(fā)功能主要是接收傳感器節(jié)點(diǎn)的數(shù)據(jù)并通過GPRS網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程數(shù)據(jù)中心。ZigBee收發(fā)數(shù)據(jù)流程如圖4所示。
3.4 上位機(jī)設(shè)計(jì)
基于VB6.0編程環(huán)境下,使用MSComm控件完成上位機(jī)控制軟件設(shè)計(jì),實(shí)現(xiàn)了與下位機(jī)通信和對(duì)下位機(jī)上傳數(shù)據(jù)的處理、存儲(chǔ)、顯示以及數(shù)據(jù)曲線分析。MSComm控件通過串行端口傳送和接收數(shù)據(jù),提供了基本的串行通信功能。TeeChart控件可以使各種數(shù)據(jù)以曲線方式進(jìn)行動(dòng)態(tài)和實(shí)時(shí)顯示。
4 結(jié)束語
基于ZigBee技術(shù)、以CC2430無線微處理器模塊與GPRS模塊為核心的環(huán)境溫度遠(yuǎn)程監(jiān)測(cè)系統(tǒng),開發(fā)周期短、處理能力強(qiáng)、擴(kuò)展性好,能快速可靠地進(jìn)行遠(yuǎn)程監(jiān)測(cè)和控制;開放式的通信協(xié)議,實(shí)現(xiàn)了與第三方設(shè)備接口的通信,具有較強(qiáng)的可擴(kuò)展性,是現(xiàn)代農(nóng)業(yè)監(jiān)測(cè)的發(fā)展方向。