孙翠华 王锋
摘要:针对枇杷[Eriobotrya japonica (Thunb.) Lindl.]生长过程中出现的常见病害,建立了枇杷病害数据库,研究了基于PhoneGap的系统开发框架和功能模块及病害诊断的流程设计,并在Android 和iOS操作系统上分别进行了测试,测试结果表明,该系统在各种移动终端上运行稳定,具有良好的跨平台性,农民使用起来很方便,便于推广。
关键词: 枇杷[Eriobotrya japonica (Thunb.) Lindl.];病害诊断; PhoneGap;专家系统;跨平台
中图分类号:S126;S24;S436.6 文献标识码:A 文章编号:0439-8114(2015)19-4825-04
DOI:10.14088/j.cnki.issn0439-8114.2015.19.044
Abstract: According to the common diseases during the growth of loquat, loquat diseases database was established. Based on PhoneGap, this paper presented a kind of framework and function modules to diagnose the loquat diseases, and the system was tested via both Android and iOS operating systems. The results showed that the loquat diseases diagnosis system ran stably at various kinds of mobile terminals and due to its convenience and cross platform, the system could be easily operated by farmers.
Key words:loquat[Eriobotrya japonica (Thunb.) Lindl.];diagnose diseases;PhoneGap;expert system; cross platform
随着智能手机在中国的发展及普及,基于智能手机的APP开发也越来越广泛,由于其便携性和操作简单,在各行各业中的应用也越来越多。对于智能手机在植物病害识别方面的应用,农业科研人员开展了大量的研究,如江西农业大学的吴沧海老师等设计了基于Android智能手机油菜病害识别系统[1],郑州轻工业学院的夏永泉教授团队研究了基于Android的植物叶片图像病害检测[2],云南农业大学的杨林楠老师等开发了基于Android系统手机的甜玉米病虫害智能诊断系统[3]。到目前为止,有关智能手机在枇杷[Eriobotrya japonica (Thunb.) Lindl.]病害诊断方面的研究论文在中国知网、万方数据知识服务平台等还未检索到。
由于Android操作系统的开源性,目前的大多数移动农业技术如农业专家系统都是应用在Android手机上的[4,5],不能应用在苹果手机上。本研究与设计的枇杷病害诊断系统采用跨平台的PhoneGap技术,建立了枇杷知识库和病害数据库。该数据库收录了枇杷病害的发生部位、发生时期、病害形状、病症、病害图片和防治方法等。该系统既能在Android手机上运行,又能在苹果手机、iPad等智能终端上运行,满足了不同操作系统的智能终端用户的需求,方便了种植户的使用,便于推广。
1 枇杷病害知识及病害数据库建立
枇杷美味可口,具有较高的营养价值和药用价值,深受广大消费者的喜爱。但是枇杷病害种类多,危害严重,容易导致枇杷树势早衰、产量降低和品质下降,另外目前枇杷树的种植都是在户外,基本属于“望天收”的状况,严重影响种植户的经济效益[6]。因此,做好枇杷病害的诊治工作是保证枇杷高产、优质、增加收益的重要环节。
枇杷树常见的病害有60多种,根据枇杷病害的发生部位、发生时期、病害形状、病症、病害图片等建立枇杷病害数据库,并给出每种病害的防治方法,利用植物病害的二值化描述方法建立了枇杷病害XML数据库,保存为Loquat_diseases.xml文件,具体描述如下:
2 系统总体架构
系统总体架构如图1所示,整个系统分为4层,从顶层至底层分别是应用层、网络层、技术支撑层和数据服务层,整个系统采用了W3C标准,对各个平台具有很好的兼容性。
2.1 应用层
应用层是用户的入口层,农民、专家和管理员通过智能手机从该层进入系统,访问系统的主功能模块,如枇杷知识库、病害诊断、系统管理功能。
2.2 网络层
网络层是系统和服务器的主要通信中心,可以使用2G、3G、4G、WLAN等主流移动通信技术进行与服务器的通信。
2.3 技术支撑层
技术支撑层是整个系统的核心,系统利用HTML5、CSS、JavaScript、jQuery Mobile技术通过PhoneGap分别调用不同平台的API,如果开发能在Android平台运行的系统,需要调用Android API,如果开发能在苹果手机运行的系统,需要调用iOS API,然后通过Ajax和Json实现与数据服务层通信。
2.4 数据服务层
数据服务层是整个系统的数据支撑,包含了枇杷知识库、病害数据库。
3 主要技术
枇杷病害诊断系统的开发主要应用了跨平台的PhoneGap技术、jQueryMobile技术、JavaScript+HTM5技术等移动APP开发技术。
3.1 PhoneGap技术
PhoneGap是一款基于HTML、JavaScript和jQuery Mobile等技术的开源框架,其拥有的丰富插件可以直接调用智能手机的核心功能,如摄像头、GPS、声音、WLAN、照相机等,使开发者能快速开发出跨平台的移动应用程序,另外PhoneGap采用W3C标准,开发的移动应用程序Web App能直接运行,其卓越的兼容性完全做到了“Written Once,Run Everywhere”,而不需要针对不同的操作平台进行单独的开发。
3.2 jQuery Mobile技术
jQuery Mobile是jQuery团队开发的用于创建移动Web应用程序的免费的、开源的移动UI框架,包含了各种针对触摸操作的过渡、按钮、图标、工具栏、导航栏等优化的用户组件以及页面转换效果,如slide(滑动)、pop(弹出窗口)、fade(淡入淡出)等,支持Apple iOS、Android、Blackberry Torch、WindowsPhone、Pixi等全球主流的移动操作系统,方便了开发者的使用。
3.3 JavaScript技术
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,由Netscape公司与Sun公司合作开发,常用来给HTML网页添加特效和动态效果,可广泛用于电脑、笔记本电脑、智能手机、平板电脑等设备Web应用系统的开发。
3.4 HTML5技术
HTML5是超文本标记语言Hyper Text Markup language(HTML)的最新规范,是随着智能手机的普及而发展起来的。目前基于HTML5技术开发的APP由于其良好的兼容性被各种移动浏览器所支持,为实现跨平台应用的开发奠定了基础[7]。
4 系统实现
4.1 系统开发环境
本系统是一个Web应用程序,在配置开发环境的时候可以采用PhoneGap+Dreamweaver集成开发环境,再针对不同的移动平台安装相应的SDK包,进行安卓系统开发的时候需要安装Android SDK,进行苹果系统开发的时候需要安装iOS SDK。
4.2 系统功能模块设计
系统主要功能模块设计如图2所示,系统主要包括三大功能模块,分别为枇杷知识库、病害诊断、系统管理。枇杷知识库模块为用户提供了枇杷种植的基础知识,包括7个功能模块,分别为枇杷概况、枇杷历史、枇杷品种、枇杷价值(包含食用价值和药用价值)、枇杷栽培、病害防治、枇杷存储。枇杷病害诊断模块为用户提供了两种诊断方法,一种是智能诊断系统,另一种是专家诊断系统。系统管理模块主要是对整个系统的管理,分为:①用户管理。管理用户的个人信息、登录密码等信息;②专家管理。管理专家的个人信息、登录密码等信息;③病害数据库管理。及时更新和修改病害数据库,确保病害数据库的实时性;④知识库管理。及时更新和修改病害知识库,确保枇杷知识库的实时性。
4.3 病害诊断流程
枇杷病害的诊断流程如图3所示,枇杷种植户(系统用户)登录之后,进入病害诊断功能页面,该页面用户可以根据需求选择使用智能诊断还是专家诊断系统,需要输入病害的发病部位、发病时期和病症,系统根据病害信息使用推理机进行病害的推理,推理机从病害数据库得出病害的名称,并调出该病害对应的病症描述、图片和防治方法,最后把结果反馈给用户,该智能诊断系统可以快速得到病害信息,给用户提供了实时帮助。如果用户选择使用专家诊断系统,系统会自动调用智能手机的拍照功能,拍下病害照片并上传到专家咨询平台,专家登录该系统,进入专家咨询平台,根据收到的病害照片,给出病害诊断,同时系统自动把诊断结果发送到用户智能手机的平台上。
5 系统测试和仿真试验
为了检验系统在主流移动操作平台上运行的兼容性和稳定性,分别在Android和iOS操作平台上进行了测试。根据不同机型的热销程度,选用了近两年深受消费者青睐的手机作为测试机型,搭载Android操作平台的机型选用了3个不同生产商的机型,分别是Samsung GALAXY Note3、小米2、华为G6-C00;苹果操作平台选用的机型是iPhone 4s和iPhone 5。
图4是枇杷知识库的运行界面,该页面分别显示了枇杷概况、枇杷历史、枇杷品种、枇杷价值、枇杷栽培等七大功能的导航条,用户点击之后可以进入相应的知识库。图5是对枇杷灰斑病的诊断,系统不仅给出相应病症图片供用户对比,还详细说明了病状、危害、病因,并提供了防治方法。测试结果表明本系统在各操作系统上均能稳定运行。
6 结论
基于PhoneGap技术开发的枇杷病害诊断系统实现了同一系统在各种平台的重复使用,减少了开发成本,提高了研发效率。该系统目前提供了枇杷常见的60多种病害的智能诊断,在后续的研究中需要进一步扩大病害数据库,提供更多地区更多品种的枇杷病害的智能诊断,收集和完善枇杷的虫害数据库,给农民提供更全面的防治技术。
参考文献:
[1] 吴沧海,熊焕亮,何火娇.基于Android智能手机油菜病害识别系统设计[J].中国农机化学报,2013,34(4):257-260.
[2] 夏永泉,王会敏,曾 莎.基于Android的植物叶片图像病害检测[J].郑州轻工业学院学报,2014,29(2):71-74.
[3] 杨林楠,郜鲁涛,林尔升,等.基于Android系统手机的甜玉米病虫害智能诊断系统[J].农业工程学报,2012,28(18):163-168.
[4] KORTUEM G,KAWSAR F,FITTON D, et al. Smart objects as building blocks for the internet of things[J]. IEEE Internet Computing, 2010, 14(1):44-51.
[5] 程 曼,袁洪波,蔡振江.基于智能手机的农业专家咨询系统设计[J].湖北农业科学,2013,52(15):3673-3676.
[6] 陈福如,陈元洪,翁启勇.枇杷病虫害诊治[M].福州:福建科学技术出版社,2009.
[7] 明日科技.html5从入门到精通[M].北京:清华大学出版社,2012.