基于Android平台的智能农业系统的设计与实现
2017-06-08殷西祥
殷西祥
(安徽商贸职业技术学院 电子信息工程系,安徽 芜湖 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等。
1 系统功能模块设计
该系统包括服务端与客户端两个部分。a)服务端主要功能模块为传感器数据获取模块、数据交互模块(将数据传递给客户端)、用户管理模块和日志管理模块等,如图1所示。其中,数据获取模块包括对土壤温湿度、CO2浓度、光照强度和空气温湿度等传感器数据的获取;用户管理模块包括对用户基本信息的增、删、改、查等功能;数据交互模块包括对获取到的土壤温湿度、CO2浓度、光照强度和空气温湿度等传感器数据为Android客户端提供接口;日志管理记录下用户在客户端的操作信息等。b)客户端主要包括用户管理模块、环境指标模块、历史数据查询模块、自动控制模块和远程控制模块等,如图2所示。其中,环境指标模块包括从服务端接口获取到的土壤温湿度、CO2浓度、光照强度和空气温湿度等传感器数据的动态显示;历史数据查询包括在一定时间内对各个环境指标的数据查询功能;远程控制模块包括对LED光源、风扇、水泵和蜂鸣器等的远程控制;自动控制模块是指在一定阀值控制下使联想智能农业系统设备自动开关LED光源、风扇、水泵和蜂鸣器等设备。智能农业系统客户端的活动如图3所示,主要描述了用户的基本操作。
图1 智能农业系统服务端
图2 智能农业系统客户端
图3 系统活动图
2 基于Android平台的智能农业系统数据库设计
数据库是一个软件系统的重要组成部分,数据库的设计显得尤为重要,基于Android平台智能设备使用的数据库是SQLite数据库。SQLite数据库是一种轻量级的关系型数据库,广泛运用于移动设备中。由于智能设备存储容量相对普通PC来说是有限的,因此本系统尽量少存储信息在数据库中,只将用户信息和从服务端获取到的传感器的值存放在数据库中,来提供客户端用户查询历史数据功能的数据获取。其数据模型图如图4所示,数据库具体设计如表1、表2所示。
图4 系统数据模型
表1 用户表(User)
表2 传感器属性值表(SensorValue)
3 智能农业系统Android客户端详细设计与实现
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 系统设置界面
4 结语
“智能农业”是短短数年来迅猛发展起来的一种农业新模式,凭借当前条件已基本成熟的移动通信网络、数据获取工具以及控制设备,正逐渐得以实现。文中基于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—),男,安徽安庆人。安徽商贸职业技术学院讲师,硕士,研究方向:数据挖掘,移动互联网应用开发,高职教育教学等。