鄒 宇,聶明新,王 承
ZOU Yu, NIE Ming-xin, WANG Cheng
(武漢理工大學 信息工程學院,武漢 430070)
基于無線傳感網絡的測溫系統能部署于無人維護、條件惡劣的環境中,具有很強的適應性。無線傳感器網絡(WSN)是信息科學領域中一個全新的發展方向,同時也是新興學科與傳統學科進行領域間交叉的結果。它是信息感知技術和采集技術的一場革命,是21世紀最重要的技術之一?,F在使用的遠程控制和調節設備往往存在信號干擾大或建設難度大的問題。并且溫度控制器多局限于下位機的操作,在不適合人去的地方,有很強的局限性,更不便于統籌管理和數據分析。而我們的系統具有良好的電腦操作界面,全局的溫度顯示,能夠幫助管理人員了解更多的信息,實時的溫度數據更能為工業的生產提供依據,彌補了下位機人機對話的不足以及操作的局限性。與此同時,該系統能將各個分立測溫點的數據通過無線數據傳輸匯總于一臺PC機,然后由上位機軟件進行分析處理,方便用戶控制且架設簡單。在數據的傳輸中我們使用無線傳感網絡傳輸替代有線傳輸方便架設同時增大了系統的應用范圍。特別是在一些普通無線網絡干擾大、有線傳輸網絡架設難的領域無線傳感網絡的應用將給生廠生活帶來極大地便利。采用上位機軟件進行數據處理,為用戶提供可視化的簡易操作界面,用戶只需要動動鼠標就能了解、處理溫度數據,同時軟件提供實時顯示溫度數據和顯示歷史溫度數據的功能方便用戶根據溫度數據進行分析。無線傳感器網絡的研究對如日中天的物聯網有較深的研究意義。對于物聯網中涉及組網、自組網、網絡的穩定高效都有很好的幫助。
整個系統由傳感節點、終端節點及上位機組成。無線傳感器網絡是由許許多多功能相同或不同的無線傳感器節點組成,每一個傳感器節點由數據采集模塊(傳感器、A/D轉換器)、數據處理和控制模塊(微處理器、存儲器)、通信模塊(無線收發器)和供電模塊(電池、DC/AC能量轉換器)等組成。下面詳細分析系統的硬件和軟件組成。系統整體的結構框圖如圖1所示。

圖1 無線傳感網絡的多點溫度測控系統框圖
本系統由測溫模塊、調溫模塊、單片機模塊、無線收發模塊、上位機控制模塊組成。利用溫度傳感器進行溫度采集,由單片機獲取溫度數據,然后由無線發射模塊發送數據發送請求。無線接收模塊收到數據發送請求后發出應答信號,然后無線發射模塊發送數據無線接收模塊接收數據,完成數據遠程傳輸。若在數據傳輸過程中有其它的發送模塊發送數據發送請求,接收模塊不對其應答。但單片機記錄下發送請求的測溫點,當數據傳輸結束,無線接收模塊對該測溫點應答后開始數據傳輸。
數據傳輸完成后由單片機對收到的數據進行解碼,確定是由哪個測溫點發出的,再將測溫點信息通過串口發送給PC機由上位機軟件進行數據處理。上位機軟件實時顯示溫度并記錄溫度數據。當溫度超過用戶所設上下限溫度時,上位機軟件自動通過串口發送指令給單片機,在測溫點與數據匯集點間進行數據傳輸,終端根據接收到的指令控制調溫模塊實現溫度調節。每一個節點都具有無線收發功能,起傳遞信息的作用。接收終端將數據傳輸給電腦。

圖2 系統的軟件流程圖
溫度數據采集模塊采集數據后,由數據編碼模塊將數據變為包括測溫點代號及溫度數據信息的格式,數據發送模塊發送數據。數據接收模塊收到數據后由數據解碼模塊解碼數據,由串口通信模塊將數據發給電腦,上位機軟件對數據進行處理。當采集到的信息溫度不在設定范圍內時,上位機發出溫度調控指令給CC2430后再經過一次數據傳輸,由調溫函數控制模塊控制調溫設備實現溫度調節,操作過程可通過智能完成,也可由手工完成。
ZigBee是以每個獨立的工作節點為依托,通過無線通信組成星狀、片狀或網狀網絡。每個ZigBee網絡節點不僅本身可以作為監控對象,還可以自動中轉別的網絡節點傳過來的數據資料。除此之外,每一個ZigBee網絡節點(FFD)還可在自己信號覆蓋的范圍內,和多個不承擔網絡信息中轉任務的孤立的子節點(RFD)無線連接。ZigBee擁有很多自身的技術優勢,其中突出的優勢為低成本和低功耗,在組網和路由性方面,因為ZigBee底層采用了直擴技術,如果采用非信標模式,網絡可以擴展得很大,因為不需同步而且節點加入網絡和重新加入網絡的過程很快,一般可以做到1秒以內,甚至更快,達到了路由的高效性。

圖3 主從節點的流程圖
本系統采用星型網絡拓撲結構、TDMA通信機制。在星型網絡拓撲結構的網絡中有一個稱為網絡協調器的中央控制器和若干個從備。協調器負責網絡的建立和維護,它必須是FFD節點,而且一般有穩的電能供給,不需考慮耗能問題。從設備是FFD節點,系統中采用電池供電RFD節點,它只能直接與網絡協調器進行數據通信,而與其他從設之間通信必須通過網絡協調器轉發。在一個網絡中哪個設備作為網絡協調器一般說是由上層規定,不在ZigBee協議規定的范圍內。系統采用簡單的方法是讓最初啟動的FFD成為網絡協調器。在這種情況下,當一個FFD節點上電開始工作,它就會檢測周圍環境,選擇合適的信道,把自己設為協調器,并選擇一個網絡標識符,然后建立起自己的網絡。網絡標識符用來唯一的確定本網絡,以和其他網絡相區分,網絡內的從設備也是根據這個網絡標識符來確定自己和網絡協調器從屬關系。網絡建立后,協調器就可允許其他設備與自己相連,加入到該網絡。
傳感節點與終端節點采用星型的網絡拓撲結構進行組網連接,組網成功連接后,由終端節點按照時分多址機制輪詢每個傳感節點完成溫度數據的傳輸。網絡組建后終端節點定時輪流詢問各個傳感節點是否有數據要發送,傳感節點收到詢問后發送應答信號,終端節點和傳感節點建立通信,開始數據傳輸。本系統中由傳感節點將采集得到的數據發送給終端節點。系統中存在著多個從機,從機對相應的傳感節點,主機需要通過編碼號來識別從機。系統開始工作時,終端節點即主機不斷地循環訪問從機N,只有當從機接收到的編碼號與主機發送的編碼號一致時才通過DIR輸出高電平,表示從機接收到正確的命令。向從機N發送采溫命令,從機N處于等待狀態,直至主機將信息取走才進行下一次的數據采集。

圖4 上位機軟件流程圖
系統中的上位機軟件的編寫采用的是VC++。串口通信上位機軟件編程通過串口通信編程CserialPort類完成,和常規的MSComm控件相比,這個類打包時,不需要加入其他的文件,而且函數都是開放透明的,允許我們進行改造。具體的流程圖如圖4所示。
這個函數是用來初始化串口的,即設置串口的通信參數:需要打開的串口號、波特率、奇偶校驗方式、數據位,這里還可以用來進行事件的設定。
串口初始化成功后,就可以調用BOOL StartMonitoring來啟動串口監測線程,各種串口狀態和事件就可以被監測到。
該函數暫?;蛲V勾诒O測,調用該函數后,串口資源仍然被占用。
該函數完成寫串口功能,即向串口發送字符。
為打開串口添加單擊響應函數OnButtonOpen,完成對串口的初始化和關閉操作,串口的參數設置:波特率19200,8個數據位,1個停止位,無奇偶校驗位。
CC2430無線模塊工作的頻率較高,為保證模塊的穩定性,CC2430核心部分采用PCB制板。開啟節點電源,打開上位機軟件可以看到監測節點實時的溫度數據,通過對溫控數據的設置,可以保證終端的溫度在設置的范圍之內,實驗過程中實現了保證系統控制溫度下線在15度、上線溫度為20度。其中數據的更新可以采取手動更新,也可以采取智能控制。圖5是上位機工作時的界面圖。圖5的節點溫度超過了上下限,智能控制已自動啟動。實驗結果表明,在開闊地,主從節點通信的最遠距離可以達到150米。要想實現更遠程通信可以通過GPRS(通用分組無線業務)模塊來完成。

圖5 上位機軟件運行界面
本測控系統采取了ZigBee協議,提高了節點的容量,增加了系統的可靠性和安全性。系統通過無線的方式實現多點的溫度監測和控制,通信質量穩定。對系統稍作改善,就能夠廣泛應用于一些相對惡劣的環境的工業測控系統中。對系統進一步的深入研究也可以實現以太網數據的共享,對于研究如日中天的物聯網有很大現實意義。
[1]呂治安.ZigBee網絡原理與應用開發[M].北京:北京航空航天大學出版社,2008.
[2]龔建偉,熊光明,等.Visual C++/Turbo C串口通信編程實踐[M].北京:電子工業出版社,2004.
[3]雷純,何小陽,蘇生輝.基于Zig Bee的多點溫度采集系統設計與實現[J].通信與信息處理,2010,29(2).
[4]李輝.等.基于ZigBee無線熱能檢測系統設計[J].測控技術,2010,1(312).