趙繼春+劉世洪+喬珠峰



摘要: 介紹了基于Android移動終端的溫室環境信息遠程數據采集及智能控制研究和實現方法,探討使用JZ4730微處理器控制無線通信模塊MU736和現場的無線傳感器網絡,在移動終端上開發基于Android的應用管理系統,實現溫室環境信息的智能采集、傳輸和控制;同時,給出了系統的硬件、軟件設計實現方式以及試驗的測試效果。系統的主要優勢是通過移動終端APP方式遠程實現監控溫室環境信息,打破時間和空間限制,應用方便快捷。
關鍵詞: Android;溫室環境測控;無線傳感器
中圖分類號: S24;TP277.2 文獻標志碼: A 文章編號:1002-1302(2016)03-0394-04
溫室環境信息變量的采集、傳輸和控制對于指導農業生產、提高農業現代化水平具有重要的意義。目前,大多數溫室的控制方式是通過短距離的通信方式,將現場的傳感器信號采集到控制主機,控制主機與現場的上位機進行通信,通過上位機實現控制信息的回饋調節[1]。主要的缺點是,管理者一旦離開溫室生產現場,無法對溫室實現遠程控制。移動終端APP的控制方式是通過移動通信網絡,與現場的無線通信模塊進行通信,打破時間和空間的限制,實現遠程信息的隨時隨地查看和控制。本研究通過無線傳感器網絡(wireless sensor networks,WSN)將溫室的傳感器信號,包括現場圖像、空氣溫度、土壤溫度、空氣濕度、二氧化碳濃度、光照度等,高效地傳輸到遠程移動終端。在系統設計的時候充分考慮到了擴展性,根據實際工作的需要,用戶可以自由拓展傳感器的類型和數量,通過移動終端APP軟件實現信息的查看和回饋調節,為管理者提供方便、快捷、個性化的管理功能,通過測試完善,系統工作穩定達到了推廣應用程度。
1 Android和無線傳感器網絡概述及優勢
Android是1種開源的操作系統,在嵌入式Linux操作系統的基礎上發展起來,主要是在移動設備上應用的操作系統,例如常用的平板電腦和智能手機。Android系統由4部分組成:操作系統、用戶界面、中間件和應用軟件。與蘋果操作系統和微軟操作系統相比,Android操作系統的主要優點在于其開放性,開發者平臺允許任何移動終端制造廠商加入。目前Android系統的市場份額超過了80%,而蘋果操作系統不到13%,微軟嵌入式操作系統不到4%。同時,Android系統相對比較廉價,而且工作性能比較高效。基于此,本研究在溫室環境測控系統軟件開發方面使用Android操作系統,應用軟件安裝在移動終端上實現溫室環境信息的遠程隨時隨地采集控制[2]。
農業環境信息的獲取和傳輸離不開無線傳感器技術,無線傳感器網絡技術是一種點到點技術,集成了傳感器、網路和通信技術[3-4],由散步的傳感器節點和數據匯聚節點組成,節點具有傳感、數據處理和網絡通信的功能[5]。根據無線傳感器在農業環境中的部署位置不同,可以將傳感器分為無線地上傳感器網絡與無線地下傳感器網絡。無線地上傳感器網絡主要是在作物生長的地上空間布置相應的傳感器,根據采集信息的需要,合理選擇布設的傳感器網絡結點,實現最優的環境信息采集和傳輸控制。無線地下傳感器網絡主要研究點是關于土壤類型、土壤結構與成分、土壤含水率、節點距離、節點埋藏深度、網絡拓撲結構、頻率與功率范圍、路由算法、組網方式等對電磁波多路徑傳輸的最大傳輸距離、路徑損失、含水量測試誤差、誤碼率等方面的影響[6]。
目前農業環境信息獲取和傳輸系統多為有線方式,布線復雜程度較高,農業環境中布設很多分散的傳感器元器件,這些設備會隨著作物生長的改變而進行位置改變或者調整,需要做大量的線纜鋪設工作,而無線傳感器網絡具有特有的優越性,減少了大量麻煩的布線工作。本研究通過構建高可靠性的無線傳感器通信網絡,以實現溫室環境數據的高效采集傳輸[7-11]。
2 系統整體設計
基于Android的智能溫室環境測控系統由溫室傳感器采集控制系統、無線通信網絡和移動控制終端組成,溫室傳感器采集控制系統通過無線傳感器網絡采集現場的傳感器信號,包括圖像、空氣溫度、土壤溫度、空氣濕度、二氧化碳濃度、光照度等,這些信號以短距離無線通信方式傳送給控制主機。溫室傳感器采集控制系統通過無線通信模塊與移動控制終端APP系統通信,實現溫室環境信息的控制,用戶可以根據需求下達指令給控制主機系統,從而控制溫室的開窗、風扇和灌溉系統等,也可以預先配置實現對作物的自動監測控制管理。系統總體結構如圖1所示。
3 硬件設計
在系統硬件設計過程中,充分考慮到系統擴展性和可靠性,使系統具有較好的抗干擾、故障自動恢復以及較好的輸入輸出轉化能力。系統實現溫室環境數據的采集、傳輸和控制功能。系統的硬件原理如圖2所示,整個系統的硬件組成包括核心處理器、傳感器網絡電路、傳感器信號接收電路、無線數據通信模塊、液晶顯示、存儲器SRAM、按鍵電路和電源等。
主要的硬件組成部分說明如下:(1)核心處理器采用的是JZ4730,CPU處理器是1個32位嵌入式處理器,JZ4730處理器是君正公司開發的基于XBurst CPU微體系架構,CPU主頻可以高達336 MHz,在處理器上集成了串口、并口、以太網口、USB接口等豐富的通用外設接口,具有較強的運算和數據處理能力。
(2)傳感器網絡電路包括溫度傳感器、濕度傳感器、光照傳感器以及二氧化碳傳感器等,可以根據需要擴展所需要的傳感器。這些傳感器組成傳感器網絡通過無線發射芯片PT2262傳送到控制主機,控制主機通過PT2272芯片進行解碼接收。溫度、濕度傳感器分別采用的是PT100、SA801,光照傳感器模塊采用BH1750FVI,二氧化碳傳感器模塊采用T6615。圖像傳感器采用的是OV511 Camera芯片,處理器對其具有較好的支持。
(3)無線通信模塊采用的是MU736,該模塊是華為公司生產的用于無線數據傳輸的通信模塊,支持各大運營商的移動通信網絡,通信模塊工作可靠性較高。
(4)串口通信模塊采用的是MAX232,MU736無線通信模塊在與核心處理器連接的時候,MU736模塊采用的電平標準是RS232,然而核心處理器的電平標準是TTL電平標準,因此需要轉化模塊MAX232進行電平的匹配。
(5)液晶顯示屏采用的是ZXM480272,按鍵電路采用的是82C79。電源主要采用太陽能電池板進行供電。
(6)控制輸出電路采用的是MOC36,主要目的是通過降低電磁信號的干擾,提高系統的穩定性。
4 軟件設計
在外圍硬件設備軟件驅動設計方面,JZ4730核心處理器對液晶顯示屏、按鍵、串口、USB接口等具有較好的驅動能力,直接調用相應的底層驅動程序即可。傳感器網絡信號的采集、圖像數據的采集和無線數據的遠程傳輸是軟件設計的重要部分。
4.1 傳感器網絡信息采集
傳感器網絡信息的采集是通過程序的輪訓操作實現的。首先,對傳感器網絡中的傳感器進行初始化,輪訓查詢傳感器節點,當檢測到測量信息時,開始傳感器數據的采集接收,當程序檢測沒有測量信息時,傳感器節點地址加1,也就是檢測下一個傳感器節點是否需要數據信息采集。當一個傳感器信息數據接收完成后,開始檢測下一個傳感器節點。傳感器網絡信息采集軟件實現流程如圖3所示。
4.2 圖像傳感器數據采集
圖像傳感器采用OV511芯片,在Linux嵌入式操作系統下進行視頻圖像采集。首先在Linux Kernel中添加關于模塊驅動程序支持,接下來編寫圖像數據采集程序,通過嵌入式系統Video4Linux模塊提供的程序接口從圖像傳感器OV511設備中獲取圖像幀。圖像傳感器數據采集流程如圖4所示。
圖像傳感器數據采集實現的核心代碼如下:
for(Sframe=0;Sframe mapbuf.frame=Sframe;
if(ioctl(cam,ImageCMCAPTURE,&mapbuf)<0){
perror(“ImageCMCAPTUR”);
exit(-1);}
}
frame=0;
while (1){
i=-1;
while(i<0){
i=ioctl(cam,ImageCSYNC,&Sframe);
if(i < 0 && errno==EINTR) continue;
break;
}
buf=bigbuf+vidbuf.offsets[Sframe];
mapbuf.frame=Sframe;
if (ioctl(cam,ImageCMCAPTURE,&mapbuf)<0) {
perror(“ImageCMCAPTURE”);
exit(-1);
}
Sframe++;
if (frame>=vidbuf.frames) Sframe=0;
}
4.3 無線數據傳輸控制
無線通信模塊MU736與核心處理器JZ4730采用的是串口的連接方式,主要是通過對網絡套接字的編程實現傳感器信號的傳輸。無線數據傳輸實現的原代碼核心部分如下:
if ((MD=open(“Idata”,O_RDWR,0A77)) >0)
len=read(MD,buff,46000);
printf(“Image=%d\n”,len);
open_mcom(76800);//打開串口操作
init_timer();//初始化定時去操作
Iframe=sys_mstime();
printf(“The time:%d- - - -Iframe=%d\n”,ii,Iframe);
init_Ilib();//初始化圖像處理庫
printf(“init_Ilib\n”);
m=init_MU736();//初始化無線通信模塊MU736
if (m==0)
printf(“init_MU736 OK m=%d\n”,m);
else if (i==-1)
printf(“init_MU736 fault m=%d\n”,m);
printf(“send over Image=%d \n”,Image);
m=send_Image((u_char *)“SIM Number”,(u_char *)“test”,Mlen,buff);
printf(“send over i=%d \n”,i);
return 0;
5 移動端APP控制系統開發
移動端開發采用的是基于Android操作系統,集成開發環境采用的是Myeclipse,程序設計語言為Java,數據庫采用的是MYSQL。在開發設計過程中,充分考慮系統的擴展性以及人機交互界面的友好性。系統的主要功能模塊包括APP前端數據展示系統、APP管理設置系統和歷史數據查詢功能,前端展示系統主要是進行監控數據的展示,包括溫度、濕度、二氧化碳、光照度以及圖像數據,同時還有傳感器的開關控制功能。APP管理設置系統主要是設置溫室現場環境的閾值,歷史記錄查詢主要是查詢歷史監控的溫室環境數據。功能結構如圖5所示。移動終端APP原型頁面如圖6所示。
6 應用與討論
基于Android的智能溫室環境測控系統開發完成后,在北京市密云縣實驗溫室進行了應用測試,在溫室內部署了圖像傳感器、溫度傳感器、濕度傳感器和二氧化碳傳感器,利用移動終端APP軟件遠程監測并調控溫室的環境。表1記錄了溫室二氧化碳氣體的采集與調控數據,隨著白天時間的推移,溫室的光合作用加大,溫室內二氧化碳的氣體量減少。在11:00,二氧化碳的濃度降為260 mg/L,小于預設的閾值,此時系統遠程自動開啟二氧化碳自動發生器裝置。在14:00,由于開啟二氧化碳發生器產生作用,此時二氧化碳的濃度達到550 mg/L,啟動通風窗,降低二氧化碳濃度,同時起到降低溫室內溫度作用。測試結果表明,該系統工作穩定,傳感器的現場信號數據能夠通過現場無線數據傳輸模塊傳送給JZ4730處理,然后再通過MU736移動通信模塊傳輸給遠程的移動手機終端,同時移動終端可通過APP軟件有效地調控現場設備,達到了預期設計效果。7 結論
本研究開發了基于Android的智能溫室環境測控系統,通過無線傳感器網絡傳輸溫室的傳感器信號,將現場圖像、空氣溫度、土壤溫度、空氣濕度、二氧化碳濃度、光照度等高效地傳輸到手持移動終端軟件;同時實現信息的回饋控制,采用基于移動終端的控制方式,打破時間和空間的限制,管理者可以隨時隨地查看和管理溫室環境數據。該系統已經開始正式應用,并取得了一定成效。隨著應用的深入,將進一步開展智能分析研究,利用積累的歷史數據進行數據分析,為管理者提供便捷的種植決策服務。
參考文獻:
[1]袁小平,徐 江,侯攀峰. 基于物聯網的智慧農業監控系統[J]. 江蘇農業科學,2015,43(3):376-378.
[2]周 琴. 無線傳感器網絡MAC協議的研究[J]. 湖北生態工程職業技術學院學報,2012,2:57-60.
[3]孫忠富,曹洪太,李洪亮,等. 基于GPRS和WEB的溫室環境信息采集系統的實現[J]. 農業工程學報,2006,22(6):131-134.
[4]崔 莉,鞠海玲,苗 勇,等. 無線傳感器網絡研究進展[J]. 計算機研究與發展,2005,42(1):163-174.
[5]賈 曉,王 成,喬曉軍,等. 大田灌溉系統終端驅動及觸摸式人機界面[J]. 農業工程學報,2008(增刊2):133-137.
[6]高百惠,張長利,王 歡,等. 基于 ZigBee 技術的食用菌栽培環境監控系統的研究[J]. 農機化研究,2013,35(11):99-102.
[7]劉 彤,賀宏偉,李 堯,等. 基于 Android 平臺的家庭植物工廠智能監控系統[J]. 農機化研究,2015(4):197-202.
[8]郭文川,程寒杰,李瑞明,等. 基于無線傳感器網絡的溫室環境信息監測系統[J]. 農業機械學報,2010(7):181-185.
[9]石繁榮,黃玉清,任珍文,等. 自適應Tree-Mesh結構的大棚無線監測網絡設計[J]. 農業工程學報,2013,29(5):102-108.
[10]趙春江,吳華瑞,朱 麗. 基于ZigBee的農田無線傳感器網絡節能路由算法[J]. 高技術通訊,2013,23(4):368-373.
[11]屈利華,趙春江,楊信廷,等. Zigbee 無線傳感器網絡在溫室多源數據采集系統中的應用綜述[J]. 中國農機化,2012(4):179-183.