丁莉,王中生
(1.西安醫(yī)學(xué)院 衛(wèi)生管理系,陜西 西安 710021;2.西安工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院,陜西 西安 710021)
基于ZigBee的溫室監(jiān)測系統(tǒng)研究與實現(xiàn)
丁莉1,王中生2
(1.西安醫(yī)學(xué)院 衛(wèi)生管理系,陜西 西安 710021;2.西安工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院,陜西 西安 710021)
基于實時監(jiān)測溫室環(huán)境情況的目的,通過傳感器采集溫室中的溫度和濕度,結(jié)合ZigBee技術(shù)與串口通信技術(shù)將所采集的信息傳輸?shù)奖O(jiān)測中心的計算機,設(shè)計上位機監(jiān)測軟件,將數(shù)據(jù)以動態(tài)曲線的形式直觀地顯示在屏幕上。本系統(tǒng)使用VS2008開發(fā)監(jiān)測軟件系統(tǒng),通過ZigBee無線通信模塊組件網(wǎng)絡(luò)并將采集的信息傳輸給上位機,上位機軟件系統(tǒng)對接收到的數(shù)據(jù)進行分析、處理等操作,并將數(shù)據(jù)存儲在數(shù)據(jù)庫中,實現(xiàn)了環(huán)境信息的采集,完成了溫室環(huán)境的實時監(jiān)測。
ZigBee;傳感器;串口通信;實時顯示
當(dāng)代農(nóng)業(yè)智能化發(fā)展迅速,越來越多的種植者將先進的工業(yè)技術(shù)運用于植物種植當(dāng)中。ZigBee是一種短距離、低速率的無線數(shù)據(jù)傳輸技術(shù)[1]。具有自組織、低功耗、工作頻段靈活、網(wǎng)絡(luò)結(jié)構(gòu)靈活、對微控制單元要求較低、數(shù)據(jù)傳輸安全可靠等特點,可支持大量節(jié)點加入等,適用于環(huán)境監(jiān)測、工業(yè)監(jiān)測、智能公交等多個領(lǐng)域。溫室環(huán)境的監(jiān)測,有利于減少人員勞動力,可以更加直觀及時地了解被檢測區(qū)域的環(huán)境信息,確保植物在合適的環(huán)境進行生存,增加產(chǎn)量。傳統(tǒng)的信號傳播方式大多采用有限傳輸,但溫室環(huán)境溫度高、濕度大,對有線信號的影響較大;當(dāng)用戶想增加監(jiān)測點時,需要對整個監(jiān)測系統(tǒng)的線路進行改動,成本大、工序復(fù)雜。本系統(tǒng)采用無線傳輸方式,降低了環(huán)境對數(shù)據(jù)傳輸?shù)母蓴_,提高了系統(tǒng)的可靠性,增減監(jiān)測點也變得較為簡單。
溫室環(huán)境監(jiān)測系統(tǒng)由上位機和下位機兩個部分組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。下位機系統(tǒng)包括終端節(jié)點和協(xié)調(diào)器,該系統(tǒng)設(shè)計有3個終端節(jié)點和1個協(xié)調(diào)器節(jié)點。終端節(jié)點采集監(jiān)測區(qū)域的環(huán)境信息(溫度、濕度),通過ZigBee無線網(wǎng)絡(luò)傳輸給協(xié)調(diào)器節(jié)點,使用串口通信技術(shù)將信息傳送到計算機中[2]。設(shè)計上位機軟件系統(tǒng)將接收到的數(shù)據(jù)進行分析處理,將溫濕度信以曲線的形式進行實時顯示,并對數(shù)據(jù)進行存儲,實現(xiàn)數(shù)據(jù)查詢、刪除等功能。當(dāng)溫室環(huán)境出現(xiàn)異常時,系統(tǒng)則會發(fā)出報警提示,以提醒用戶盡快進行調(diào)整,避免損失。

圖1 溫室環(huán)境監(jiān)測系統(tǒng)結(jié)構(gòu)圖
下位機終端節(jié)點為信息采集節(jié)點,采用模塊化結(jié)構(gòu),包括溫度傳感器、濕度傳感器、51單片機和CC2530,如圖2所示。溫濕度傳感器將采集到的數(shù)據(jù)通過I2C總線傳輸給51單片機,單片機對該數(shù)據(jù)進行處理,隨后通過RS232總線傳輸給CC2530,經(jīng)過分析處理后通過無線網(wǎng)絡(luò)傳輸?shù)絽f(xié)調(diào)器節(jié)點。協(xié)調(diào)器采用CC2530無線微控制器組建ZigBee網(wǎng)絡(luò),ZigBee是一種自組織的無線網(wǎng)絡(luò),每個終端節(jié)點自動的加入無線網(wǎng)絡(luò),進行信息的傳輸[3]。網(wǎng)絡(luò)中的每個節(jié)點都可以互相通信,所以如果某終端節(jié)點無法直接將數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器,也可以通過其他節(jié)點進行數(shù)據(jù)中繼,進而傳輸?shù)絽f(xié)調(diào)器中。

圖2 終端節(jié)點結(jié)構(gòu)圖
軟件采用VB.net語言編寫,在 Microsoft Visual Studio 2008開發(fā)平臺進行編譯和調(diào)試,使用Access數(shù)據(jù)庫管理接收到的數(shù)據(jù)。
3.1 串口通信
VS2008中微軟將串口操作封裝了到 System.IO.Ports.SerialPort里面,可以直接使用SerialPort控件實現(xiàn)串口通信[4]。首先添加串口通信控件,并為其設(shè)置相應(yīng)的控制變量,利用控件類的方法對串口進行端口號,波特率等初始化操作,隨后打開串口,當(dāng)串口有信號進來的時候,觸發(fā)SerialPort.DataReceived事件,對串口傳輸上來的數(shù)據(jù)進行接收。
3.2 數(shù)據(jù)處理
數(shù)據(jù)按照規(guī)定的幀格式從下位機傳輸?shù)缴衔粰C,系統(tǒng)對數(shù)據(jù)進行分析和轉(zhuǎn)換等操作[5]。首先使用 SerialPort.BytesToRead()屬性獲取數(shù)據(jù)的字節(jié)數(shù),該系統(tǒng)中下位機設(shè)計有3個終端節(jié)點,所以一組數(shù)據(jù)的字節(jié)數(shù)為21,數(shù)據(jù)格式如圖3所示。1個節(jié)點的數(shù)據(jù)包括字頭、溫度數(shù)據(jù)、濕度數(shù)據(jù)和節(jié)點號,都是以16進制的形式表示的。定義一個數(shù)組變量byteToRead接收串口傳輸?shù)臄?shù)據(jù),定義變量bytesRead(十六位有符號整數(shù)變量),用來存放接收到的數(shù)據(jù)。根據(jù)數(shù)據(jù)字頭判斷數(shù)據(jù)是否為有效數(shù)據(jù),有效則進行數(shù)據(jù)接收,依次取出溫度數(shù)據(jù)。濕度數(shù)據(jù)和節(jié)點號,再將16進制數(shù)據(jù)轉(zhuǎn)換成10進制數(shù)據(jù)后,賦值給相應(yīng)的的變量,保存到數(shù)據(jù)庫中。

圖3 一組數(shù)據(jù)格式
數(shù)據(jù)接收轉(zhuǎn)換的實現(xiàn)代碼如下:

3.3 數(shù)據(jù)顯示模塊
數(shù)據(jù)顯示模塊是整個監(jiān)測系統(tǒng)中最重要的模塊,需要將接收到的下位機數(shù)據(jù)以波動的曲線形式展示給用戶。該系統(tǒng)由下位機接收到溫度數(shù)據(jù)和濕度數(shù)據(jù),所以需要設(shè)計兩個坐標(biāo)軸分別表示溫度和濕度,坐標(biāo)軸縱坐標(biāo)表示溫濕度數(shù)值,橫坐標(biāo)表示時間,數(shù)據(jù)顯現(xiàn)界面如圖4所示。

圖4 數(shù)據(jù)顯示界面
曲線采用畫圖的方法進行繪制,根據(jù)縱坐標(biāo)數(shù)據(jù)值和橫坐標(biāo)接收時間確定該點在坐標(biāo)軸中的位置,采用兩點確定一條直線的方法,將連續(xù)兩個坐標(biāo)點相連,依次類推,則可以得出連續(xù)的曲線。采用Graphics.FromImage方法在Bitmap類封裝 的GDI+位圖中進行繪畫,使用PictureBox控件來顯示所繪制的直線[6]。系統(tǒng)的監(jiān)測界面需要實時顯示數(shù)據(jù),所以曲線需要不停的動態(tài)波動。當(dāng)坐標(biāo)軸被畫滿時,接收新數(shù)據(jù)時需要舍棄第1個數(shù)據(jù),將第2至新數(shù)據(jù)重新畫在坐標(biāo)軸中,如此類推,每接收一個數(shù)據(jù),淘汰最前端的數(shù)據(jù),再進行重新畫圖,刷新,即可形成動態(tài)波動的曲線,實現(xiàn)了環(huán)境信息的動態(tài)顯示。刷新坐標(biāo)軸會出現(xiàn)閃爍現(xiàn)象,為了避免類似情況的發(fā)生,曲線的顯示控件由兩個大小相等的PictureBox重合而成,畫曲線時將一個畫出的曲線圖復(fù)制到另一個控件上去,解決了顯示區(qū)域的閃爍問題。
3.4 報警提示
報警提示分為兩部分,第一是聲音提示,即有異常數(shù)據(jù)出現(xiàn)時,系統(tǒng)發(fā)出警示音;第二是監(jiān)測界面鈴鐺閃動提示,出現(xiàn)異常信息的信息曲線所對應(yīng)的鈴鐺開始閃動,提示用戶發(fā)生報警的是某區(qū)域的某環(huán)境信息出現(xiàn)了異常,使用戶可以準(zhǔn)確的判斷進行及時的調(diào)整。
聲音報警調(diào)用系統(tǒng)內(nèi)部的提示音,當(dāng)判斷出數(shù)據(jù)需要報警時,則運行該線程,系統(tǒng)會發(fā)出持續(xù)的報警聲音。鈴鐺提示使用ImageList控件預(yù)載入兩個不同顏色的鈴鐺圖像,添加PictureBox控件加入鈴鐺圖像,建立線程,需要報警時則調(diào)用線程,進行兩個圖片的交替出現(xiàn),實現(xiàn)了鈴鐺的閃動。
本文采用ZigBee無線傳感器網(wǎng)絡(luò)構(gòu)建了一套環(huán)境監(jiān)測系統(tǒng),通過ZigBee網(wǎng)絡(luò)的自組織特性組建了下位機網(wǎng)絡(luò)系統(tǒng),采用VB.Net語言在VS2008平臺上設(shè)計實現(xiàn)了上位機軟件系統(tǒng)。經(jīng)過實驗測試,系統(tǒng)可以較好地完成信息的采集、傳輸和顯示。溫室環(huán)境的監(jiān)測有助于我國農(nóng)業(yè)的發(fā)展,具有很高的應(yīng)用價值。
[1]瞿雷,胡咸斌.ZigBee技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.
[2]呂治安.ZigBee網(wǎng)絡(luò)原理與應(yīng)用開發(fā)[M].北京:北京航天航空大學(xué)出版社,2008.
[3]徐世武,王平,黃晞,等.基于ZigBee節(jié)點的自組織網(wǎng)絡(luò)設(shè)計[J].電子測量技術(shù),2010(10):111-114.
[4]王文全.基于SerialPort的串口通信系統(tǒng)實現(xiàn)[J].科技廣場,2011(5):21-23.
[5]王中生,曹梅.基于ZigBee的串口監(jiān)控軟件設(shè)計與實現(xiàn)[J]電子設(shè)計工程,2011(14):13-16.
[6]陳蘇.利用GDI+技術(shù)在 VB.NET中實現(xiàn)快速繪圖 [J].科技信息,2008(16):197-198.
The research and implementation of greenhouse monitoring system based on ZigBee
DING Li1,WANG Zhong-sheng2
(1.Health Services Administration,Xi’an Medical University,Xi’an 710021,China;2.School of Computer Science and Engineering,Xi’an Technology University,Xi’an 710021,China)
Based on the purpose of real-time monitoring of the greenhouse environment situation,using sensors to collect temperature and humidity of greenhouse,Through the ZigBee and serial communication technology to transmit data to monitoring center computer,designing PC monitoring software,the date can intuitively display in Dynamic curve form on the screen.This system use VS2008 monitoring software system development,through the ZigBee wireless communication module to set up networks and transmit information to PC,the PC software system can perform operations of analyzing and processing to the received data,and it will be stored in a database.The system realized the collection of environmental information,and completed the real-time monitoring of greenhouse environment.
ZigBee;sensor;serial communication;real time display
TN925
A
1674-6236(2016)15-0071-02
2015-09-17 稿件編號:201509123
丁莉(1987—),女,山西運城人,碩士研究生,助教。研究方向:物聯(lián)網(wǎng)技術(shù),傳感器網(wǎng)絡(luò),系統(tǒng)分析。