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

圖1 智能農(nóng)業(yè)系統(tǒng)服務(wù)端

圖2 智能農(nóng)業(yè)系統(tǒng)客戶端

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

圖4 系統(tǒng)數(shù)據(jù)模型

表1 用戶表(User)

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

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

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

圖7 手動控制界面

圖8 系統(tǒng)設(shè)置界面
“智能農(nóng)業(yè)”是短短數(shù)年來迅猛發(fā)展起來的一種農(nóng)業(yè)新模式,憑借當(dāng)前條件已基本成熟的移動通信網(wǎng)絡(luò)、數(shù)據(jù)獲取工具以及控制設(shè)備,正逐漸得以實(shí)現(xiàn)。文中基于Android平臺的智能農(nóng)業(yè)系統(tǒng)的開發(fā)能更好地服務(wù)農(nóng)業(yè)生產(chǎn),通過聯(lián)想智能農(nóng)業(yè)系統(tǒng)設(shè)備的模擬,主要完成了智能農(nóng)業(yè)系統(tǒng)中服務(wù)端和Android客戶端的設(shè)計與實(shí)現(xiàn),用戶可以實(shí)時監(jiān)控農(nóng)作物生產(chǎn)環(huán)境,遠(yuǎn)程控制相關(guān)設(shè)備,甚至有其他工作時用戶可以調(diào)節(jié)相關(guān)閥值使農(nóng)業(yè)生產(chǎn)環(huán)境實(shí)現(xiàn)自我控制。改變了粗放式的管理模式,在這種生產(chǎn)管理方式下,做到農(nóng)業(yè)生產(chǎn)環(huán)境的準(zhǔn)確性數(shù)據(jù)獲取和顯示,能夠很好的減少農(nóng)業(yè)勞動力和生產(chǎn)成本,提升農(nóng)業(yè)生產(chǎn)效率。
[1]李圣華,肖傳輝.基于物聯(lián)網(wǎng)技術(shù)的智能農(nóng)業(yè)系統(tǒng)設(shè)計[J].科技廣場,2011(7):73-75.
[2]王冬.基于物聯(lián)網(wǎng)的智能農(nóng)業(yè)監(jiān)測系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2013.
[3]趙春江,薛緒掌,王秀,等.精準(zhǔn)農(nóng)業(yè)技術(shù)體系的研究進(jìn)展與展望[J].農(nóng)業(yè)工程學(xué)報,2003,19(4):7-11.
[4]殷西祥,盛慧君.基于Android平臺的移動學(xué)習(xí)系統(tǒng)[J].新鄉(xiāng)學(xué)院學(xué)報,2014,31(12):34-37.
[5]張榮超,沈陽.Android項(xiàng)目實(shí)戰(zhàn):智能農(nóng)業(yè)移動管理系統(tǒng)開發(fā)[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
[責(zé)任編輯、校對:王興全]
2016-10-18
安徽省高校自然科學(xué)研究項(xiàng)目“面向移動終端的智能農(nóng)業(yè)系統(tǒng)研究”(KJSM201602);安徽商貿(mào)職業(yè)技術(shù)學(xué)院自然科學(xué)研究項(xiàng)目“基于興趣度的移動學(xué)習(xí)系統(tǒng)研究”(2016KYZ07);安徽省高校自然科學(xué)研究項(xiàng)目“基于edX平臺的云計算課程實(shí)訓(xùn)MOOC系統(tǒng)研究”(KJ2015A373);安徽省教學(xué)質(zhì)量工程項(xiàng)目“軟件技術(shù)專業(yè)綜合改革試點(diǎn)”(2014zy119)。
殷西祥(1984—),男,安徽安慶人。安徽商貿(mào)職業(yè)技術(shù)學(xué)院講師,碩士,研究方向:數(shù)據(jù)挖掘,移動互聯(lián)網(wǎng)應(yīng)用開發(fā),高職教育教學(xué)等。