毛威+來智勇+耿楠
摘 要: 在溫室智能灌溉系統(tǒng)硬件基礎(chǔ)上,設(shè)計(jì)并開發(fā)溫室智能灌溉系統(tǒng)上位機(jī)軟件。該軟件采用Microsoft Visual Studio 2012和數(shù)據(jù)庫進(jìn)行設(shè)計(jì)、開發(fā),具有實(shí)時(shí)數(shù)據(jù)查詢、歷史數(shù)據(jù)查詢以及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)顯示等功能。該軟件主要實(shí)現(xiàn)溫室大棚環(huán)境信息的實(shí)時(shí)采集以及ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的實(shí)時(shí)繪制;集成了傳感數(shù)據(jù)的數(shù)據(jù)融合機(jī)制,提高了采集精度;人機(jī)接口均采用友好的圖形化界面。同時(shí)開發(fā)了智能農(nóng)業(yè)控制微信公眾號,為移動終端獲取溫室信息、發(fā)送控制命令等功能提供便利。測試結(jié)果表明,上位機(jī)軟件界面友好、功能完善、人機(jī)接口豐富,可以對各種溫室數(shù)據(jù)進(jìn)行有效管理,能夠滿足溫室智能灌溉系統(tǒng)的需求。
關(guān)鍵詞: 溫室環(huán)境監(jiān)控; 多傳感器數(shù)據(jù)融合; 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)繪制; 微信遠(yuǎn)程控制
中圖分類號: TN926?34; TP274.2 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)16?0005?05
Abstract: On the basis of the greenhouse intelligent irrigation system hardware, the host computer software for supporting the hardware was designed and developed. The PC monitoring software designed and developed with Microsoft Visual Studio 2012 and database technology has many functions, such as real?time data query, historical data query and network topological structure display, and can realize real?time acquisition of greenhouse environment information and real?time drawing of the ZigBee network topological structure. The fusion mechanism of sensing data was integrated and the data acquisition accuracy was improved. The friendly graphical interface was adopted for all man?machine interfaces. Moreover, the WeChat Official Account was developed to provide access to Greenhouse environment information and send control command for mobile terminal. The testing results show that the designed host computer software possesses many advantages, such as friendly man?machine interface, perfect functionality and abundant man?machine interfaces, can manage various greenhouse data and meet application requirements of greenhouse intelligent irrigation system effectively.
Keywords: greenhouse environment monitoring; multi?sensor data fusion; network topological structure drawing; WeChat remote control
0 引 言
我國是世界上人均水資源最貧乏的國家之一,我國每年農(nóng)業(yè)和工業(yè)都因缺水造成重大損失[1]。因此,發(fā)展精準(zhǔn)農(nóng)業(yè),推廣節(jié)水灌溉,是緩解我國水資源危機(jī)的必然選擇。作為一種新興網(wǎng)絡(luò)技術(shù),無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)具有能耗低、精度高、可靠性好、擴(kuò)展靈活等優(yōu)點(diǎn),在現(xiàn)代農(nóng)業(yè)中有著廣闊的應(yīng)用前景[2?3]。近年來,相關(guān)學(xué)者對精準(zhǔn)農(nóng)業(yè)和節(jié)水灌溉進(jìn)行了大量研究,文獻(xiàn)[4?9]將無線傳感器網(wǎng)絡(luò)應(yīng)用于農(nóng)田信息監(jiān)測與節(jié)水灌溉領(lǐng)域,取得了一定的成效。但是上述文獻(xiàn)并未對多傳感器數(shù)據(jù)進(jìn)行融合,難以為溫室環(huán)境監(jiān)測提供精確的決策依據(jù)。
針對上述問題,本文在前期工作的基礎(chǔ)上,設(shè)計(jì)開發(fā)了基于WSN的溫室智能灌溉系統(tǒng)軟件平臺。在該軟件驅(qū)動下,系統(tǒng)可以實(shí)時(shí)采集區(qū)域內(nèi)的環(huán)境信息并將采集數(shù)據(jù)進(jìn)行數(shù)據(jù)融合以提高采集精度。
用戶通過上位機(jī)即可直觀掌握底層網(wǎng)絡(luò)的運(yùn)行狀況。同時(shí),用戶無需在手機(jī)中安裝任何額外的APP軟件,利用微信公眾號即可獲取溫室環(huán)境信息和控制灌溉設(shè)備,使農(nóng)作物始終處在最佳生長環(huán)境中,符合現(xiàn)代農(nóng)業(yè)移動化、智能化的發(fā)展趨勢。
1 智能灌溉系統(tǒng)與軟件結(jié)構(gòu)
智能灌溉系統(tǒng)整個(gè)監(jiān)控系統(tǒng)分為溫室大棚環(huán)境信息監(jiān)測區(qū)、本地監(jiān)測區(qū)和遠(yuǎn)程監(jiān)測區(qū)三個(gè)區(qū)域。
底層監(jiān)測區(qū)即溫室大棚環(huán)境信息監(jiān)測區(qū),是由帶有傳感器的采集終端、控制終端以及路由節(jié)點(diǎn)組成的無線傳感器網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)使用ZigBee無線通信技術(shù);中間層監(jiān)測區(qū)為本地監(jiān)測區(qū),由匯聚節(jié)點(diǎn)以及網(wǎng)關(guān)組成;上層監(jiān)測區(qū)為遠(yuǎn)程監(jiān)測區(qū),是位于互聯(lián)網(wǎng)遠(yuǎn)端的監(jiān)測設(shè)備,如電腦、移動終端等,電腦可以通過Internet對溫室大棚進(jìn)行遠(yuǎn)程監(jiān)測,并對棚內(nèi)設(shè)施進(jìn)行遠(yuǎn)程控制;移動終端可以通過微信公眾號對大棚進(jìn)行環(huán)境信息查詢和設(shè)備控制。endprint
智能灌溉系統(tǒng)整體結(jié)構(gòu)如圖1所示。
系統(tǒng)軟件主要有數(shù)據(jù)管理和后臺管理兩大功能:
(1) 數(shù)據(jù)管理功能負(fù)責(zé)對底層監(jiān)測區(qū)采集到的數(shù)據(jù)進(jìn)行分析和處理;對采集到的數(shù)據(jù)進(jìn)行決策,判斷環(huán)境參數(shù)是否為相對最佳值,并根據(jù)決策結(jié)果決定是否需要開啟或關(guān)閉與控制終端相連的設(shè)備,以便為植物生長提供相對可控的適宜的生長條件。最后,數(shù)據(jù)管理功能還需要負(fù)責(zé)數(shù)據(jù)的存儲、查詢、分析、打印等。
(2) 后臺管理功能主要實(shí)現(xiàn)可供用戶存儲和管理數(shù)據(jù)的數(shù)據(jù)庫;實(shí)現(xiàn)傳輸網(wǎng)絡(luò)與后臺的數(shù)據(jù)交換、數(shù)據(jù)分析和數(shù)據(jù)處理;提供圖形界面,以表格的形式列出當(dāng)前網(wǎng)絡(luò)的實(shí)時(shí)監(jiān)測數(shù)據(jù),以圖形的方式向用戶顯示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖。
上位機(jī)軟件結(jié)構(gòu)如圖2所示。
2 上位機(jī)軟件關(guān)鍵技術(shù)設(shè)計(jì)
根據(jù)第1節(jié)所述,開發(fā)智能灌溉系統(tǒng)軟件主要設(shè)計(jì)以下技術(shù):網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)繪制、數(shù)據(jù)融合以及支持遠(yuǎn)程控制的公眾號開發(fā)。上位機(jī)監(jiān)控軟件在Microsoft Visual Studio 2012 環(huán)境下,采用C#編程語言實(shí)現(xiàn);操作系統(tǒng)采用Microsoft Windows 7 Professional;數(shù)據(jù)庫類型為MySQL。下面詳細(xì)介紹軟件的關(guān)鍵技術(shù)和設(shè)計(jì)過程。
2.1 ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)繪制
ZigBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是反映底層網(wǎng)絡(luò)運(yùn)行狀況的主要形式,在上位機(jī)實(shí)現(xiàn)ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖的實(shí)時(shí)繪制能使用戶更為直觀地對底層網(wǎng)絡(luò)的運(yùn)行狀態(tài)實(shí)時(shí)監(jiān)控,有利于增強(qiáng)無線傳感器網(wǎng)絡(luò)的穩(wěn)定性。
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)繪制設(shè)計(jì)過程如下:
步驟1:定義一個(gè)新的數(shù)據(jù)幀和命令幀格式。終端設(shè)備在接收到該命令后以新定義的數(shù)據(jù)幀格式返回?cái)?shù)據(jù)。新定義的數(shù)據(jù)幀須包含此節(jié)點(diǎn)的網(wǎng)絡(luò)地址、父節(jié)點(diǎn)的網(wǎng)絡(luò)地址以及節(jié)點(diǎn)類型(終端或者路由)。
步驟2:定義一個(gè)泛型集合List
步驟3:數(shù)據(jù)接收完畢后,定義一個(gè)二維數(shù)組Nodes[N][L],其中N為網(wǎng)絡(luò)中節(jié)點(diǎn)個(gè)數(shù),L為數(shù)據(jù)幀中有效數(shù)據(jù)長度加1。將List中的數(shù)據(jù)按照有效長度進(jìn)行分割,放入二維數(shù)組中。
步驟4:讀取數(shù)組中元素的父節(jié)點(diǎn)地址,判斷父節(jié)點(diǎn)是否為協(xié)調(diào)器節(jié)點(diǎn),則令該節(jié)點(diǎn)為一級節(jié)點(diǎn),判斷此節(jié)點(diǎn)類型,若為路由器,則繼續(xù)向下尋找其子節(jié)點(diǎn),直到找出此節(jié)點(diǎn)所有的后輩節(jié)點(diǎn);若節(jié)點(diǎn)類型為終端節(jié)點(diǎn),則繼續(xù)尋找下一個(gè)一級節(jié)點(diǎn)。
步驟5:實(shí)例化拓?fù)湓貙ο?,調(diào)用GDI+的DrawLine()和DrawImage()函數(shù)完成對網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的繪制。
2.2 多傳感器數(shù)據(jù)融合
為了提高信息采集精度,增強(qiáng)系統(tǒng)魯棒性,系統(tǒng)需要對多傳感器數(shù)據(jù)進(jìn)行融合,以便為溫室環(huán)境監(jiān)測提供實(shí)時(shí)、精確的決策依據(jù)。本文采用基于哈夫曼樹的聚類融合算法[10]對數(shù)據(jù)進(jìn)行融合。數(shù)據(jù)融合過程如下:
步驟1:利用標(biāo)準(zhǔn)正態(tài)分布計(jì)算傳感器之間的融合度[λij],如下:
式中:[dij]為傳感器之間的歐氏距離;[Xi]為各有效傳感器的測量數(shù)據(jù),記為[Xi=xi1,xi2,…,ximT]。若[rij=0],則認(rèn)為[i,j]兩個(gè)傳感器互相不支持,否則,認(rèn)為相互支持。
步驟3:獲取有效傳感器的個(gè)數(shù)[l]。剔除異常數(shù)據(jù),以有效傳感器數(shù)據(jù)的算術(shù)平均值代替。
步驟4:計(jì)算有效傳感器之間的歐氏距離,建立有效傳感器距離矩陣:
[D=d11…d1m??dm1…dmm] (4)
步驟5:選取最小的非零歐氏距離作為哈夫曼樹中權(quán)值最小的葉節(jié)點(diǎn)。將對應(yīng)兩個(gè)類合并為一個(gè)新類并刪除距離矩陣D中所對應(yīng)的行與列,得到新的距離矩陣[D1]。記下每一步選擇的最小元素以及合并個(gè)體的編號,對新類進(jìn)行融合。融合公式如下:
[fxin,xjn=c?xin+xjn+c-12?xin?xjn1+c2-c-12xin+xjn-2?xin?xjn, 0 式中,[fxin,xjn]表示有效傳感器[i,j]的測量數(shù)據(jù)第[n]個(gè)分量融合后的新值;[c]是大于[1]的實(shí)數(shù)。 步驟6:對數(shù)據(jù)類進(jìn)行多次融合,直到所有有效測量數(shù)據(jù)融合為一個(gè)最大類,即最終融合值。 2.3 微信遠(yuǎn)程監(jiān)控公眾號設(shè)計(jì) 傳統(tǒng)監(jiān)控系統(tǒng)需要在固定的監(jiān)控中心才能對系統(tǒng)進(jìn)行操控,使用便捷性差,管理人員難以隨時(shí)對溫室進(jìn)行監(jiān)控,數(shù)據(jù)獲取實(shí)時(shí)性較差。利用智能移動設(shè)備對溫室進(jìn)行監(jiān)控和對灌溉設(shè)備進(jìn)行控制,可以較好地解決數(shù)據(jù)獲取實(shí)時(shí)性的問題[11]。 因此,本文開發(fā)了一款可以提供遠(yuǎn)程監(jiān)控功能的微信公眾號,用戶只需關(guān)注公眾號,即可在任何時(shí)間、任何地點(diǎn)、任何終端上實(shí)現(xiàn)與設(shè)備之間低成本、高通用性的信息交流。微信遠(yuǎn)程控制結(jié)構(gòu)如圖3所示。 云端服務(wù)器部分是本設(shè)計(jì)的核心,通過在云端服務(wù)器部署后臺服務(wù)程序,公眾號可以實(shí)現(xiàn)歷史數(shù)據(jù)和當(dāng)前最新數(shù)據(jù)的查詢和溫室大棚設(shè)備遠(yuǎn)程控制功能,用戶可以利用智能移動終端向ZigBee無線傳感器網(wǎng)絡(luò)發(fā)送命令,實(shí)現(xiàn)對信息的查詢和對設(shè)備的控制。同時(shí),為了方便用戶使用,本文在后臺服務(wù)程序的基礎(chǔ)上,開發(fā)Web服務(wù)前端程序,并部署在云端服務(wù)器,用戶可以通過公眾號內(nèi)置的一級菜單進(jìn)入Web管理界面,在圖形化的操作界面下隨時(shí)對溫室進(jìn)行監(jiān)測和管理。 微信公眾號控制流程大致如下: (1) 用戶利用微信終端發(fā)出控制指令,微信后臺會將該指令進(jìn)行封包并以JSON格式發(fā)送至微信服務(wù)器。微信服務(wù)器再將數(shù)據(jù)包以POST形式傳輸至微信公眾號綁定的云端服務(wù)器。 (2) 云端服務(wù)器在接收到數(shù)據(jù)包后,按照規(guī)定協(xié)議對數(shù)據(jù)包進(jìn)行拆包和解析,獲取用戶指令,后臺服務(wù)程序根據(jù)指令進(jìn)行相應(yīng)的操作。
(3) 上位機(jī)通過HTTP方式獲取用戶指令后,根據(jù)指令進(jìn)行相應(yīng)的操作,并向云服務(wù)器端上報(bào)設(shè)備返回的操作結(jié)果。云端服務(wù)器將返回的操作結(jié)果返回并顯示到微信終端。
3 試驗(yàn)與結(jié)果分析
3.1 試驗(yàn)方案概要
溫室智能灌溉系統(tǒng)在中國農(nóng)業(yè)科學(xué)院農(nóng)田灌溉研究所得到試驗(yàn)性應(yīng)用。試驗(yàn)方案如下,在三個(gè)測試棚區(qū)內(nèi)分別隨機(jī)部署6個(gè)采集節(jié)點(diǎn),協(xié)調(diào)器與本地上位機(jī)通過RS 232串口連接。協(xié)調(diào)器負(fù)責(zé)建立并維護(hù)整個(gè)網(wǎng)絡(luò);采集節(jié)點(diǎn)實(shí)現(xiàn)對環(huán)境溫度、環(huán)境濕度和光照強(qiáng)度的實(shí)時(shí)采集。上位機(jī)收集協(xié)調(diào)器傳輸過來的數(shù)據(jù),對數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)溫室環(huán)境信息的遠(yuǎn)程監(jiān)測;同時(shí),移動終端可以通過微信公眾號發(fā)送命令控制底層設(shè)備。
3.2 試驗(yàn)結(jié)果分析
3.2.1 上位機(jī)具有比較完善的功能性
各種傳感數(shù)據(jù)能實(shí)時(shí)傳送至上位機(jī),上位機(jī)軟件能夠準(zhǔn)確解讀并轉(zhuǎn)換各種數(shù)據(jù)和指令;能夠?qū)Ω鞣N傳感數(shù)據(jù)進(jìn)行數(shù)據(jù)融合;能夠?qū)Ω鞣N傳感數(shù)據(jù)進(jìn)行存儲、分析和查詢,并以圖表的方式展示給用戶;能準(zhǔn)確顯示傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)并實(shí)時(shí)反映拓?fù)涞淖兓闆r,用戶雙擊節(jié)點(diǎn),即可獲得該節(jié)點(diǎn)的網(wǎng)絡(luò)地址,如圖4所示。
3.2.2 用戶可以通過公眾號遠(yuǎn)程控制溫室內(nèi)的設(shè)備
用戶首先掃描二維碼關(guān)注智能農(nóng)業(yè)控制公眾號,進(jìn)入公眾號內(nèi)部,在聊天框內(nèi)輸入相應(yīng)的用戶指令,即可對遠(yuǎn)程設(shè)備進(jìn)行操控。例如,用戶輸入開啟閥門,若灌溉控制節(jié)點(diǎn)成功打開閥門,則公眾號頁面顯示閥門狀態(tài)變?yōu)殚_啟,反之亦然。用戶也可以通過公眾號內(nèi)置的鏈接進(jìn)入Web管理界面并進(jìn)行相應(yīng)的操作。微信控制界面如圖5所示。
3.2.3 系統(tǒng)使用的聚類融合算法具有較高的精度
本試驗(yàn)于2015年11月20日—23日對溫室環(huán)境每30 min進(jìn)行1次采集操作,分別對數(shù)據(jù)進(jìn)行聚類融合處理和加權(quán)平均值處理。測試條件以光照強(qiáng)度、環(huán)境溫濕度為例。同一溫室大棚的6個(gè)同質(zhì)傳感器在同一時(shí)刻測得的環(huán)境溫度、環(huán)境濕度以及光照強(qiáng)度值見表1。
由融合算法可知[D1]中[d12=1.244 0]為最小元素,所以將[π1],[π2]代入式(5)合并得到新類[π7],再由其分別與剩下的類求距離,得到新距離矩陣,以此類推,最終得到6個(gè)傳感器的融合數(shù)據(jù)為19.902 ℃,濕度為71.00 %RH,同理,可以求得光照強(qiáng)度為22 737.72 lux。實(shí)驗(yàn)實(shí)際溫度為19.87 ℃,濕度為70.83 %RH,光照強(qiáng)度為22 958.64 lux。利用加權(quán)算術(shù)平均值法得到溫度值為20.023 ℃,濕度為70.507 %RH,光照強(qiáng)度為22 930.81 lux。
采用聚類融合算法得出的融合值同真實(shí)環(huán)境參數(shù)值以及采用加權(quán)平均值法計(jì)算出的融合值之間的對比直方圖如圖6~圖8所示??芍?,多傳感器數(shù)據(jù)應(yīng)用聚類融合算法得到的結(jié)果真差較小。主要原因是前者通過采用最小元素法進(jìn)行聚類進(jìn)而確定出各有效傳感器的融合次序再進(jìn)行融合,后者在處理兩個(gè)傳感器之間的相互支持關(guān)系以及融合次序帶有一定的主觀性,降低了數(shù)據(jù)融合的精度。
4 結(jié) 語
本文完成了基于WSN的溫室智能灌溉系統(tǒng)軟件的設(shè)計(jì)和開發(fā)。該軟件能實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)繪制、溫室環(huán)境信息保存、歷史數(shù)據(jù)查詢等功能。同時(shí),軟件設(shè)計(jì)了傳感器數(shù)據(jù)的融合機(jī)制,采用的聚類融合算法具有更高的融合精度,可以為溫室環(huán)境參數(shù)智能化控制提供可靠保證。開發(fā)了一款可以對溫室設(shè)備進(jìn)行遠(yuǎn)程控制的微信公眾號,用戶利用微信即可控制遠(yuǎn)程設(shè)備對象,具有較好的使用便捷性,符合計(jì)算移動化的趨勢,具有一定的應(yīng)用前景。
參考文獻(xiàn)
[1] 李莉莉.農(nóng)田水利建設(shè)現(xiàn)狀與對策探討[J].農(nóng)民致富之友,2012(9):85.
[2] 林少欽.無線智能灌溉系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2012,34(7):146?149.
[3] 曹繼忠.基于無線傳感器網(wǎng)絡(luò)的園林自動節(jié)水灌溉系統(tǒng)[J].電腦知識與技術(shù),2012,8(5):1168?1170.
[4] 劉卉,汪懋華,王躍宣,等.基于無線傳感器網(wǎng)絡(luò)的農(nóng)田土壤溫濕度監(jiān)測系統(tǒng)的設(shè)計(jì)與開發(fā)[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2008,38(3):604?608.
[5] 張榮標(biāo),谷國棟,馮友兵.基于IEEE 802.15.4的溫室無線監(jiān)控系統(tǒng)的通信實(shí)現(xiàn)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2008,39(8):119?122.
[6] 李合青,來智勇,張鑫.基于ZigBee的溫室智能灌溉執(zhí)行子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)機(jī)化研究,2014,36(1):95?98.
[7] 高峰,俞立,張文安,等.基于無線傳感器網(wǎng)絡(luò)的作物水分狀況監(jiān)測系統(tǒng)研究與設(shè)計(jì)[J].農(nóng)業(yè)工程學(xué)報(bào),2009,25(2):107?112.
[8] 高峰,俞立,王涌,等.基于無線傳感器網(wǎng)絡(luò)的作物水分狀況監(jiān)測系統(tǒng)的上位機(jī)軟件開發(fā)[J].農(nóng)業(yè)工程學(xué)報(bào),2010,26(5):175?181.
[9] 劉媛媛,朱路,黃德昌.基于GPRS與無線傳感器網(wǎng)絡(luò)的農(nóng)田環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2013,35(7):229?232.
[10] XU Y,CHEN B Z,HU Z C,et al. Research for multi?sensor data fusion based on Huffman tree clustering alogrithm in greenhouse [J]. Journal of embedded system, 2016, 8(1): 34?38.
[11] 蔚繼承,李書琴,楊麗麗.數(shù)據(jù)推送技術(shù)在溫室灌溉控制管理中的應(yīng)用[J].湖北農(nóng)業(yè)科學(xué),2014(18):4441?4444.endprint