付承彪, 田安紅
(曲靖師范學院 信息工程學院,云南 曲靖 655011)
我國農業的生產效率與地理環境息息相關,如何準確高效的采集農業生產環境所需的信息資源,是現代化信息農業生產和管理的關鍵[1-3]。隨著Android手機的大力發展與推廣,為農業的高效生產奠定了信息化服務。本文開發基于Android手機的智能農業物聯網監測系統[4-7],旨在使得粗放型的勞動生產方式進行轉型,采用現代農業方式,實現精準種植和智能的管理控制。傳統農業增長主要依賴于自然環境資源,而現在農業增長可依賴于信息資源,輔助現代化的信息技術,使得傳統不可控的農業得到有效的控制。智能農業虛擬平臺系統從農業種植管理的角度出發,采用物聯網技術在信息化農業中的方式[8-10],來提高農業效率,指導農業生產,改革農業的管理。本系統從溫度、濕度、光照強度、二氧化碳濃度四個方面進行數據分析,得到適宜農作物生長的數據,為農業管理者提供有價值的支撐數據。本文開發的智能農業虛擬平臺對進一步推廣智能農業有一定的參考價值。
本系統采用的開發語言為Java[11-14],關鍵技術是布局和數據儲存,布局用來設計用戶交互界面,用戶界面的設計是否美觀,是否合理直接影響用戶體驗,而數據存儲技術則記錄了用戶所有的操作數據,和用戶所需要提取的數據信息。在 Android 中,采用xml 技術來設計軟件的UI(User Interface),然而在xml中,控件的位置和狀態與布局息息相關,在Android系統中常用的布局有5種,絕對布局(AbsoluteLayout)、相對布局(RelativeLayout)、線性布局(LinearLayout)、單幀布局(FrameLayout)、表格布局(TableLayout)。鑒于布局間的互相嵌套作用,Android軟件UI的設計變得非常靈活,通過合理使用布局,能夠容易地實現復雜界面的設計。同時,可通過Jason數組進行解析數據的功能,利用JSP(動態網頁技術)將數據顯示網頁上,再通過http協議獲取網頁上的數據。通過Android 技術進行前臺開發,本軟件系統能夠在Android手機上運行,并實現遠程操作控制。
本系統設計的基于Android智能手機的農業物聯網[15-18]實時展示系統,采用的是分層架構的思想。總體結構圖如圖1所示,分為手機客戶端和服務器端,采用的是C/S架構,服務器端通過監視器,收集到無線傳感器采集的信息,并將數據保存到數據庫,實時的更新農業基地室內情況,以及響應手機客戶端的請求。智能設備通過網絡從服務器端獲取信息,可由網絡實現對農業信息查看與農業現場的遠程控制,長期監控農業基地農業的生長狀況,該系統能降低農民及農業技術人員的勞動強度,提高農業信息化水平。

圖1 系統架構圖
搭建Android開發環境,主要需要4個軟件,分別為Java SDK、Eclipse、Android SDK和ADT,詳細的搭建步驟為:第1步,首先到 http://www.eclipse.org/downloads/網站上下載 Eclipse 集成開發環境并且解壓,推薦下載 Java EE 集成版本。接著再去下載SDK,并解壓后安裝,http://java.sun.com/javase/downloads/index.jsp 站點下載,最后在下載 AndroidSDK1.5 后解壓http://dl.google.com/android/android-sdk-windows-1.5_r1.zip。第2步,雙擊 Eclipse 解壓后目錄中的 eclipse.exe 然后啟動,選擇 Eclipse 菜單中的Help-> Install New Software-> 選項卡上的 Available Software,點擊右側的“Add”輸入 http://dl-ssl.google.com/android/eclipse/后確定,然后在“Work with”下拉菜單中選擇剛才輸入的網址。在出現一個 Developer Tools 選項后,勾上以后點擊 Next以后 Eclipse 會自動網上查找 Android 開發工具插件,然后找到 Android DDMS 和Android Development Tools,選中這兩個點擊 Finish,Eclipse 就會自動下載并安裝Android 插件了,最后會提示重啟 Eclipse。第3步,在Windows7的系統變量中的path變量中添加一個值, 該值指向解壓后的AndroidSDK 目錄下的tools文件夾。
手機端的設計主要考慮便攜性,設計基于Android環境的APK應用,利用java語言在Eclipse環境下開發,通過與服務器數據庫的交互,在手機客戶端,獲取從服務器傳過來的數據,通過傳感器將大棚室內的相關信息(比如說空氣溫度、濕度、光照、土壤溫度、土壤水分)接收過來,通過數據的解析,繪制成柱狀圖,餅圖,折線圖等易于直觀的形式,可以清晰的看出室內這些適合于農作物生長的指標的變化,實現數據查看功能,以便于實時監控。使用基本的四大組件activity 、service 、Broadcast Receiver、Content Provider來實現功能的控制,基本頁面的繪制使用了絕對布局、線性布局、相對布局、單幀布局、表格布局等的互相嵌套,使用組件Intent實現頁面邏輯的跳轉。
服務器端借助網絡與無限傳感器之間相連,實時捕捉農業基地的現場信息。同時將信息保存至數據庫,負責對數據的分類篩選和綜合分析,完成對數據的統計,運算處理,及時更新最新的變化。同時服務端程序提供網絡服務與移動客服端進行通信,等待客戶端等各類智能設備的鏈接請求,如果與Android設備連接成功后即可開始監控室內作物的生長情況。
智能農業虛擬平臺系統的主界面如圖2所示,主要功能包含溫度數據、濕度數據、光照強度數據、二氧化碳濃度數據,基于Android開發將數據庫中的數據讀取出來,并以柱狀圖、折線圖、餅圖的形式顯示在界面上,通過觀測這些數據的分析結果,得到農作物生長的數據。在該系統中主要是利用 Intent實現頁面之間的跳轉,在界面上通過點擊按鈕跳轉到下一個頁面,以及運用 On Click Listener 進行設置按鈕的監聽,單擊按鈕時實現跳轉頁面。同時,界面中還有退出、天氣預報、歷史數據、和設置按鈕。點擊“退出”后直接退出當前界面;點擊“天氣預報”可查看部分地區的天氣狀況;點擊“歷史數據”可查看溫度、濕度、光照強度、二氧化碳濃度的歷史數據以及圖形顯示;點擊“設置”可對各個閾值進行設置。

圖2 軟件系統主界面
柱狀圖的效果如圖3所示,該柱狀圖用于顯示歷史溫度數據情況,橫坐標表示月份,縱坐標表示溫度的高低。通過柱狀圖所顯示的歷史溫度數據,方便農業管理者能夠直觀統計分析近期溫度變化幅度,最終得出最適宜農作物生長的溫度環境,提高了對農作物生長環境的控制,更有利于提高農作物的優質輸出。通過Chart類和Chart view類實現柱狀圖的繪制,并將數據顯示在界面上。主要步驟如下:第1步:繪制x、y軸和x、y軸上的刻度代碼。第2步:在View對象中使用canvas繪制虛線。第3步:使用反鋸齒功能,讓圖形看上去更柔和,啟用反鋸齒功能。第四步:設置柱狀圖的數據。

圖3 柱狀圖
折線圖的效果如圖4所示,折線圖的含義:橫坐標表示時間,縱坐標表示土壤濕度。農業管理者可通過折線圖中土壤濕度數據變化情況實時控制大棚內農作物生長所需的最佳濕度數據,更為高效的種植農作物,提高種植效益。主要步驟如下:第1步:定義x、y的坐標、長度和刻度長度,顯示的數據和顯示的標題。第2步:定義構造方法。第3步:activity調用方法,將數據庫中的數據添加到折線圖上。

圖4 折線圖
餅圖的效果如圖5所示,通過餅圖顯示二氧化碳3個月份所占比例,統計分析得出最適宜農作物生長的二氧化碳濃度,并將數據傳送給農業管理者,更有利于控制大棚內農作物生長所需的二氧化碳濃度,從而達到農作物的高效、優質的輸出。主要步驟如下:第1步:構造一個接口函數來獲取當前圖標的Intent實例。第2步:構造餅圖數據,將數據庫中的數據添加到餅圖上。第3步:獲取一個餅圖渲染器。

圖5 餅圖
當前光照強度的效果如圖6所示。

圖6 光照強度值
(1) 設計了基于物聯網的智能農業監測系統,目的是實現目標監測區域內,影響農作物生長的環境參數的實時采集。
(2)基于Android開發,將數據庫中的數據讀取出來,并以柱狀圖、折線圖、餅圖的形式顯示在界面上,對數據進行統計、分析,給出最適宜農作物生長的數據,將數據傳輸給管理人員。
(3) 使得農業管理人員能夠在手機上進行運行并實現遠程操作控制,從而可以實時掌握和控制農作物的生長環境,提高農作物的優質產出。
[1] 李 慧,劉星橋,李 景,等.基于物聯網Android平臺的水產養殖遠程監控系統[J]. 農業工程學報,2013,29(13):175-181.
[2] 郭 理,秦懷斌,邵明文.基于物聯網的農業生產過程智能控制架構研究[J]. 農機化研究,2014(8):193-195,201.
[3] 唐 璐,田傳耕,祖茂衡,等. 基于Android的實驗設備遠程控制系統設計[J]. 實驗技術與管理,2015(5):149-152.
[4] 臧賀藏,張 杰,李國強,等.基于Android平臺的智慧農田遠程監控系統開發[J]. 河南農業科學,2016(6):153-156.
[5] 楊林楠,郜魯濤,林爾升,等.基于Android系統手機的甜玉米病蟲害智能診斷系統[J].農業工程學報,2012,28(18):163-168.
[6] 孫 恒.智能移動終端的視頻點播系統設計與實現[J].實驗室研究與探索,2015(2):132-136.
[7] 趙榮陽,王 斌,姜重然.基于ZigBee的智能農業灌溉系統研究[J]. 農機化研究,2016(6):244-248.
[8] 馬正華,宋 磊,焦竹青,等. 基于無線傳感網的蔬菜工廠智能監控系統設計[J].自動化與儀表,2013(11):20-24.
[9] 吳宏森,李建洋. Android水產品營銷系統軟件設計[J]. 實驗室研究與探索,2016(7):149-153.
[10] 胡云冰,鄒 賽,徐 琴.在線式物聯網水質監測系統研發[J].西南師范大學學報(自然科學版),2014,39(6):64-69.
[11] 任克強,李曉亮,謝 斌. 基于Android的手機導航系統設計與實驗[J]. 實驗技術與管理,2014(5):131-135.
[12] 李雪剛,黃夢醒,朱東海.基于物聯網技術的遠程農田監控系統設計[J]. 計算機工程,2012,38(17):20-23.
[13] 趙林靜,陳文文.基于物聯網和Zigbee技術的圖書館火情監控系統設計[J].西南師范大學學報(自然科學版),2013,38(12):158-163.
[14] 梁 帆,董江磊,崔世鋼,等.基于物聯網智能植物生長柜的軟件系統設計[J].農業現代化研究,2015,36(4):716-720.
[15] 倪紅軍. 基于Android平臺的消息推送研究與實現[J]. 實驗室研究與探索,2014(5):96-100.
[16] 劉海龍,宿宏毅,郭浩.基于物聯網關聯的光照監控與節水灌溉系統設計[J].現代電子技術,2016,39(20):149-153.
[17] 趙文星,吳至境,劉德力,等.基于農業物聯網的果園環境智能監測系統設計[J].江蘇農業科學,2016,44(5):391-394.
[18] 王福平,劉 芳,馮盼盼. 基于Java的農田節水灌溉監控系統的設計與實現[J]. 微型機與應用,2013,32(22):83-84+87.