殷西祥
(安徽商貿職業技術學院 電子信息工程系,安徽 蕪湖 241002)
基于Android平臺的智能農業系統的設計與實現
殷西祥
(安徽商貿職業技術學院 電子信息工程系,安徽 蕪湖 241002)
設計并實現了一套基于Android平臺的智能農業系統。該系統能將通過傳感器搜集到的土壤溫濕度、CO2濃度等環境指標信息實時顯示在Android平臺的智能設備上;同時,能遠程或自動控制水泵、光照、風扇等控制器,減少了人工的投入,并能精準地實現農業智能化生產。
Android;智能農業系統;JSON
在傳統農業的生產中,生產者基本上都是通過自己的感覺或經驗來進行農業生產的。例如:澆水、溫度控制等一系列操作,只能算是一種粗放式的管理模式,在這種生產管理方式下,通過人的感知能力來管理上述環境參數,是無法做到準確性要求的[1-2]。而通過應用物聯網等信息技術,生產者可以通過傳感器獲得信息進行分析是否進行相應的操作,能夠較為精確地把握農業生產的操作時間。本文主要從軟件的角度,通過聯想智能農業系統設備來模擬實現數據的獲取、展示、預警和遠程控制,來實現智能農業的核心問題之一,即農業信息的獲取、展示和處理[3]。能提高生產者的工作效率,減少勞動力,減少生產成本。
該基于Android平臺的智能農業系統分為服務端和客戶端兩部分組成,服務端與客戶端通過http協議實現數據交互,均采用MVC架構模式,即“模型-視圖-控制”模式[4]。在配置好jdk-7u79-windows-x64的Win 7環境下,使用MyEclipse 8.5,Eclipse Release 4.2.0,Android SDK 22.6.2,ADT 22.6.2開發工具,數據庫采用Mysql 5.0,輔助開發工具為Adobe Photoshop CS5等。
該系統包括服務端與客戶端兩個部分。a)服務端主要功能模塊為傳感器數據獲取模塊、數據交互模塊(將數據傳遞給客戶端)、用戶管理模塊和日志管理模塊等,如圖1所示。其中,數據獲取模塊包括對土壤溫濕度、CO2濃度、光照強度和空氣溫濕度等傳感器數據的獲??;用戶管理模塊包括對用戶基本信息的增、刪、改、查等功能;數據交互模塊包括對獲取到的土壤溫濕度、CO2濃度、光照強度和空氣溫濕度等傳感器數據為Android客戶端提供接口;日志管理記錄下用戶在客戶端的操作信息等。b)客戶端主要包括用戶管理模塊、環境指標模塊、歷史數據查詢模塊、自動控制模塊和遠程控制模塊等,如圖2所示。其中,環境指標模塊包括從服務端接口獲取到的土壤溫濕度、CO2濃度、光照強度和空氣溫濕度等傳感器數據的動態顯示;歷史數據查詢包括在一定時間內對各個環境指標的數據查詢功能;遠程控制模塊包括對LED光源、風扇、水泵和蜂鳴器等的遠程控制;自動控制模塊是指在一定閥值控制下使聯想智能農業系統設備自動開關LED光源、風扇、水泵和蜂鳴器等設備。智能農業系統客戶端的活動如圖3所示,主要描述了用戶的基本操作。

圖1 智能農業系統服務端

圖2 智能農業系統客戶端

圖3 系統活動圖
數據庫是一個軟件系統的重要組成部分,數據庫的設計顯得尤為重要,基于Android平臺智能設備使用的數據庫是SQLite數據庫。SQLite數據庫是一種輕量級的關系型數據庫,廣泛運用于移動設備中。由于智能設備存儲容量相對普通PC來說是有限的,因此本系統盡量少存儲信息在數據庫中,只將用戶信息和從服務端獲取到的傳感器的值存放在數據庫中,來提供客戶端用戶查詢歷史數據功能的數據獲取。其數據模型圖如圖4所示,數據庫具體設計如表1、表2所示。

圖4 系統數據模型

表1 用戶表(User)

表2 傳感器屬性值表(SensorValue)
3.1 環境指標界面設計與實現
用戶注冊、登錄后,在主界面中用戶可以查看環境指標即土壤溫濕度、CO2濃度、光照強度和空氣溫濕度等傳感器數據的實時變化,并通過Grid-View控件顯示,如圖5所示。
功能實現:通過解析智能農業系統服務端JSON(JavaScript Object Notation)數據,將服務端通過串口所獲取的傳感器數值顯示到GridView控件的各個Item上。系統每一秒刷新一次數據,實現環境指標的動態更新,并將所接收到的數據持久化到本地SQLite數據庫中。超過指定的閥值,該指標的數據背景圖片會變成黑色,如圖5中CO2濃度異常即顯示黑色圖片,便于用戶發現并及時處理問題。

圖5 環境指標界面
3.2 歷史查詢界面設計與實現
通過圖6所示的歷史查詢界面,用戶可以對各傳感器的歷史數據進行查詢功能[5]。在該界面中,選擇對應的傳感器,再選擇需要查詢的時間段,點擊【查詢】按鈕,該界面可以將滿足條件的數值以圖表的形式展現出來。其中不正常的即超出閥值范圍的數據圖表中的點為灰色,正常為黑色,也是方便用戶對歷史數據進行相關的觀察和分析。方便用戶對過去的數據進行了解、分析從而安排接下來的工作。
功能實現:其中傳感器類型和查詢周期可以用Spinner控件實現,其中數據可以配置到Strings.xml文件中。查詢的結果折線圖的展示部分可以通過Android平臺下較好的圖形報表開發庫achartengine實現。具體DEMO及幫助文檔可參見該項目的地址:http://code.google.com/p/achartengine/。

圖6 歷史查詢界面
3.3 手動控制設計與實現
手動控制即遠程控制設計如圖7所示,包括對LED光源、風扇、水泵和蜂鳴器等的遠程控制,達到通過Android設備來遠程操作聯想智能農業設備的功能[6]。通過模擬實現當農田缺少相關環境指標時及時的遠程通風、補充光照等功能。
功能實現:點擊圖中所示圖片按鈕可以通過智能農業系統客戶端傳遞相關JSON數據到服務端,服務端通過解析JSON數據,并通過串口對相關的設備進行操作。操作完成后,服務端會傳遞JSON數據給客戶端,客戶端解析出接收到的數據內容,彈出相關提示或切換圖片背景,便于用戶遠程操作并及時了解操作是否如期完成。
4.4 系統設置設計與實現
系統設置界面如圖8所示,包括了中英文切換、自動控制、閥值設置、版本信息、聯系我們等功能。此處介紹自動控制部分功能,自動控制與上文中的手動控制即遠程控制是相對而言的,當在系統設置為自動控制時,智能農業系統服務端自動起作用,進行相關的環境的調節功能和開啟相關控制器的功能,使得農業模擬生產環境處于全托管的狀態。
功能實現:通過智能農業系統客戶端傳遞相關JSON數據到服務端,服務端通過解析JSON數據,將通過串口對相關的控制器在一定的邏輯下進行自動操作。

圖7 手動控制界面

圖8 系統設置界面
“智能農業”是短短數年來迅猛發展起來的一種農業新模式,憑借當前條件已基本成熟的移動通信網絡、數據獲取工具以及控制設備,正逐漸得以實現。文中基于Android平臺的智能農業系統的開發能更好地服務農業生產,通過聯想智能農業系統設備的模擬,主要完成了智能農業系統中服務端和Android客戶端的設計與實現,用戶可以實時監控農作物生產環境,遠程控制相關設備,甚至有其他工作時用戶可以調節相關閥值使農業生產環境實現自我控制。改變了粗放式的管理模式,在這種生產管理方式下,做到農業生產環境的準確性數據獲取和顯示,能夠很好的減少農業勞動力和生產成本,提升農業生產效率。
[1]李圣華,肖傳輝.基于物聯網技術的智能農業系統設計[J].科技廣場,2011(7):73-75.
[2]王冬.基于物聯網的智能農業監測系統的設計與實現[D].大連:大連理工大學,2013.
[3]趙春江,薛緒掌,王秀,等.精準農業技術體系的研究進展與展望[J].農業工程學報,2003,19(4):7-11.
[4]殷西祥,盛慧君.基于Android平臺的移動學習系統[J].新鄉學院學報,2014,31(12):34-37.
[5]張榮超,沈陽.Android項目實戰:智能農業移動管理系統開發[M].大連:東軟電子出版社,2015.
Design and Implementation of Intelligence Agriculture System Based on Android
YIN Xixiɑnɡ
(Department of Electronic Information Engineering,Anhui Business College;Wuhu Anhui 241002,China)
This paper designs and implements an intelligent agriculture system based on Android.Information of CO2concentration,soil temperature and humidity collected by the sensor can be real-time displayed on the Android platform.At the same time,pump,light and fan can be remote or automatic controlled to reduce human-hours,and can accurately realize the intelligent agriculture production.
Android;Intelligence Agriculture System;JSON
TP311
A
1009-8666(2017)04-0038-05
10.16069/j.cnki.51-1610/g4.2017.04.008
[責任編輯、校對:王興全]
2016-10-18
安徽省高校自然科學研究項目“面向移動終端的智能農業系統研究”(KJSM201602);安徽商貿職業技術學院自然科學研究項目“基于興趣度的移動學習系統研究”(2016KYZ07);安徽省高校自然科學研究項目“基于edX平臺的云計算課程實訓MOOC系統研究”(KJ2015A373);安徽省教學質量工程項目“軟件技術專業綜合改革試點”(2014zy119)。
殷西祥(1984—),男,安徽安慶人。安徽商貿職業技術學院講師,碩士,研究方向:數據挖掘,移動互聯網應用開發,高職教育教學等。