《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 一種遠(yuǎn)程分布式溫室環(huán)境監(jiān)測系統(tǒng)設(shè)計

一種遠(yuǎn)程分布式溫室環(huán)境監(jiān)測系統(tǒng)設(shè)計

2015-10-26
作者:周 健,羅 杰
來源:2014年微型機(jī)與應(yīng)用第22期

  摘  要: 針對現(xiàn)代農(nóng)業(yè)生產(chǎn)中遠(yuǎn)程分布式溫室環(huán)境監(jiān)測的需求,設(shè)計了一種遠(yuǎn)程分布式溫室環(huán)境監(jiān)測系統(tǒng)。系統(tǒng)構(gòu)成包括基于CC2530的傳感網(wǎng)絡(luò)、數(shù)據(jù)采集節(jié)點、主控節(jié)點及上位監(jiān)控機(jī)。開發(fā)了監(jiān)測過程的通信協(xié)議;實現(xiàn)了對多點環(huán)境參數(shù)的遠(yuǎn)程無線實時采集、網(wǎng)絡(luò)節(jié)點狀況的監(jiān)測和可視化上位機(jī)監(jiān)控。運行結(jié)果表明,該系統(tǒng)工作穩(wěn)定可靠,功能完備,操作簡便,人機(jī)界面友好,較好地滿足了遠(yuǎn)程分布式溫室環(huán)境監(jiān)測的需求。

  關(guān)鍵詞: 環(huán)境參數(shù);無線監(jiān)測;ZigBee;CC2530;可視化

0 引言

  適宜的環(huán)境可以促進(jìn)動植物的生長,提高產(chǎn)量。為了得到更好的經(jīng)濟(jì)效益,溫室環(huán)境參數(shù)的監(jiān)測是十分重要的?,F(xiàn)代化農(nóng)業(yè)大規(guī)模生產(chǎn)對遠(yuǎn)程分布式溫室環(huán)境監(jiān)測提出了新的要求,傳統(tǒng)的網(wǎng)絡(luò)化監(jiān)測系統(tǒng)通常采用有線方式組成網(wǎng)絡(luò),資金投入大,維護(hù)困難,受環(huán)境限制,可移動性差[1]。無線傳感網(wǎng)絡(luò)具有拓展靈活、移動性強(qiáng)、成本低、自組織、動態(tài)拓?fù)鋄2-3]等優(yōu)點,使它在遠(yuǎn)程分布式測控應(yīng)用中具有明顯的優(yōu)勢。

  ZigBee作為一種新型的無線通信技術(shù),由于功耗低、成本低、擴(kuò)展方便、易于維護(hù)、移動性強(qiáng)[4-8],使它在無線傳感網(wǎng)絡(luò)中占有重要地位。本文采用新一代SoC芯片CC2530構(gòu)建無線傳感網(wǎng)絡(luò),設(shè)計了一種遠(yuǎn)程分布式溫室環(huán)境監(jiān)測系統(tǒng),開發(fā)了監(jiān)測過程的通信協(xié)議,實現(xiàn)了對多點環(huán)境參數(shù)的遠(yuǎn)程無線實時采集、網(wǎng)絡(luò)節(jié)點狀況的監(jiān)測和可視化上位機(jī)監(jiān)控,更好地滿足了遠(yuǎn)程溫室環(huán)境監(jiān)測的需要。

1 總體方案設(shè)計

  1.1 系統(tǒng)結(jié)構(gòu)

  本系統(tǒng)基于CC2530構(gòu)建傳感網(wǎng)絡(luò),設(shè)計了數(shù)據(jù)采集終端節(jié)點、主控節(jié)點及上位監(jiān)控機(jī),整個系統(tǒng)結(jié)構(gòu)如圖1所示。

001.jpg

  主控節(jié)點與上位監(jiān)控機(jī)通過串口進(jìn)行數(shù)據(jù)交換,實現(xiàn)了對各采集節(jié)點的控制與管理。數(shù)據(jù)采集終端節(jié)點主要配合主控節(jié)點完成對本地環(huán)境參數(shù)的采集。

  1.2 系統(tǒng)功能

  在溫室環(huán)境監(jiān)測中,用戶有時需要實時地監(jiān)測溫室環(huán)境參數(shù),所以需要實時地采集環(huán)境參數(shù)。在對環(huán)境要求不高的情況下,出于能耗的考慮,用戶可以停止對環(huán)境參數(shù)的實時采集,進(jìn)行手動單次采集。為確保網(wǎng)絡(luò)節(jié)點穩(wěn)定工作,需要監(jiān)測每個節(jié)點的工作電壓。在遇到網(wǎng)絡(luò)故障時,要能及時檢測出不能正常工作的節(jié)點。對于以上要求,本文的設(shè)計目標(biāo)如下:

 ?。?)主控節(jié)點能周期性地采集到各采集節(jié)點所處地區(qū)的環(huán)境參數(shù),并能把數(shù)據(jù)正確地傳給上位監(jiān)控機(jī);

  (2)在不需要周期性實時采集時,主控節(jié)點能通過手工單次采集命令進(jìn)行手工單次采集;

 ?。?)為了易于網(wǎng)絡(luò)故障的排查,主控節(jié)點必須承擔(dān)網(wǎng)絡(luò)檢測的任務(wù),時刻監(jiān)測網(wǎng)絡(luò)節(jié)點是否正常工作;

 ?。?)形象的上位監(jiān)控機(jī)顯示界面。

2 軟件系統(tǒng)設(shè)計

  2.1 主控節(jié)點軟件設(shè)計

 ?。?)周期性采集控制:上位監(jiān)控機(jī)通過串口給主控節(jié)點一個定時周期采集命令,主控節(jié)點接收到命令后先判斷周期命令是否正確,若正確,則主控節(jié)點通過osal_start_timerEx()系統(tǒng)函數(shù)給主控節(jié)點添加周期性定時事件。若不正確,則拋棄這次接收到的命令。

 ?。?)手動單次采集控制:上位監(jiān)控機(jī)通過串口給主控節(jié)點一個手動采集命令,主控節(jié)點檢查命令是否正確,若正確,則主控節(jié)點通過AF_DataRequest()系統(tǒng)函數(shù)向終端節(jié)點發(fā)送單次采集命令。主控節(jié)點等待接收各終端節(jié)點采集到的環(huán)境參數(shù)信息,并把環(huán)境參數(shù)信息寫進(jìn)串口。

 ?。?)網(wǎng)絡(luò)節(jié)點監(jiān)測:主控節(jié)點上電后會周期性地廣播測試消息,并等待接收終端節(jié)點回發(fā)的狀態(tài)信息。對接收到的狀態(tài)信息進(jìn)行相應(yīng)處理,并把處理后的網(wǎng)絡(luò)狀態(tài)信息寫進(jìn)串口。

  2.2 終端節(jié)點軟件設(shè)計

 ?。?)周期性環(huán)境參數(shù)采集:終端節(jié)點接收到主控節(jié)點的周期性采集命令后,采集本地的環(huán)境參數(shù)信息,并把采集到的環(huán)境參數(shù)信息回發(fā)給主控節(jié)點。在周期性采集事件中涉及對模擬傳感器和數(shù)字傳感器的采集。

 ?、倌M傳感器數(shù)據(jù)采集:環(huán)境的光照、濕度參數(shù)信息通過模擬傳感器采集。本文考慮到成本和精度,使用了CC2530自帶的AD轉(zhuǎn)換功能。CC2530有7 bit、9 bit、10 bit和11 bit分辨率可選。本文選用了9 bit分辨率。

 ?、跀?shù)字傳感器數(shù)據(jù)采集:環(huán)境的溫度參數(shù)通過數(shù)字單總線型溫度傳感器DS18B20采集。該傳感器完成了模擬到數(shù)據(jù)量的轉(zhuǎn)化,轉(zhuǎn)化的結(jié)果是12 bit的。轉(zhuǎn)換后的數(shù)字量結(jié)果保存在DS18B20內(nèi)部存儲器中。轉(zhuǎn)換的結(jié)果第一位是符號位,后11位為數(shù)據(jù)位。如果第一位符號位為1,表明實測溫度低于零度。

  (2)手動單次環(huán)境參數(shù)采集:終端節(jié)點接收到主控節(jié)點的手動單次采集消息后,采集一次環(huán)境參數(shù)信息,并把環(huán)境參數(shù)信息回發(fā)給主控節(jié)點。

 ?。?)網(wǎng)絡(luò)狀態(tài)監(jiān)測:終端節(jié)點接收到主控節(jié)點的檢測信息后,回發(fā)各自的狀態(tài)信息。該狀態(tài)信息包含各節(jié)點的工作狀態(tài)。

  周期性采集、手動單次采集、網(wǎng)絡(luò)狀態(tài)監(jiān)測的流程圖如圖2所示。

002.jpg

  2.3 上位監(jiān)控機(jī)設(shè)計

  上位監(jiān)控機(jī)的所有功能都是基于對串口數(shù)據(jù)的操作。針對串口數(shù)據(jù)操作,本文使用了CSerialPort.c和CSerialPort.h兩個文件。這兩個文件中定義了許多對串口處理的函數(shù),用戶只要把它們添加進(jìn)工程,并做相應(yīng)配置就能調(diào)用其中對串口處理的函數(shù),實現(xiàn)對串口的操作。

  (1)參數(shù)提取模塊:參數(shù)提取模塊主要由界面初始化模塊、打開和關(guān)閉串口模塊、接收單個字節(jié)模塊等組成。界面初始化模塊主要完成添加捕獲到的串口號、波特率、數(shù)據(jù)位、校驗、停止位等界面初始化信息。打開和關(guān)閉串口模塊主要完成關(guān)閉已經(jīng)打開的串口并根據(jù)捕獲到的串口號、波特率、數(shù)據(jù)位、校驗、停止位信息初始化串口。接收單個字節(jié)模塊主要完成接收下位機(jī)傳過來的數(shù)據(jù)。

 ?。?)實時環(huán)境參數(shù)曲線繪制模塊:實時環(huán)境參數(shù)曲線繪制模塊主要由繪制溫室溫度參數(shù)模塊、繪制溫室亮度參數(shù)模塊、繪制溫室濕度參數(shù)模塊、重繪界面模塊等組成。繪制溫室溫度參數(shù)曲線模塊首先繪制時間軸、溫度值軸、相應(yīng)位置的刻度值,然后根據(jù)參數(shù)提取模塊提取到的溫室溫度值,繪制出溫室溫度的實時曲線圖。亮度、濕度參數(shù)曲線的繪制與溫度參數(shù)曲線的繪制類似。重繪界面模塊,當(dāng)輸出一次信息時,需要重繪界面,以防止上次界面對本次輸出的影響。

 ?。?)溫室狀態(tài)監(jiān)測顯示模塊:溫室狀態(tài)監(jiān)測顯示模塊主要由繪制虛擬測量計模塊、顯示接收當(dāng)前環(huán)境參數(shù)的時間模塊等組成。繪制虛擬測量計模塊繪制出溫度計、濕度計、亮度計,把參數(shù)提取模塊提取到的環(huán)境參數(shù)在對應(yīng)的度量機(jī)上顯示出來。顯示接收當(dāng)前環(huán)境參數(shù)的時間模塊,在參數(shù)提取模塊提取到一個完整的數(shù)據(jù)包后,提取一次筆記本的系統(tǒng)時間,并把它顯示出來。

 ?。?)網(wǎng)絡(luò)節(jié)點狀態(tài)顯示模塊主要由判斷節(jié)點正常工作模塊、節(jié)點地址顯示模塊、節(jié)點工作電壓顯示模塊等組成。該模塊主要是分析主控節(jié)點送上來的網(wǎng)絡(luò)狀態(tài)信息,并能根據(jù)網(wǎng)絡(luò)狀況信息分析節(jié)點是否正常工作,畫出節(jié)點狀態(tài)圖。

  整個系統(tǒng)的工作流程圖如圖3所示。

003.jpg

3 實際運行效果

  當(dāng)上位監(jiān)控機(jī)給主控節(jié)點一個定時采集周期,監(jiān)控機(jī)上就能定時顯示出各節(jié)點所處環(huán)境的參數(shù)信息,運行結(jié)果如圖4所示。

004.jpg

  根據(jù)提取到的環(huán)境參數(shù)信息,畫出環(huán)境參數(shù)的實時曲線。點擊打開圖4中的第二個屬性對話框,顯示環(huán)境參數(shù)的實時曲線,效果如圖5所示。

005.jpg

  監(jiān)控機(jī)可以把提取到的環(huán)境參數(shù)信息轉(zhuǎn)換到相應(yīng)測量計上的輸出。點擊打開第三個屬性頁,形象地顯示各節(jié)點環(huán)境參數(shù)信息,效果圖如圖6所示。

006.jpg

  監(jiān)控機(jī)可以顯示網(wǎng)絡(luò)狀態(tài)信息,運行效果圖如圖7所示。

007.jpg

  人為地關(guān)閉第4個節(jié)點,網(wǎng)絡(luò)狀態(tài)圖上的第4個節(jié)點顏色變灰。由此看出主控節(jié)點可以檢測網(wǎng)絡(luò)故障。

4 結(jié)論

  將ZigBee無線通信技術(shù)應(yīng)用于遠(yuǎn)程分布式溫室環(huán)境監(jiān)測,有利于提高環(huán)境參數(shù)監(jiān)測的效率,降低現(xiàn)有監(jiān)測系統(tǒng)的成本。大量實驗測試表明,該系統(tǒng)具有數(shù)據(jù)傳輸快、誤碼率低、穩(wěn)定可靠等特點,稍加改動就可以應(yīng)用于其他監(jiān)測系統(tǒng),具有一定的市場價值。

  參考文獻(xiàn)

  [1] 楊順,劉士敏.基于ZigBee-WSN的啤酒發(fā)酵過程監(jiān)測系統(tǒng)[J].計算機(jī)工程與設(shè)計,2013,34(12):4410-4414.

  [2] 馬祖長,孫怡寧,梅濤.無線傳感網(wǎng)絡(luò)綜述[J].通信學(xué)報,2004,25(4):114-124.

  [3] 汪明偉,汪烈軍,謝衛(wèi)民.無線傳感器網(wǎng)絡(luò)訪問控制的研究進(jìn)展[J].計算機(jī)應(yīng)用研究,2013,30(10):2896-2902.

  [4] HAN D M, LIM J H. Smart home energy management system using IEEE 802.15.4 and ZigBee[J]. IEEE Transactions on Consumer Electronics,2010, 56(3):1403-1410.

  [5] 吳京晶,吳伯農(nóng).基于ZigBee的冷彎型鋼在線監(jiān)測系統(tǒng)[J].自動化儀表,2013,34(12):28-35.

  [6] 李彬,李業(yè)德,程海濤.低功耗無線測溫系統(tǒng)設(shè)計[J].山東理工大學(xué)學(xué)報,2008,23(2):141-142.

  [7] 李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技術(shù)入門與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007.

  [8] 李文仲,段朝玉.ZigBee2006無線網(wǎng)絡(luò)與無線定位實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2008.


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。