一 种 智 能 农 业 物 联 网 系 统 的 设 计
2018-01-29付承彪田安红
付承彪, 田安红
(曲靖师范学院 信息工程学院,云南 曲靖 655011)
0 引 言
我国农业的生产效率与地理环境息息相关,如何准确高效的采集农业生产环境所需的信息资源,是现代化信息农业生产和管理的关键[1-3]。随着Android手机的大力发展与推广,为农业的高效生产奠定了信息化服务。本文开发基于Android手机的智能农业物联网监测系统[4-7],旨在使得粗放型的劳动生产方式进行转型,采用现代农业方式,实现精准种植和智能的管理控制。传统农业增长主要依赖于自然环境资源,而现在农业增长可依赖于信息资源,辅助现代化的信息技术,使得传统不可控的农业得到有效的控制。智能农业虚拟平台系统从农业种植管理的角度出发,采用物联网技术在信息化农业中的方式[8-10],来提高农业效率,指导农业生产,改革农业的管理。本系统从温度、湿度、光照强度、二氧化碳浓度四个方面进行数据分析,得到适宜农作物生长的数据,为农业管理者提供有价值的支撑数据。本文开发的智能农业虚拟平台对进一步推广智能农业有一定的参考价值。
1 技术原理
本系统采用的开发语言为Java[11-14],关键技术是布局和数据储存,布局用来设计用户交互界面,用户界面的设计是否美观,是否合理直接影响用户体验,而数据存储技术则记录了用户所有的操作数据,和用户所需要提取的数据信息。在 Android 中,采用xml 技术来设计软件的UI(User Interface),然而在xml中,控件的位置和状态与布局息息相关,在Android系统中常用的布局有5种,绝对布局(AbsoluteLayout)、相对布局(RelativeLayout)、线性布局(LinearLayout)、单帧布局(FrameLayout)、表格布局(TableLayout)。鉴于布局间的互相嵌套作用,Android软件UI的设计变得非常灵活,通过合理使用布局,能够容易地实现复杂界面的设计。同时,可通过Jason数组进行解析数据的功能,利用JSP(动态网页技术)将数据显示网页上,再通过http协议获取网页上的数据。通过Android 技术进行前台开发,本软件系统能够在Android手机上运行,并实现远程操作控制。
2 系统的架构
本系统设计的基于Android智能手机的农业物联网[15-18]实时展示系统,采用的是分层架构的思想。总体结构图如图1所示,分为手机客户端和服务器端,采用的是C/S架构,服务器端通过监视器,收集到无线传感器采集的信息,并将数据保存到数据库,实时的更新农业基地室内情况,以及响应手机客户端的请求。智能设备通过网络从服务器端获取信息,可由网络实现对农业信息查看与农业现场的远程控制,长期监控农业基地农业的生长状况,该系统能降低农民及农业技术人员的劳动强度,提高农业信息化水平。
图1 系统架构图
3 总体设计思路
3.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文件夹。
3.2 手机端的实现
手机端的设计主要考虑便携性,设计基于Android环境的APK应用,利用java语言在Eclipse环境下开发,通过与服务器数据库的交互,在手机客户端,获取从服务器传过来的数据,通过传感器将大棚室内的相关信息(比如说空气温度、湿度、光照、土壤温度、土壤水分)接收过来,通过数据的解析,绘制成柱状图,饼图,折线图等易于直观的形式,可以清晰的看出室内这些适合于农作物生长的指标的变化,实现数据查看功能,以便于实时监控。使用基本的四大组件activity 、service 、Broadcast Receiver、Content Provider来实现功能的控制,基本页面的绘制使用了绝对布局、线性布局、相对布局、单帧布局、表格布局等的互相嵌套,使用组件Intent实现页面逻辑的跳转。
3.3 服务器端的实现
服务器端借助网络与无限传感器之间相连,实时捕捉农业基地的现场信息。同时将信息保存至数据库,负责对数据的分类筛选和综合分析,完成对数据的统计,运算处理,及时更新最新的变化。同时服务端程序提供网络服务与移动客服端进行通信,等待客户端等各类智能设备的链接请求,如果与Android设备连接成功后即可开始监控室内作物的生长情况。
4 仿真结果
智能农业虚拟平台系统的主界面如图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 光照强度值
5 结 语
(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.