殷西祥
(安徽商貿(mào)職業(yè)技術(shù)學(xué)院 電子信息工程系,安徽 蕪湖 241002)
基于Android平臺(tái)的智能農(nóng)業(yè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
殷西祥
(安徽商貿(mào)職業(yè)技術(shù)學(xué)院 電子信息工程系,安徽 蕪湖 241002)
設(shè)計(jì)并實(shí)現(xiàn)了一套基于Android平臺(tái)的智能農(nóng)業(yè)系統(tǒng)。該系統(tǒng)能將通過(guò)傳感器搜集到的土壤溫濕度、CO2濃度等環(huán)境指標(biāo)信息實(shí)時(shí)顯示在Android平臺(tái)的智能設(shè)備上;同時(shí),能遠(yuǎn)程或自動(dòng)控制水泵、光照、風(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)者基本上都是通過(guò)自己的感覺(jué)或經(jīng)驗(yàn)來(lái)進(jìn)行農(nóng)業(yè)生產(chǎn)的。例如:澆水、溫度控制等一系列操作,只能算是一種粗放式的管理模式,在這種生產(chǎn)管理方式下,通過(guò)人的感知能力來(lái)管理上述環(huán)境參數(shù),是無(wú)法做到準(zhǔn)確性要求的[1-2]。而通過(guò)應(yīng)用物聯(lián)網(wǎng)等信息技術(shù),生產(chǎn)者可以通過(guò)傳感器獲得信息進(jìn)行分析是否進(jìn)行相應(yīng)的操作,能夠較為精確地把握農(nóng)業(yè)生產(chǎn)的操作時(shí)間。本文主要從軟件的角度,通過(guò)聯(lián)想智能農(nóng)業(yè)系統(tǒng)設(shè)備來(lái)模擬實(shí)現(xiàn)數(shù)據(jù)的獲取、展示、預(yù)警和遠(yuǎn)程控制,來(lái)實(shí)現(xiàn)智能農(nóng)業(yè)的核心問(wèn)題之一,即農(nóng)業(yè)信息的獲取、展示和處理[3]。能提高生產(chǎn)者的工作效率,減少勞動(dòng)力,減少生產(chǎn)成本。
該基于Android平臺(tái)的智能農(nóng)業(yè)系統(tǒng)分為服務(wù)端和客戶端兩部分組成,服務(wù)端與客戶端通過(guò)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開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)采用Mysql 5.0,輔助開(kāi)發(fā)工具為Adobe Photoshop CS5等。
該系統(tǒng)包括服務(wù)端與客戶端兩個(gè)部分。a)服務(wù)端主要功能模塊為傳感器數(shù)據(jù)獲取模塊、數(shù)據(jù)交互模塊(將數(shù)據(jù)傳遞給客戶端)、用戶管理模塊和日志管理模塊等,如圖1所示。其中,數(shù)據(jù)獲取模塊包括對(duì)土壤溫濕度、CO2濃度、光照強(qiáng)度和空氣溫濕度等傳感器數(shù)據(jù)的獲?。挥脩艄芾砟K包括對(duì)用戶基本信息的增、刪、改、查等功能;數(shù)據(jù)交互模塊包括對(duì)獲取到的土壤溫濕度、CO2濃度、光照強(qiáng)度和空氣溫濕度等傳感器數(shù)據(jù)為Android客戶端提供接口;日志管理記錄下用戶在客戶端的操作信息等。b)客戶端主要包括用戶管理模塊、環(huán)境指標(biāo)模塊、歷史數(shù)據(jù)查詢模塊、自動(dòng)控制模塊和遠(yuǎn)程控制模塊等,如圖2所示。其中,環(huán)境指標(biāo)模塊包括從服務(wù)端接口獲取到的土壤溫濕度、CO2濃度、光照強(qiáng)度和空氣溫濕度等傳感器數(shù)據(jù)的動(dòng)態(tài)顯示;歷史數(shù)據(jù)查詢包括在一定時(shí)間內(nèi)對(duì)各個(gè)環(huán)境指標(biāo)的數(shù)據(jù)查詢功能;遠(yuǎn)程控制模塊包括對(duì)LED光源、風(fēng)扇、水泵和蜂鳴器等的遠(yuǎn)程控制;自動(dòng)控制模塊是指在一定閥值控制下使聯(lián)想智能農(nóng)業(yè)系統(tǒng)設(shè)備自動(dòng)開(kāi)關(guān)LED光源、風(fēng)扇、水泵和蜂鳴器等設(shè)備。智能農(nóng)業(yè)系統(tǒng)客戶端的活動(dòng)如圖3所示,主要描述了用戶的基本操作。
圖1 智能農(nóng)業(yè)系統(tǒng)服務(wù)端
圖2 智能農(nóng)業(yè)系統(tǒng)客戶端
圖3 系統(tǒng)活動(dòng)圖
數(shù)據(jù)庫(kù)是一個(gè)軟件系統(tǒng)的重要組成部分,數(shù)據(jù)庫(kù)的設(shè)計(jì)顯得尤為重要,基于Android平臺(tái)智能設(shè)備使用的數(shù)據(jù)庫(kù)是SQLite數(shù)據(jù)庫(kù)。SQLite數(shù)據(jù)庫(kù)是一種輕量級(jí)的關(guān)系型數(shù)據(jù)庫(kù),廣泛運(yùn)用于移動(dòng)設(shè)備中。由于智能設(shè)備存儲(chǔ)容量相對(duì)普通PC來(lái)說(shuō)是有限的,因此本系統(tǒng)盡量少存儲(chǔ)信息在數(shù)據(jù)庫(kù)中,只將用戶信息和從服務(wù)端獲取到的傳感器的值存放在數(shù)據(jù)庫(kù)中,來(lái)提供客戶端用戶查詢歷史數(shù)據(jù)功能的數(shù)據(jù)獲取。其數(shù)據(jù)模型圖如圖4所示,數(shù)據(jù)庫(kù)具體設(shè)計(jì)如表1、表2所示。
圖4 系統(tǒng)數(shù)據(jù)模型
表1 用戶表(User)
表2 傳感器屬性值表(SensorValue)
3.1 環(huán)境指標(biāo)界面設(shè)計(jì)與實(shí)現(xiàn)
用戶注冊(cè)、登錄后,在主界面中用戶可以查看環(huán)境指標(biāo)即土壤溫濕度、CO2濃度、光照強(qiáng)度和空氣溫濕度等傳感器數(shù)據(jù)的實(shí)時(shí)變化,并通過(guò)Grid-View控件顯示,如圖5所示。
功能實(shí)現(xiàn):通過(guò)解析智能農(nóng)業(yè)系統(tǒng)服務(wù)端JSON(JavaScript Object Notation)數(shù)據(jù),將服務(wù)端通過(guò)串口所獲取的傳感器數(shù)值顯示到GridView控件的各個(gè)Item上。系統(tǒng)每一秒刷新一次數(shù)據(jù),實(shí)現(xiàn)環(huán)境指標(biāo)的動(dòng)態(tài)更新,并將所接收到的數(shù)據(jù)持久化到本地SQLite數(shù)據(jù)庫(kù)中。超過(guò)指定的閥值,該指標(biāo)的數(shù)據(jù)背景圖片會(huì)變成黑色,如圖5中CO2濃度異常即顯示黑色圖片,便于用戶發(fā)現(xiàn)并及時(shí)處理問(wèn)題。
圖5 環(huán)境指標(biāo)界面
3.2 歷史查詢界面設(shè)計(jì)與實(shí)現(xiàn)
通過(guò)圖6所示的歷史查詢界面,用戶可以對(duì)各傳感器的歷史數(shù)據(jù)進(jìn)行查詢功能[5]。在該界面中,選擇對(duì)應(yīng)的傳感器,再選擇需要查詢的時(shí)間段,點(diǎn)擊【查詢】按鈕,該界面可以將滿足條件的數(shù)值以圖表的形式展現(xiàn)出來(lái)。其中不正常的即超出閥值范圍的數(shù)據(jù)圖表中的點(diǎn)為灰色,正常為黑色,也是方便用戶對(duì)歷史數(shù)據(jù)進(jìn)行相關(guān)的觀察和分析。方便用戶對(duì)過(guò)去的數(shù)據(jù)進(jìn)行了解、分析從而安排接下來(lái)的工作。
功能實(shí)現(xiàn):其中傳感器類型和查詢周期可以用Spinner控件實(shí)現(xiàn),其中數(shù)據(jù)可以配置到Strings.xml文件中。查詢的結(jié)果折線圖的展示部分可以通過(guò)Android平臺(tái)下較好的圖形報(bào)表開(kāi)發(fā)庫(kù)achartengine實(shí)現(xiàn)。具體DEMO及幫助文檔可參見(jiàn)該項(xiàng)目的地址:http://code.google.com/p/achartengine/。
圖6 歷史查詢界面
3.3 手動(dòng)控制設(shè)計(jì)與實(shí)現(xiàn)
手動(dòng)控制即遠(yuǎn)程控制設(shè)計(jì)如圖7所示,包括對(duì)LED光源、風(fēng)扇、水泵和蜂鳴器等的遠(yuǎn)程控制,達(dá)到通過(guò)Android設(shè)備來(lái)遠(yuǎn)程操作聯(lián)想智能農(nóng)業(yè)設(shè)備的功能[6]。通過(guò)模擬實(shí)現(xiàn)當(dāng)農(nóng)田缺少相關(guān)環(huán)境指標(biāo)時(shí)及時(shí)的遠(yuǎn)程通風(fēng)、補(bǔ)充光照等功能。
功能實(shí)現(xiàn):點(diǎn)擊圖中所示圖片按鈕可以通過(guò)智能農(nóng)業(yè)系統(tǒng)客戶端傳遞相關(guān)JSON數(shù)據(jù)到服務(wù)端,服務(wù)端通過(guò)解析JSON數(shù)據(jù),并通過(guò)串口對(duì)相關(guān)的設(shè)備進(jìn)行操作。操作完成后,服務(wù)端會(huì)傳遞JSON數(shù)據(jù)給客戶端,客戶端解析出接收到的數(shù)據(jù)內(nèi)容,彈出相關(guān)提示或切換圖片背景,便于用戶遠(yuǎn)程操作并及時(shí)了解操作是否如期完成。
4.4 系統(tǒng)設(shè)置設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)設(shè)置界面如圖8所示,包括了中英文切換、自動(dòng)控制、閥值設(shè)置、版本信息、聯(lián)系我們等功能。此處介紹自動(dòng)控制部分功能,自動(dòng)控制與上文中的手動(dòng)控制即遠(yuǎn)程控制是相對(duì)而言的,當(dāng)在系統(tǒng)設(shè)置為自動(dòng)控制時(shí),智能農(nóng)業(yè)系統(tǒng)服務(wù)端自動(dòng)起作用,進(jìn)行相關(guān)的環(huán)境的調(diào)節(jié)功能和開(kāi)啟相關(guān)控制器的功能,使得農(nóng)業(yè)模擬生產(chǎn)環(huán)境處于全托管的狀態(tài)。
功能實(shí)現(xiàn):通過(guò)智能農(nóng)業(yè)系統(tǒng)客戶端傳遞相關(guān)JSON數(shù)據(jù)到服務(wù)端,服務(wù)端通過(guò)解析JSON數(shù)據(jù),將通過(guò)串口對(duì)相關(guān)的控制器在一定的邏輯下進(jìn)行自動(dòng)操作。
圖7 手動(dòng)控制界面
圖8 系統(tǒng)設(shè)置界面
“智能農(nóng)業(yè)”是短短數(shù)年來(lái)迅猛發(fā)展起來(lái)的一種農(nóng)業(yè)新模式,憑借當(dāng)前條件已基本成熟的移動(dòng)通信網(wǎng)絡(luò)、數(shù)據(jù)獲取工具以及控制設(shè)備,正逐漸得以實(shí)現(xiàn)。文中基于Android平臺(tái)的智能農(nóng)業(yè)系統(tǒng)的開(kāi)發(fā)能更好地服務(wù)農(nóng)業(yè)生產(chǎn),通過(guò)聯(lián)想智能農(nóng)業(yè)系統(tǒng)設(shè)備的模擬,主要完成了智能農(nóng)業(yè)系統(tǒng)中服務(wù)端和Android客戶端的設(shè)計(jì)與實(shí)現(xiàn),用戶可以實(shí)時(shí)監(jiān)控農(nóng)作物生產(chǎn)環(huán)境,遠(yuǎn)程控制相關(guān)設(shè)備,甚至有其他工作時(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è)勞動(dòng)力和生產(chǎn)成本,提升農(nóng)業(yè)生產(chǎn)效率。
[1]李圣華,肖傳輝.基于物聯(lián)網(wǎng)技術(shù)的智能農(nóng)業(yè)系統(tǒng)設(shè)計(jì)[J].科技廣場(chǎng),2011(7):73-75.
[2]王冬.基于物聯(lián)網(wǎng)的智能農(nóng)業(yè)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2013.
[3]趙春江,薛緒掌,王秀,等.精準(zhǔn)農(nóng)業(yè)技術(shù)體系的研究進(jìn)展與展望[J].農(nóng)業(yè)工程學(xué)報(bào),2003,19(4):7-11.
[4]殷西祥,盛慧君.基于Android平臺(tái)的移動(dòng)學(xué)習(xí)系統(tǒng)[J].新鄉(xiāng)學(xué)院學(xué)報(bào),2014,31(12):34-37.
[5]張榮超,沈陽(yáng).Android項(xiàng)目實(shí)戰(zhàn):智能農(nóng)業(yè)移動(dòng)管理系統(tǒng)開(kāi)發(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é)任編輯、校對(duì):王興全]
2016-10-18
安徽省高校自然科學(xué)研究項(xiàng)目“面向移動(dòng)終端的智能農(nóng)業(yè)系統(tǒng)研究”(KJSM201602);安徽商貿(mào)職業(yè)技術(shù)學(xué)院自然科學(xué)研究項(xiàng)目“基于興趣度的移動(dòng)學(xué)習(xí)系統(tǒng)研究”(2016KYZ07);安徽省高校自然科學(xué)研究項(xiàng)目“基于edX平臺(tái)的云計(jì)算課程實(shí)訓(xùn)MOOC系統(tǒng)研究”(KJ2015A373);安徽省教學(xué)質(zhì)量工程項(xiàng)目“軟件技術(shù)專業(yè)綜合改革試點(diǎn)”(2014zy119)。
殷西祥(1984—),男,安徽安慶人。安徽商貿(mào)職業(yè)技術(shù)學(xué)院講師,碩士,研究方向:數(shù)據(jù)挖掘,移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā),高職教育教學(xué)等。
樂(lè)山師范學(xué)院學(xué)報(bào)2017年4期