于寶堃+胡瑜
摘要:針對目前農業溫室管理中存在的問題,設計了一種基于GIS和ZigBee技術的農業溫室監測系統,實現了地理信息技術與無線通信技術的有機結合。該監測系統采用CC2530芯片搭建ZigBee網絡,并將采集到的數據通過GPRS網絡傳輸到GIS平臺中,進行分析、處理和顯示。測試結果證明,監測系統工作穩定,能準確地采集溫室信息,用戶可實時掌握溫室情況,為下一步的溫室遠程控制奠定了基礎。
關鍵詞:GIS;ZigBee;農業溫室;監測系統;溫室信息
中圖分類號:TP277.2;S126 文獻標識碼:A 文章編號:0439-8114(2014)01-0211-05
Application of GIS and ZigBee Technology in the Monitoring System of
Agricultural Greenhouse
YU Bao-kun,HU yu
(College of Electronic Information and Automation, Tianjin University of Science & Technology, Tianjin 300222, China)
Abstract: In order to solve the existing problem of agricultural greenhouse management, a monitoring system of agricultural greenhouse, which realized the organic integration of geographical information technology into wireless communication technology, was designed based on GIS and ZigBee technology. The monitoring system built ZigBee network using CC2530, and the data gathered were transferred to GIS platform by GPRS network, and then were analyzed, processed and displayed in GIS platform. Test results showed that monitoring system worked stably and could collect greenhouse information accurately. Users could know greenhouse conditions in real time. The system laid a foundation for the further greenhouse remote control.
Key words: GIS; ZigBee; agricultural greenhouse; monitoring system; greenhouse information
收稿日期:2013-06-09
基金項目:天津科技大學實驗室開放基金(1202A205)
作者簡介:于寶堃(1984-),男,天津塘沽人,實驗師,碩士,從事單片機應用的研究,(電話)15822688946(電子信箱)ybk1984@126.com。
作為農業生產的重要手段,溫室種植已在中國得到了廣泛的推廣。隨著科技的發展,采用新技術對溫室大棚進行實時監測,不僅可以為農業的精細化管理提供保障,還可以提高作物的品質,并降低生產成本。傳統的溫室監測系統采用有線方式,這種方式布線工程量大、成本高,系統存儲量小,可視化程度低,為了解決這一問題,該文將GIS和ZigBee技術應用到溫室監測系統的開發中,使用戶可以通過友好的地理信息界面,實時掌握各個監測點的信息,并據此做出科學的溫室管理方法。
GIS(Geographic Information System)稱為地理信息系統[1],是一種采集、存儲、管理、分析和顯示地理信息的計算機系統。GIS及其相關技術在近十年取得了驚人的發展,并廣泛地應用于市政管理、國土資源調查以及交通管理等多個領域。因此,將GIS技術應用到農業監測領域,構建農業實時管理平臺,對農業生產力的提高勢必起到積極作用。
ZigBee技術[2]是一種近距離無線通信技術,以2.4 GHz為主要頻段,具有功耗低、成本低、組網方式靈活、網絡容量大等特點,能適應溫室大棚的分布特點和數據傳輸要求。
1 系統總體方案及工作原理
農業溫室監測系統主要由現場采集單元、ZigBee局域傳輸網絡、GPRS移動網、中心服務器和監控中心等5部分組成,系統結構如圖1所示。
系統采用自底而上的結構進行設計,其中現場采集單元負責采集溫室內的光照強度、溫度、濕度、土壤水分、CO2濃度、O2濃度等參數,并將這些參數進行編碼上傳給傳輸終端節點。為了準確、快速地對光照強度等參數進行采集和封裝,并減輕傳輸終端節點的工作負擔,現場采集單元采用STM32處理器作為核心控制器,并配備相應的傳感器模塊,不同于傳統的ZigBee監測網絡中現場采集單元與傳輸終端節點共用同一個控制器的情形。
由于溫室大棚具有分布零散的特點,因此在建立ZigBee網絡的時候,將一定范圍內的溫室大棚組成ZigBee局域傳輸網絡,不同的局域傳輸網絡之間不能進行通信,只有傳輸網絡內部的節點可以相互交換數據[3]。每個獨立的ZigBee局域傳輸網絡均采用簇樹型網絡拓撲結構,具有傳輸終端節點、路由器節點和網關節點3類網絡節點。傳輸終端節點可以獲取溫室內的相關信息,并將這些信息上傳給路由器節點。路由器節點不僅可以直接獲得現場采集單元傳遞的信息,還具備數據轉發的功能,而網關節點無法直接獲得現場采集單元采集的信息,它主要負責ZigBee網絡的初始化工作,將路由器節點傳來的現場信息進行匯總,并通過GPRS模塊傳遞到GPRS網絡中。之所以在系統中引入GPRS網絡,是由于ZigBee技術的傳輸范圍有限,其有效通信距離不能滿足網關節點與監控中心之間的通信,而GPRS網絡覆蓋廣,傳輸距離長[4],可將各個ZigBee局域傳輸網絡的數據進行匯總,并通過Internet上傳給中心服務器,實現了現場采集單元與監控中心的遠程通信。
在每個局域傳輸網絡中,只具備一個網關節點,傳輸終端節點只能與一個路由器節點進行通信,而路由器節點既可以和多個傳輸終端節點進行數據傳輸,也可以將信息進行匯總并傳遞給網關節點。
中心服務器是整個系統的數據存儲單元,由空間數據庫、屬性數據庫和實時數據庫組成,其中空間數據庫存儲地理信息,而實時數據庫存儲來自底層的實時數據。
監控中心是溫室監測系統的重要組成部分,其采用GIS技術進行搭建,為用戶提供了一個可視化操作平臺,用戶通過該平臺可直觀地掌握各個溫室的分布情況,實時觀測各個監測點的狀態信息。監控中心可以設置監測點的土壤水分等參數的報警值,當被檢測的參數發生異常時,可自動向用戶發出短消息,以提醒用戶。
2 系統硬件設計
2.1 ZigBee傳輸模塊的設計
ZigBee局域網絡中的傳輸終端節點、路由器節點和網關節點采用TI公司生產的CC2530F128芯片作為ZigBee網絡的組建基礎。該芯片是用于2.4 GHz IEEE802.15.4和ZigBee應用的一個真正的片上系統(SoC)解決方案。它能夠以非常低的材料成本建立強大的網絡節點。CC2530F128[5]集成了一個高性能的RF收發器和一個增強型的8051CPU,8 kB的RAM,128 kB的Flash,并具有強大的外設,包括8路A/D、2個USART以及21個通用I/O接口。CC2530F128具有不同的運行模式,滿足溫室監測系統對低功耗的要求,同時運行模式之間的轉換時間短,進一步確保了低能源消耗。
2.2 現場采集單元的硬件設計
現場采集單元主要由微處理器模塊、傳感器模塊、LCD模塊和電源模塊4部分組成(圖2)。其中,LCD模塊采用分辨率為240×320的真彩TFT液晶顯示屏,與微處理器通過FSMC接口相連,可直觀地顯示被監測參數的數值,而電源模塊為其他模塊進行供電。
2.2.1 微處理器模塊 微處理器模塊采用ST公司的STM32F103ZET6型芯片[6],該芯片為144引腳LQFP封裝,采用Cortex-M3作為內核,具有512 kB的Flash,64 kB的RAM,最高工作頻率可達72 MHz;具有I2C、5 USART、SPI、FSMC等多種接口形式,減輕了內核的負擔;多達112個的多功能雙向I/O口,便于系統擴展。
2.2.2 傳感器模塊 傳感器模塊的主要組成部分是測量溫度、濕度等參數的傳感器,根據低功耗、高精度的原則,選擇如下傳感器:溫濕度傳感器AM2302、O2傳感器ME2-O2、CO2傳感器MG811、光照傳感器BH1750FVI和土壤水分傳感器HL-TR01。
1)AM2302是一款已校準、數字信號輸出的溫濕度復合傳感器,采用單總線方式進行通信,與STM32F103ZET6芯片通過引腳PB1相連。溫度測量范圍為-40~80 ℃,濕度測量范圍為1%~99.9%RH。AM2302具有分辨率高、響應快、抗干擾能力強、體積小、功耗低等優點,適合各種環境使用。
2)ME2-O2根據電化學原電池的原理進行工作,通過待測氣體電化學反應所產生的電流與其濃度成正比并遵循法拉第定律,來準確獲得氣體濃度,其測量范圍是0%~25%vol。由于STM32F103ZET6無法直接測量電流值,故ME2-O2需外接I/V轉換電路,并通過引腳PC0,將電壓信號傳遞給STM32F103ZET6。
3)MG811是一種固體電解質元件,由于其輸出的電壓信號較低,而輸出阻抗很高,在實際使用中,外接了由CA3140型高阻運算放大器組成的同向比例放大電路,并將轉換結果通過STM32F103ZET6 PC1口,引入其內部的ADC輸入通道完成模數轉換。
4)BH1750FVI是一種基于兩線式串行總線接口的數字型環境光強度傳感器,其測量范圍寬(1~65 535 lx)、分辨率高,可測量多種光源,受紅外線影響小,內部集成了16 bitA/D,無需外接電路,通過I2C總線掛接在STM32F103ZET6的接口PB10和PB11上。
5)HL-TR01是一款基于頻域反射原理,利用高頻電子技術制造的高精度、高靈敏度的傳感器,其測量范圍為0%~100%(m3/m3)。通過插入土壤中的探針,測量土壤的介電常數,并轉換成電壓信號來反映土壤的真實水分含量,將其輸出信號與STM32F103ZET6 PC2口內部的ADC輸入通道相連,從而完成數據的采集。
2.3 GPRS模塊的選取
在網關節點中,CC2350F128將匯總的信息通過串口傳遞給GPRS模塊,由GPRS模塊將信息發送到GPRS網絡中。GPRS模塊選用SIMCOM公司生產的SIM300z。它是一款三頻段GSM/GPRS模塊[7,8],可在900、1 800、1 900 MHz 3種頻率下工作,支持多種GPRS編碼方案,具備GPRS永久在線功能,滿足溫室監測系統對傳輸網絡穩定性的要求。SIM300z體積較小,可靠性高,內部集成了TCP/IP協議棧,并且擴展了TCP/IP AT指令,使用戶利用該模塊進行數據傳輸變得特別簡單、方便。
3 系統軟件設計
3.1 現場采集單元的軟件設計
現場采集單元的軟件部分采用傳統的無限循環方式進行設計,由主程序和中斷子程序組成(圖3)。主程序在完成硬件平臺初始化后進入低功耗模式,等待中斷子程序的發生。初始化任務主要完成時鐘、中斷、GPIO、串口、FSMC、ADC、I2C及定時器TIM1的配置工作。中斷子程序由定時器TIM1每隔5 s產生,并利用ADC、I2C、DMA等通道采集并存儲傳感器的實時數據,數據經編碼后通過串口USART1上傳給傳輸終端節點或路由器節點。在中斷返回后,主程序將這些數據在帶有FSMC接口的LCD屏上進行顯示。
3.2 ZigBee協議棧的移植
為了降低ZigBee網絡中各節點程序的編寫難度,系統在各節點中移植了ZigBee 2007協議棧Z-Stack。該協議棧是由TI公司為配合CC2530芯片而推出的軟件平臺,具有眾多的API函數。用戶使用Z-Stack協議棧作為軟件基礎平臺,不僅可以提高代碼的可靠性,也可縮短開發周期,從而降低了開發成本。
在移植Z-Stack的基礎上,用戶可在應用層利用API函數編寫程序,以實現各節點的功能。主要包括:①傳輸終端節點。加入ZigBee網絡;利用ZigBee網絡,將現場采集單元上傳的數據傳輸到路由器節點。②路由器節點。加入ZigBee網絡;通過串口接收現場采集單元上傳的數據,并將傳輸終端節點上傳的數據一同轉發到網關節點中。③網關節點。ZigBee網絡的建立與維護;接收和匯總來自路由器節點的數據,并傳輸到GPRS網絡中。
3.3 監控中心的架構設計
監控中心采用GIS技術進行搭建,其中GIS開發平臺選用超圖公司的SuperMap Object.NET,編程工具采用微軟公司的Visual Studio 2008,編程語言為.NET平臺支持的可視化語言C#。圖4所示為監控中心的GIS平臺架構,該架構采用基于Client/Server(客戶端/服務器)模式的4層結構進行設計,包括應用層、平臺層、接口層和數據層。這種設計架構分工明確,4個層次可分別實現不同的功能,并相互依存,最終形成一個統一的整體。
應用層是用戶與GIS系統進行交互的媒介,通過桌面程序,該層可以實現以下主要功能:地圖的顯示、響應用戶的操作、向數據層發送查詢請求并將請求結果展現給用戶。作為GIS應用平臺的基礎,平臺層由系統開發過程中使用的平臺和數據操作組件所組成。組件式開發平臺SuperMap Object.NET是基于.NET技術開發的一款產品[9],它在共相式GIS內核基礎上,采用C++/CLI進行封裝,是純
.NET組件。GIS平臺內部所有GIS數據的顯示、分析和處理,以及空間數據和屬性數據的調用都通過該平臺來完成,并將結果在應用層中顯示。數據操作組件是由用戶自定義的類庫,用于接收應用層發送的非空間數據處理要求,并將結果返回給應用層。同時,系統的報警短信也通過該組件適時發出。
接口層是平臺層與數據層之間進行數據通信的通道,其中空間數據引擎SuperMap SDX+負責空間數據庫和屬性數據庫的存儲、查詢,而ADO.NET負責實時數據庫的管理。數據層用于存儲系統的全部數據,其設計質量的好壞直接影響整個系統的運行效率。
4 中心服務器數據庫設計
中心服務器是整個監測系統的中樞,用于存儲系統的全部數據,并為監測點與監控中心之間提供了一座連接彼此的通信橋梁。中心服務器中的數據庫即為GIS平臺中的數據層,采用面向對象的數據模型法進行設計,利用對象-關系型數據庫SQL Server 2005進行搭建,主要包括空間數據庫、屬性數據庫和實時數據庫,如圖5所示。
空間數據庫[10]是整個數據庫的核心部分,記錄了實體空間的位置、拓撲關系和幾何特征,并以層的形式進行管理,包括地形層和溫室層。屬性數據庫用于管理與空間信息密切相關的溫室屬性,如溫室的面積、權屬人等。實時數據庫用于存儲底層上傳的溫度、濕度等信息。利用該數據庫,用戶不僅可實時查詢溫室的狀態,并對可能發生的異常進行預警,還可以瀏覽溫室的歷史數據。為了實現對3個數據庫的一體化管理,需設置統一的關鍵字,進而形成一個高度集成化的整體。
5 系統測試
為了驗證系統的完備性和穩定性以及GIS平臺的功能,選取5個鄰近的農業溫室作為被監測點,并編號為1~5。將3個傳輸終端節點和2個路由器節點分別安裝在溫室1~3和溫室4~5內,網關節點則布置在溫室1中,從而形成了由6個節點組成的ZigBee局域傳輸網絡。為了采集溫室內的數據,在各溫室內還放置了現場采集單元,而系統中的監控中心和中心服務器則位于遠端的實驗室內。在系統的總體架構建立后,即可對GIS平臺進行測試,主要包括以下主要功能的測試。
1)數據監測與顯示。通過操作界面,用戶可實時監測溫室的各個參數,并以多種形式對保存在中心服務器中的實時數據和歷史數據進行顯示,包括報表和曲線形式,圖6所示曲線為某一時段溫室1的溫度實時曲線,通過觀察曲線的變化趨勢,使用戶對參數的特性有一個感性的認識。
2)地圖瀏覽功能。通過測試,用戶可對地圖進行放大、縮小、移動、全圖、刷新等基本操作,滿足用戶對溫室進行觀察并快速定位的需求。
3)查詢功能。需要測試點擊查詢和選擇查詢兩種功能。①點擊查詢:用戶在地圖中只需點擊相應的溫室點,就可以查詢該溫室的地理屬性和實時數據。如圖7所示,用戶在操作界面中,點擊相應溫室點即可獲得其編號、位置,以及室內溫濕度等信息。②選擇查詢:用戶只需在對話框中輸入查詢條件,例如溫室內的溫度,即可將滿足條件的溫室以高亮形式顯示在地圖中。
4)預警功能:為了測試系統的預警功能,可將系統某一參數的預警值,例如溫室的溫度值設定為一個較低值,這樣當正常值被GIS平臺接收后隨即產生了報警,在用戶界面中表現為相應的溫室點在不間斷地閃爍,以提醒用戶。
6 小結
將GIS與ZigBee技術應用到農業溫室監測系統的開發中,GIS技術滿足用戶對海量數據進行存儲、處理和顯示的需求,ZigBee技術提供了靈活的組網方式,而GPRS的引入更有效地增加了監測系統的數據傳輸距離。用戶不僅可獲得溫室內的溫度、濕度等參數的實時值,還可以觀察溫室的地理分布信息,查詢其屬性特征,從而更全面地掌握溫室的狀況。利用該系統可為溫室系統的安全運行提供可靠的支持和保障,從而提高了溫室的管理水平,降低了生產成本。在下一步的開發中,可將遠程控制功能融入到溫室監測系統中,從而實現對溫室內各個參數進行自動調節的功能。
參考文獻:
[1] 劉小燕.城市供水管網GIS的設計與實現[D].西安:西安電子科技大學,2007.
[2] 瞿 磊,劉盛德,胡咸斌.ZigBee技術及應用[M].北京:北京航空航天大學出版社,2007.
[3] 楊 方.基于無線傳感器網絡的農田環境監測系統設計[J].湖北農業科學,2012,51(15):3334-3337.
[4] 高海俠,傅 偉.基于GPRS的農村人口管理系統設計[J].湖北農業科學,2012,51(13):2846-2848.
[5] 謝忠兵,武 佩,韓國棟,等.基于ZigBee技術的土壤溫度無線監測系統研究[J].農機化研究,2013,35(2):189-191.
[6] 蒙博宇.STM32自學筆記[M].北京:北京航空航天大學出版社,2012.
[7] 苗文山.基于GPRS技術的遠程無線自動電能抄表系統的設計[D].太原:太原理工大學,2008.
[8] 于寶堃,許 國,胡 瑜,等.基于GPRS的實驗室檢測系統[J].電子設計工程,2010,18(2):7-8.
[9] SuperMap圖書編輯委員會.GIS工程師訓練營:SuperMap Objects組件式開發[M].北京:清華大學出版社,2011.
[10] 張 碩.基于SuperMap Objects的河南省南水北調地理信息系統設計與實現研究[D].鄭州:鄭州大學,2010.
(責任編輯 王曉芳)
3.2 ZigBee協議棧的移植
為了降低ZigBee網絡中各節點程序的編寫難度,系統在各節點中移植了ZigBee 2007協議棧Z-Stack。該協議棧是由TI公司為配合CC2530芯片而推出的軟件平臺,具有眾多的API函數。用戶使用Z-Stack協議棧作為軟件基礎平臺,不僅可以提高代碼的可靠性,也可縮短開發周期,從而降低了開發成本。
在移植Z-Stack的基礎上,用戶可在應用層利用API函數編寫程序,以實現各節點的功能。主要包括:①傳輸終端節點。加入ZigBee網絡;利用ZigBee網絡,將現場采集單元上傳的數據傳輸到路由器節點。②路由器節點。加入ZigBee網絡;通過串口接收現場采集單元上傳的數據,并將傳輸終端節點上傳的數據一同轉發到網關節點中。③網關節點。ZigBee網絡的建立與維護;接收和匯總來自路由器節點的數據,并傳輸到GPRS網絡中。
3.3 監控中心的架構設計
監控中心采用GIS技術進行搭建,其中GIS開發平臺選用超圖公司的SuperMap Object.NET,編程工具采用微軟公司的Visual Studio 2008,編程語言為.NET平臺支持的可視化語言C#。圖4所示為監控中心的GIS平臺架構,該架構采用基于Client/Server(客戶端/服務器)模式的4層結構進行設計,包括應用層、平臺層、接口層和數據層。這種設計架構分工明確,4個層次可分別實現不同的功能,并相互依存,最終形成一個統一的整體。
應用層是用戶與GIS系統進行交互的媒介,通過桌面程序,該層可以實現以下主要功能:地圖的顯示、響應用戶的操作、向數據層發送查詢請求并將請求結果展現給用戶。作為GIS應用平臺的基礎,平臺層由系統開發過程中使用的平臺和數據操作組件所組成。組件式開發平臺SuperMap Object.NET是基于.NET技術開發的一款產品[9],它在共相式GIS內核基礎上,采用C++/CLI進行封裝,是純
.NET組件。GIS平臺內部所有GIS數據的顯示、分析和處理,以及空間數據和屬性數據的調用都通過該平臺來完成,并將結果在應用層中顯示。數據操作組件是由用戶自定義的類庫,用于接收應用層發送的非空間數據處理要求,并將結果返回給應用層。同時,系統的報警短信也通過該組件適時發出。
接口層是平臺層與數據層之間進行數據通信的通道,其中空間數據引擎SuperMap SDX+負責空間數據庫和屬性數據庫的存儲、查詢,而ADO.NET負責實時數據庫的管理。數據層用于存儲系統的全部數據,其設計質量的好壞直接影響整個系統的運行效率。
4 中心服務器數據庫設計
中心服務器是整個監測系統的中樞,用于存儲系統的全部數據,并為監測點與監控中心之間提供了一座連接彼此的通信橋梁。中心服務器中的數據庫即為GIS平臺中的數據層,采用面向對象的數據模型法進行設計,利用對象-關系型數據庫SQL Server 2005進行搭建,主要包括空間數據庫、屬性數據庫和實時數據庫,如圖5所示。
空間數據庫[10]是整個數據庫的核心部分,記錄了實體空間的位置、拓撲關系和幾何特征,并以層的形式進行管理,包括地形層和溫室層。屬性數據庫用于管理與空間信息密切相關的溫室屬性,如溫室的面積、權屬人等。實時數據庫用于存儲底層上傳的溫度、濕度等信息。利用該數據庫,用戶不僅可實時查詢溫室的狀態,并對可能發生的異常進行預警,還可以瀏覽溫室的歷史數據。為了實現對3個數據庫的一體化管理,需設置統一的關鍵字,進而形成一個高度集成化的整體。
5 系統測試
為了驗證系統的完備性和穩定性以及GIS平臺的功能,選取5個鄰近的農業溫室作為被監測點,并編號為1~5。將3個傳輸終端節點和2個路由器節點分別安裝在溫室1~3和溫室4~5內,網關節點則布置在溫室1中,從而形成了由6個節點組成的ZigBee局域傳輸網絡。為了采集溫室內的數據,在各溫室內還放置了現場采集單元,而系統中的監控中心和中心服務器則位于遠端的實驗室內。在系統的總體架構建立后,即可對GIS平臺進行測試,主要包括以下主要功能的測試。
1)數據監測與顯示。通過操作界面,用戶可實時監測溫室的各個參數,并以多種形式對保存在中心服務器中的實時數據和歷史數據進行顯示,包括報表和曲線形式,圖6所示曲線為某一時段溫室1的溫度實時曲線,通過觀察曲線的變化趨勢,使用戶對參數的特性有一個感性的認識。
2)地圖瀏覽功能。通過測試,用戶可對地圖進行放大、縮小、移動、全圖、刷新等基本操作,滿足用戶對溫室進行觀察并快速定位的需求。
3)查詢功能。需要測試點擊查詢和選擇查詢兩種功能。①點擊查詢:用戶在地圖中只需點擊相應的溫室點,就可以查詢該溫室的地理屬性和實時數據。如圖7所示,用戶在操作界面中,點擊相應溫室點即可獲得其編號、位置,以及室內溫濕度等信息。②選擇查詢:用戶只需在對話框中輸入查詢條件,例如溫室內的溫度,即可將滿足條件的溫室以高亮形式顯示在地圖中。
4)預警功能:為了測試系統的預警功能,可將系統某一參數的預警值,例如溫室的溫度值設定為一個較低值,這樣當正常值被GIS平臺接收后隨即產生了報警,在用戶界面中表現為相應的溫室點在不間斷地閃爍,以提醒用戶。
6 小結
將GIS與ZigBee技術應用到農業溫室監測系統的開發中,GIS技術滿足用戶對海量數據進行存儲、處理和顯示的需求,ZigBee技術提供了靈活的組網方式,而GPRS的引入更有效地增加了監測系統的數據傳輸距離。用戶不僅可獲得溫室內的溫度、濕度等參數的實時值,還可以觀察溫室的地理分布信息,查詢其屬性特征,從而更全面地掌握溫室的狀況。利用該系統可為溫室系統的安全運行提供可靠的支持和保障,從而提高了溫室的管理水平,降低了生產成本。在下一步的開發中,可將遠程控制功能融入到溫室監測系統中,從而實現對溫室內各個參數進行自動調節的功能。
參考文獻:
[1] 劉小燕.城市供水管網GIS的設計與實現[D].西安:西安電子科技大學,2007.
[2] 瞿 磊,劉盛德,胡咸斌.ZigBee技術及應用[M].北京:北京航空航天大學出版社,2007.
[3] 楊 方.基于無線傳感器網絡的農田環境監測系統設計[J].湖北農業科學,2012,51(15):3334-3337.
[4] 高海俠,傅 偉.基于GPRS的農村人口管理系統設計[J].湖北農業科學,2012,51(13):2846-2848.
[5] 謝忠兵,武 佩,韓國棟,等.基于ZigBee技術的土壤溫度無線監測系統研究[J].農機化研究,2013,35(2):189-191.
[6] 蒙博宇.STM32自學筆記[M].北京:北京航空航天大學出版社,2012.
[7] 苗文山.基于GPRS技術的遠程無線自動電能抄表系統的設計[D].太原:太原理工大學,2008.
[8] 于寶堃,許 國,胡 瑜,等.基于GPRS的實驗室檢測系統[J].電子設計工程,2010,18(2):7-8.
[9] SuperMap圖書編輯委員會.GIS工程師訓練營:SuperMap Objects組件式開發[M].北京:清華大學出版社,2011.
[10] 張 碩.基于SuperMap Objects的河南省南水北調地理信息系統設計與實現研究[D].鄭州:鄭州大學,2010.
(責任編輯 王曉芳)
3.2 ZigBee協議棧的移植
為了降低ZigBee網絡中各節點程序的編寫難度,系統在各節點中移植了ZigBee 2007協議棧Z-Stack。該協議棧是由TI公司為配合CC2530芯片而推出的軟件平臺,具有眾多的API函數。用戶使用Z-Stack協議棧作為軟件基礎平臺,不僅可以提高代碼的可靠性,也可縮短開發周期,從而降低了開發成本。
在移植Z-Stack的基礎上,用戶可在應用層利用API函數編寫程序,以實現各節點的功能。主要包括:①傳輸終端節點。加入ZigBee網絡;利用ZigBee網絡,將現場采集單元上傳的數據傳輸到路由器節點。②路由器節點。加入ZigBee網絡;通過串口接收現場采集單元上傳的數據,并將傳輸終端節點上傳的數據一同轉發到網關節點中。③網關節點。ZigBee網絡的建立與維護;接收和匯總來自路由器節點的數據,并傳輸到GPRS網絡中。
3.3 監控中心的架構設計
監控中心采用GIS技術進行搭建,其中GIS開發平臺選用超圖公司的SuperMap Object.NET,編程工具采用微軟公司的Visual Studio 2008,編程語言為.NET平臺支持的可視化語言C#。圖4所示為監控中心的GIS平臺架構,該架構采用基于Client/Server(客戶端/服務器)模式的4層結構進行設計,包括應用層、平臺層、接口層和數據層。這種設計架構分工明確,4個層次可分別實現不同的功能,并相互依存,最終形成一個統一的整體。
應用層是用戶與GIS系統進行交互的媒介,通過桌面程序,該層可以實現以下主要功能:地圖的顯示、響應用戶的操作、向數據層發送查詢請求并將請求結果展現給用戶。作為GIS應用平臺的基礎,平臺層由系統開發過程中使用的平臺和數據操作組件所組成。組件式開發平臺SuperMap Object.NET是基于.NET技術開發的一款產品[9],它在共相式GIS內核基礎上,采用C++/CLI進行封裝,是純
.NET組件。GIS平臺內部所有GIS數據的顯示、分析和處理,以及空間數據和屬性數據的調用都通過該平臺來完成,并將結果在應用層中顯示。數據操作組件是由用戶自定義的類庫,用于接收應用層發送的非空間數據處理要求,并將結果返回給應用層。同時,系統的報警短信也通過該組件適時發出。
接口層是平臺層與數據層之間進行數據通信的通道,其中空間數據引擎SuperMap SDX+負責空間數據庫和屬性數據庫的存儲、查詢,而ADO.NET負責實時數據庫的管理。數據層用于存儲系統的全部數據,其設計質量的好壞直接影響整個系統的運行效率。
4 中心服務器數據庫設計
中心服務器是整個監測系統的中樞,用于存儲系統的全部數據,并為監測點與監控中心之間提供了一座連接彼此的通信橋梁。中心服務器中的數據庫即為GIS平臺中的數據層,采用面向對象的數據模型法進行設計,利用對象-關系型數據庫SQL Server 2005進行搭建,主要包括空間數據庫、屬性數據庫和實時數據庫,如圖5所示。
空間數據庫[10]是整個數據庫的核心部分,記錄了實體空間的位置、拓撲關系和幾何特征,并以層的形式進行管理,包括地形層和溫室層。屬性數據庫用于管理與空間信息密切相關的溫室屬性,如溫室的面積、權屬人等。實時數據庫用于存儲底層上傳的溫度、濕度等信息。利用該數據庫,用戶不僅可實時查詢溫室的狀態,并對可能發生的異常進行預警,還可以瀏覽溫室的歷史數據。為了實現對3個數據庫的一體化管理,需設置統一的關鍵字,進而形成一個高度集成化的整體。
5 系統測試
為了驗證系統的完備性和穩定性以及GIS平臺的功能,選取5個鄰近的農業溫室作為被監測點,并編號為1~5。將3個傳輸終端節點和2個路由器節點分別安裝在溫室1~3和溫室4~5內,網關節點則布置在溫室1中,從而形成了由6個節點組成的ZigBee局域傳輸網絡。為了采集溫室內的數據,在各溫室內還放置了現場采集單元,而系統中的監控中心和中心服務器則位于遠端的實驗室內。在系統的總體架構建立后,即可對GIS平臺進行測試,主要包括以下主要功能的測試。
1)數據監測與顯示。通過操作界面,用戶可實時監測溫室的各個參數,并以多種形式對保存在中心服務器中的實時數據和歷史數據進行顯示,包括報表和曲線形式,圖6所示曲線為某一時段溫室1的溫度實時曲線,通過觀察曲線的變化趨勢,使用戶對參數的特性有一個感性的認識。
2)地圖瀏覽功能。通過測試,用戶可對地圖進行放大、縮小、移動、全圖、刷新等基本操作,滿足用戶對溫室進行觀察并快速定位的需求。
3)查詢功能。需要測試點擊查詢和選擇查詢兩種功能。①點擊查詢:用戶在地圖中只需點擊相應的溫室點,就可以查詢該溫室的地理屬性和實時數據。如圖7所示,用戶在操作界面中,點擊相應溫室點即可獲得其編號、位置,以及室內溫濕度等信息。②選擇查詢:用戶只需在對話框中輸入查詢條件,例如溫室內的溫度,即可將滿足條件的溫室以高亮形式顯示在地圖中。
4)預警功能:為了測試系統的預警功能,可將系統某一參數的預警值,例如溫室的溫度值設定為一個較低值,這樣當正常值被GIS平臺接收后隨即產生了報警,在用戶界面中表現為相應的溫室點在不間斷地閃爍,以提醒用戶。
6 小結
將GIS與ZigBee技術應用到農業溫室監測系統的開發中,GIS技術滿足用戶對海量數據進行存儲、處理和顯示的需求,ZigBee技術提供了靈活的組網方式,而GPRS的引入更有效地增加了監測系統的數據傳輸距離。用戶不僅可獲得溫室內的溫度、濕度等參數的實時值,還可以觀察溫室的地理分布信息,查詢其屬性特征,從而更全面地掌握溫室的狀況。利用該系統可為溫室系統的安全運行提供可靠的支持和保障,從而提高了溫室的管理水平,降低了生產成本。在下一步的開發中,可將遠程控制功能融入到溫室監測系統中,從而實現對溫室內各個參數進行自動調節的功能。
參考文獻:
[1] 劉小燕.城市供水管網GIS的設計與實現[D].西安:西安電子科技大學,2007.
[2] 瞿 磊,劉盛德,胡咸斌.ZigBee技術及應用[M].北京:北京航空航天大學出版社,2007.
[3] 楊 方.基于無線傳感器網絡的農田環境監測系統設計[J].湖北農業科學,2012,51(15):3334-3337.
[4] 高海俠,傅 偉.基于GPRS的農村人口管理系統設計[J].湖北農業科學,2012,51(13):2846-2848.
[5] 謝忠兵,武 佩,韓國棟,等.基于ZigBee技術的土壤溫度無線監測系統研究[J].農機化研究,2013,35(2):189-191.
[6] 蒙博宇.STM32自學筆記[M].北京:北京航空航天大學出版社,2012.
[7] 苗文山.基于GPRS技術的遠程無線自動電能抄表系統的設計[D].太原:太原理工大學,2008.
[8] 于寶堃,許 國,胡 瑜,等.基于GPRS的實驗室檢測系統[J].電子設計工程,2010,18(2):7-8.
[9] SuperMap圖書編輯委員會.GIS工程師訓練營:SuperMap Objects組件式開發[M].北京:清華大學出版社,2011.
[10] 張 碩.基于SuperMap Objects的河南省南水北調地理信息系統設計與實現研究[D].鄭州:鄭州大學,2010.
(責任編輯 王曉芳)