基于安卓的智慧农业APP设计与实现

2015-03-02 11:54黄超琼王天宝陈超等
软件导刊 2015年1期

黄超琼 王天宝 陈超等

摘要:农业产业逐步向科技化、便利化、高效化方向发展。分析了智慧农业系统的现状和需求,结合移动互联技术,设计并实现了一款基于Android的智慧农业平台客户端,以解决农业生产中农民即时获取专家指导、实时监控生产条件、高效管理生产过程、科学控制生产成本等难题,为各级职能部门掌握与指导农业生产提供便利。

关键词:智慧农业;移动互联技术;Android

DOIDOI:10.11907/rjdk.143551

中图分类号:TP302

文献标识码:A 文章编号文章编号:16727800(2015)001000103

作者简介作者简介:黄超琼(1990-),女,四川绵阳人,成都信息工程学院通信工程学院硕士研究生,研究方向为计算机网络通信;王天宝(1967-),男,四川剑阁人,硕士,成都信息工程学院通信工程学院教授、硕士研究生导师,研究方向为无线通信技术与应用、嵌入式系统与片上系统设计、通信集成电路设计、智能传感器及传感网;陈超(1779-),男,湖北武汉人,成都信息工程学院通信工程学院副教授,研究方向为移动互联网开发、嵌入式系统设计;张利(1989-),女,四川泸州人,成都信息工程学院通信工程学院硕士研究生,研究方向为无线通信技术与应用。

0 引言

粮食是关系国计民生的重要商品,是关系经济发展、社会稳定和国家自立的基础,保障国家粮食安全是治国安邦的头等大事[1]。作为农业大国,利用有限资源,大力发展农业产业,提高粮食产量至关重要。随着科技的不断进步,“智慧农业”逐渐进入人们的视野。所谓“智慧农业”,就是充分应用现代信息技术成果,集成计算机与网络技术、物联网技术、音视频技术、3S技术、无线通信技术及专家智慧与知识,实现农业可视化远程诊断、远程控制、灾变预警等智能管理。

目前我国智慧农业实现了对农业大棚各项生产指标的监控,在一定程度上促进了农业产业的发展。然而这些平台传递给农户的信息单一化、碎片化,不能为农户提供有力的指导,气象部门提供的气象信息也未能结合农户特定农产品进行生产提示和帮助,在一定程度上使智慧农业的作用大打折扣。

移动互联网近几年得到了快速发展,运用智能手机实时获取农业监控数据和各项指导信息对智慧农业的发展具有重要意义。目前广泛流行的智能手机操作系统主要包括IOS、Android、Windows Phone、黑莓等,其中IOS和Android几乎各占半壁江山。本文设计并实现了一款基于Android的智慧农业平台客户端。

1 系统框架设计

智慧农业平台由硬件实施和软件控制两部分组成。硬件由各种传感器和大棚组成,主要负责监测大棚的各种农业生产数据,如温度、湿度等。软件部分主要负责处理各种生产数据,反馈和控制传感器的动作,同时为农户提供生产信息提示、生产操作记录以及即时通讯功能,系统框架如图1所示。其中服务器1为传感器数据收集与控制服务器,主要负责接收和处理各个传感器传来的数据,并将传感器数据存到数据库1;服务器2是智慧农业系统各个业务逻辑服务器,以Spring+Stuts2为框架进行开发,业务逻辑服务器负责处理客户端的各种业务逻辑,避免用户直接操作数据库2,保证用户数据的安全性;即时通讯功能以Openfire为服务器,客户端采用Asmack包实现,数据库1主要用于存储用户即时聊天信息。

2 服务器设计

服务器端采用Stuts2+Spirng+Mybatis框架进行开发。采用此框架具有开发周期短、功能可靠的优点。本文侧重于Android客户端的设计与实现,因此服务器相关部分不是本文研究的重点。

3 客户端设计

3.1 功能设计

智慧农业的关键在于使农业生产和管理智慧化、便利化、科学化、高效化,为农民提供各种与农业生产相关的信息。根据智慧农业需求,本客户端框架如图2所示,主要包含以下功能模块:气象信息、生产线、实时监控、专家咨询、农业讨论、用户信息以及系统设置[25]。

(1)气象信息:气象信息直接关系到农业生产管理,为用户提供实时气象信息以及相应的灾害预警和生产提示,为农户生活生产提供帮助。

(2)生产线:农业生产是一个漫长的过程,生产线为农户提供操作记录以及资金消费记录,帮助农户把握生产过程,了解并控制生产成本。

(3)实时监控:实时显示大棚内与农业生产相关的各项生产指标,如温度、湿度等;适时提醒农户处理危险状态的大棚,农户可以直接打开或关闭大棚相应操作。

(4)专家咨询:专家咨询是为农服务的重要部分。农民在生产中遇到的各项问题可以直接通过语音、图片、文字的方式向专家咨询,获得专家的实时指导,以解决农业生产中的各项问题。

(5)农业讨论:有经验的农户可以将自己的生产经验在平台上分享,也可以提出某方面的问题供大家一起讨论,获得与农业生产相关的重要信息。

(6)用户信息:为用户提供管理入口,通过此模块更改信息、查看关注好友、发表文章等。

(7)系统设置:提供系统版本更新、分享功能、更改用户等。

3.2 角色控制

系统涉及的用户分为:普通农户、农业专业户、农业各级领导、农业专家、气象人员。不同用户具有不同的权限,登陆平台后看到的信息也不尽相同,角色权限如表1所示。

3.3 网络模块

整个设计中数据的获取都源于远程服务器,因此网络模块是整个系统设计中需要重点考虑的部分。

联网操作耗时,尤其是数据量过大的时候,网络操作如果位于主线程中将阻塞界面,甚至出现“系统无响应”错误。为了使界面运行流畅,需要为联网操作另开线程或者采用异步获取。本设计中选择异步HTTP,即AsyncHttp,在进行网络请求时通过进度条给用户提供联网提示,网络请求完毕再更改界面显示,以解决网络请求造成的界面阻塞问题。

网络请求另一问题是耗流量。一个优秀的程序设计应该既能使界面流畅、数据准确,又能节省用户流量。基于此考虑,单纯利用网络请求获取数据的方式是不可行的。结合Android的数据存储方式(SharePreference、Sqlite、File等),本设计采用Android自身的数据库Sqlite来实现本地数据库与服务器数据库的同步,达到节省流量、界面流畅的目的,本地数据库与服务器数据库同步原理如图3所示。

3.4 界面设计

良好的界面设计能为平台赢得更多的用户,也是软件设计成功的直观体现[6]。本软件的受众群体主要是广大农户,考虑农户自身的特点,界面的主题采用了比较简约的设计风格,同时减少用户直接进行文字输入,加入了语音、图片功能,以方便用户操作。

界面整体风格采用时下比较流行的侧滑菜单(SlidingMenu)和滑动页面(ViewPager)相结合的方式。侧滑菜单使软件的整个功能列表一目了然,无论当前页面处于哪一功能,都可以直接点击菜单上的打开按钮,界面跳转灵活自如。滑动页面的方式与用户翻书的习惯一致,直接滑动屏幕就能实现界面的更换,操作简便。

3.5 数据处理模块

在网络操作中,服务器返回的数据格式一般采用XML解析和JSON解析方式。XML文件庞大、格式复杂、传输带宽宽但是其格式统一、符合标准,与其它系统进行远程交互、数据共享容易。通常用DOM(整个读入内存解析)和SAX(逐行读入内存,可以随时终止解析)进行解析,是比较普遍的一种解析方式[7]。JSON格式简单、占用带宽小,直接通过键值解析数据。对于数据较少的解析一般采用JSON解析,对于大规模数据一般采用XML解析。本设计所涉及的数据量相对较小,格式简单,因此选择JSON格式进行解析。

图3 网络模块数据同步机制

3.6 聊天模块

专家咨询模块是一个即时通讯模块,用户需要通过它实现与专家的实时交流。XMPP是一种跨平台的及时通讯协议,其发展与应用已经相对稳定,因此本设计采用XMPP通信协议。服务器采用现成的Openfire为服务器[5],客户端采用基于XMPP协议的Asmack包,直接调用其中的API接口实现好友添加、文字、图片的传输。对于农民来说很多人不会打字、读字,因此语音功能显得尤其重要。本设计中语音传输的实现原理为:发送端将语音文件经过BASE64进行压缩编码以后传递给接收端,接收端再根据相应的解码方式解析出发送的语音文件,从而实现语音的传递功能。

4 客户端实现

客户端实现采用Java语言,在Eclipse上进行开发。经过分析与测试,系统运行稳定流畅,实现了服务器与客户端的数据同步,并在一定程度上降低了用户流量的使用,实现了农户对各个大棚生产条件的实时监测以及控制。同时,为农业专家及领导提供了广大农户的实时生产情况,提高了农业管理效率。

5 结语

本文设计并实现了一种智慧农业系统的客户端,实现了农户对农业生产的监管、生产操作与生产成本的管理与控制,同时提供了专家咨询辅导功能,为智慧农业的发展提供了思路以及解决方案。本系统还需要实现视频传输功能,实现用户与专家实时、“面对面”的交互。

参考文献参考文献:

[1] 浅谈我国农业发展现状(1)[EB/OL].中商情报网,http://www.askci.com/,2014/1/2.

[2] 刘铁梅,谢国生.农业系统分析与模拟[M].北京:科学出版社,2010.

[3] 陈玮,贾宗璞.利用JSON降低XML数据冗余的研究[J].计算机应用与软件,2012(9):4953.

[4] 孙宝军.JSON与XML的比较[J].内蒙古科技与经济,2009(24):1922.

[5] 黄伟敏.基于XMPP协议的Android即时通讯系统设计[J].电子工程,2011(8):132136.

[6] [美]GREG NUDELMAN. Android应用UI设计模式[M]. 袁国忠,译.北京:人民邮电出版社,2013.

[7] 蔡菁.Android移动终端数据同步技术研究与应用[D].重庆:重庆邮电大学,2011.