譚成兵
(亳州職業(yè)技術學院信息工程系,安徽亳州,236813)
對于用戶來說,只有將溫室中構建的無線傳感網(wǎng)絡中采集的相關數(shù)據(jù)收集起來進行統(tǒng)計分析,才能對溫室的各項環(huán)境因素有準確的認識,從而實現(xiàn)對溫室的真正意義上的監(jiān)控。對傳感器采集數(shù)據(jù)的進行分析的軟件應該在系統(tǒng)中相對獨立,通過一個用戶體驗良好的界面,使得用戶能夠方便快捷的獲取自己關注的相關數(shù)據(jù),而不必關注這些數(shù)據(jù)是如果通過傳感器讀取,又如何通過無線傳感網(wǎng)絡傳輸這些細節(jié)過程。
在本次設計過程中,對于用戶使用的監(jiān)控界面是基于LabVIEW8.2 平臺來設計的,根據(jù)溫室大棚監(jiān)控系統(tǒng)中的相關功能要求,本次設計的系統(tǒng)主要由數(shù)據(jù)接收模塊,數(shù)據(jù)處理,系統(tǒng)報警模塊三個3 模塊組成,接下來將圍繞系統(tǒng)的相關功能作進一步介紹。
LabVIEW(Laboratory Vir tual Inst rument Engineering Workbench)也是一種通用系統(tǒng),其中提供了龐大的函數(shù)庫,它提供了圖形化編程的形式,產生的程序是一種類似框圖的圖形。
LabVIEW 中通過圖標去代替文本創(chuàng)建程序,對于基于文本語言實現(xiàn)的程序中的順序邏輯在LabVIEW 中以流程圖的形式去指定。使得開發(fā)人員并不需要很強的編碼能力就能夠在LabVIEW 上進行系統(tǒng)開發(fā),極大提高了系統(tǒng)的開發(fā)效率,另外LabVIEW 也提供了傳統(tǒng)的程序調試工具s 開發(fā)者在開發(fā)過程中能夠很方便的對出現(xiàn)的問題進行定位。
對于無線傳感網(wǎng)絡是采用的MoteWorks 開發(fā),它提供了對OEM 設備和多種無線傳感器的支持,MoteWorks 中構建的無線傳感器網(wǎng)絡主要由節(jié)點端、中間件和客戶端組成,在節(jié)點端主要是一些自組網(wǎng)技術,保障整個通信過程的順利進行。中間件主要是一些系統(tǒng)操作平臺或者是服務器,主要提供一些發(fā)送基本命令、管理、監(jiān)控整個系統(tǒng)的功能。
中間件是采用的Xserve 去實現(xiàn)的, Xserve 的高效的性能使得其在能夠對無線傳感網(wǎng)絡中傳輸?shù)臄?shù)據(jù)快速進行分析處理,同時在Xserve 中提供了一些功能擴展的接口,使得用戶可以根據(jù)自己的需求定義相關的數(shù)據(jù)處理規(guī)則,并且Xserve 提供了跨平臺的支持,使得基于Xserve 開發(fā)的程序模塊的可移植性較高。
本次設計的系統(tǒng)的圖形化界面主要有兩個部分組成,一個是實時監(jiān)測部分,提供了系統(tǒng)參數(shù)配置、數(shù)據(jù)接收處理等功能,另一個是數(shù)據(jù)管理模塊,對系統(tǒng)中的各種數(shù)據(jù)為用戶提供了訪問接口。
軟件系統(tǒng)結構功能如下:
● 參數(shù)配置
NX的UI Styler應用模塊提供給用戶可視化建立NX風格對話框的功能。用戶可根據(jù)需求選擇合適的控件,在屬性編輯器中設置對話框名稱和提示信息實現(xiàn)數(shù)據(jù)傳輸,同時調整控件位置,實現(xiàn)合理布局。本文對于施工升降機導軌架零件的設計界面采用UI Styler中提供的UI樣式編輯器定制系統(tǒng)操作界面對話框。所創(chuàng)建系統(tǒng)界面對話框見下節(jié)實例。
參數(shù)配置模塊主要是對系統(tǒng)中一些基本的參數(shù)進行設定,如系統(tǒng)中的通信地址、通信端口等,使得系統(tǒng)能夠接收到無線傳感網(wǎng)絡傳輸?shù)母鞣N數(shù)據(jù)。
● 數(shù)據(jù)接收
數(shù)據(jù)接收主要在傳感器中獲取到數(shù)據(jù),將數(shù)據(jù)交付給微控制器處理和微控制器在處理完數(shù)據(jù)后,通過無線傳感網(wǎng)絡將數(shù)據(jù)傳輸給控制系統(tǒng)的過程。
● 數(shù)據(jù)處理
系統(tǒng)中很多地方都要進行數(shù)據(jù)處理,如微控制器對傳感器采集的數(shù)據(jù)進行處理、數(shù)據(jù)在無線傳感網(wǎng)絡中網(wǎng)絡節(jié)點對數(shù)據(jù)進行的處理已經(jīng)控制系統(tǒng)在接收到無線傳感網(wǎng)絡傳輸?shù)臄?shù)據(jù)再作進一步處理。
● 數(shù)據(jù)查詢
數(shù)據(jù)查詢主要是對系統(tǒng)中的各種歷史數(shù)據(jù)進行查詢,包括溫室的溫度、濕度、一些異常情況等等,查詢的結果將會以一種動態(tài)的效果圖的形式顯示,使得用戶可以更加直觀的獲取自己所需要的數(shù)據(jù),本次的數(shù)據(jù)查詢功能還提供了對無線傳感網(wǎng)絡中對于網(wǎng)絡節(jié)點的查詢功能,使得系統(tǒng)能夠動態(tài)監(jiān)控網(wǎng)絡節(jié)點的工作情況 。
● 報警模塊
溫室中對于很多環(huán)境因素都設置了閥值,如溫度、濕度等,當系統(tǒng)中一旦監(jiān)測到相關數(shù)據(jù)超過閥值的限定,要能夠發(fā)出報警信號,并能夠采取相應的處理措施。
Xserve 能夠將完成一些在應用程序中對數(shù)據(jù)高層次的處理,簡化了應用程序的工作。它是將數(shù)據(jù)直接解析成應用程序可用的格式,使得應用程序可以直接應用接受到數(shù)據(jù),Xserve 能夠滿足在應用程序中定義的不同格式的需求,實現(xiàn)了傳感網(wǎng)絡與系統(tǒng)應用的無縫連接。
通過擴展Xserve 中提供的相關數(shù)據(jù)接口實現(xiàn)了對無線傳感網(wǎng)絡整個工作過程的監(jiān)控。設計過程中利用Xserve 中的XML 接口作為數(shù)據(jù)發(fā)送器,將其與XServe 中間件服務器建立連接,并為該連接配置基于TCP/IP 通信協(xié)議下,數(shù)據(jù)的傳輸方式是基于XML 實現(xiàn)的。配置Xserve 的數(shù)據(jù)交互方式基于XML 的命令如下:
xserve-0—-xmlc-xmlport=9005—-s=eom4
該命令的含義是通過將傳輸?shù)臄?shù)據(jù)轉化成XML 格式,并通過9005 這個端口傳輸數(shù)據(jù),應用程序監(jiān)聽9005 這個端口就能夠獲得發(fā)送過來的XML 數(shù)據(jù)。
通過在界面開發(fā)平臺中LabVIEW 提供的相關函數(shù)接口,能夠很方便的與Xserve 進行交互,獲得Xserve 中發(fā)送的基于XML 的數(shù)據(jù)包,界面應用程序在獲得這些XML 數(shù)據(jù)后,對其作進一步的解析,使得數(shù)據(jù)能夠被其他模塊方便使用。
Xserve 服務器被開啟后,能夠通過應用程序將Xserve 轉發(fā)的數(shù)據(jù)進行捕獲,進而對捕獲的數(shù)據(jù)進行進一步處理成用戶可用的格式。
接下來將對本次系統(tǒng)設計的監(jiān)控程序的流程進行介紹,在系統(tǒng)中將相關環(huán)境因素的閥值設定以后,啟動系統(tǒng)的監(jiān)控程序后再啟動Xserve 服務器,這樣溫室中的傳感器就能夠將采集的數(shù)據(jù)最后以XML 的形式傳輸,應用程序在捕獲到Xserve 發(fā)送的這些XML 數(shù)據(jù)后對這些數(shù)據(jù)作進一步分析處理,并對一些數(shù)據(jù)與系統(tǒng)中設置的相關閥值進行比較,一旦有數(shù)據(jù)超過閥值的限定,那么系統(tǒng)就會發(fā)出警報信號通知用戶,同時系統(tǒng)能夠自動進行相關處理,對于那些在合理范圍的數(shù)據(jù)能夠按照用戶所期望的格式進行顯示。當系統(tǒng)的監(jiān)控程序被終止的時候,整個監(jiān)控過程結束。

圖3-1 系統(tǒng)程序流程圖Fig 3-1 System program flowchart
在本次設計的監(jiān)控系統(tǒng)中,用戶界面主要分為主界面、監(jiān)控界面和查詢界面。在主界面中提供了系統(tǒng)基本參數(shù)配置、數(shù)據(jù)備份等功能;在監(jiān)控界面能夠對系統(tǒng)中各項環(huán)境數(shù)據(jù)進行監(jiān)控,并對監(jiān)控過程提供報警的功能,對于報警提示系統(tǒng)中專門提供了報警的界面;在查詢界面主要是提供一些歷史查詢的操作,查詢的結果會以圖的形式動態(tài)的展現(xiàn)給用戶。
本次設計的溫室大棚監(jiān)控系統(tǒng)成功的實現(xiàn)了與MICAz 平臺的整合,并且數(shù)據(jù)采集、發(fā)送接收過程均未出現(xiàn)異常;為了進一步確定本次設計的系統(tǒng)的準確性和可行性,搭建以下的測試環(huán)境對系統(tǒng)的各項功能進行驗證:
測試環(huán)境:生化培養(yǎng)箱,溫度范圍5-10℃;
測試平臺:LabVIEW8.2 下開發(fā)的終端監(jiān)控軟件;M1CAz 硬件平臺;
測試目的:驗證本次開發(fā)的溫室大棚監(jiān)控系統(tǒng)的各項功能模塊運行正常。
測試方法如下:
(1) 首先在溫室的培養(yǎng)箱中設置多個傳感器節(jié)點就采集培養(yǎng)箱中的溫度數(shù)據(jù),并將傳感器節(jié)點與終端連接,使得采集到的溫度數(shù)據(jù)能夠最后被發(fā)送到系統(tǒng)的監(jiān)控中心。
(2) 接著在終端電腦上進入本次設計的監(jiān)控系統(tǒng),在主界面中設置相關環(huán)境因素的閥值后,進入監(jiān)控界面,打開監(jiān)控程序開始對傳感器采集的數(shù)據(jù)進行監(jiān)控。
(3) 然后在監(jiān)控界面上對監(jiān)控的數(shù)據(jù)進行記錄,由于溫室中溫度的變化一般來說都不會太劇烈,為此對于溫度數(shù)據(jù)的實時性要求相對較低,本次測試過程每隔十分鐘記錄一次數(shù)據(jù)。記錄的數(shù)據(jù)見表5-1。
(4) 最后將記錄的結果與系統(tǒng)中設定的標準值進行比較,發(fā)現(xiàn)所采集到的數(shù)據(jù)在正常范圍內。
就本次系統(tǒng)功能測試過程和最后采集到的相關數(shù)據(jù)來看:系統(tǒng)各項功能模塊運行正常,在系統(tǒng)參數(shù)設置過程還是在啟動監(jiān)控程序后獲得監(jiān)控結果,系統(tǒng)中未出現(xiàn)數(shù)據(jù)傳輸失敗的現(xiàn)象,溫度感應器能夠將其采集到的數(shù)據(jù)及時有效的發(fā)送到系統(tǒng)終端,驗證系統(tǒng)整體的穩(wěn)定性;溫度感應器采集到的數(shù)據(jù)與實際值的偏差是相當小的,當然這種誤差并不是系統(tǒng)本身造成的,而是溫度感應器在采集數(shù)據(jù)過程中就出現(xiàn)的。為此驗證了系統(tǒng)的數(shù)據(jù)傳輸?shù)恼_性;最后,在不同的溫度溫度范圍內,系統(tǒng)中不同的溫度傳感器采集的數(shù)據(jù)之間的誤差以及數(shù)據(jù)和標準值的誤差都不是很明顯,驗證了本次設計系統(tǒng)采集的數(shù)據(jù)的可靠性。

表5-1 實驗結果比較Table 5-1 Comparison of experimental results
[1] 付芳,張思東,顧瑞紅等.基于IEEE 802.1 5.4 和Zigbee構建低速無線局域網(wǎng)[J].電子技術應用.2005,29(7):90—92.
[2] 高守瑋,吳燦陽.Zigbee 技術實踐教程[M].北京:北京航空航天大學出版社,2009.
[3] 王秀梅,劉乃安.利用2.4GHz 射頻:芯片CC2420 實現(xiàn)ZigBee 無線通信設計[J].國外電子元器件,2005(3).
[4] 楊榮.基于ZigBee 的無線傳感器網(wǎng)絡及其在智能大廈中的應用[J].中國農機化.2005,(5):76-79.
[5] 趙文武,徐穎,楊振亞.Windows 的串行通信及單片機采集程序設計[J].計算機應用.2000,20(6):57-59.
[6] 周昌七,胡運震.ADO.NET 數(shù)據(jù)處理核心技術[J].電腦編程技巧與維護.2008,(10):43-44.
[7] 韓華峰,杜克明,孫忠富,等.基于ZigBee 網(wǎng)絡的溫室環(huán)境遠程監(jiān)控系統(tǒng)設計與應用[J].農業(yè)工程學報,2009,25 (7):158-163
[8] 羅海勇,李錦濤,趙方,等.基于無線傳感器網(wǎng)絡的溫室信息采集系統(tǒng)設計研究[C] //第三屆和諧人機環(huán)境聯(lián)合學術會議(HHME2007)論文集, 2007.
[9] 劉兆偉,楊波,張遠等.無線傳感器網(wǎng)絡路由協(xié)議研究分析[J].信息技術與信息化, 2008(5): 34- 37.
[10] 高鍵.ZigBee 無線傳感器網(wǎng)絡節(jié)點的能耗研究[J].電子測試, 2008( 2): 1- 4, 22.