基于Android的互联网植物医生服务平台
2018-08-14王建春徐义鑫王勇李凤菊吕雄杰杜彦芳张雪飞钱春阳
王建春 徐义鑫 王勇 李凤菊 吕雄杰 杜彦芳 张雪飞 钱春阳
摘要:病虫害的诊断和防治是保障农业安全生产的重要环节,诊断的实时性和防治的有效性是必须解决的首要问题。本文建立了基于Android的互联网植物医生服务平台,创建了农作物病虫害数据库、诊断规则库,并通过基于Android智能手机的植物医生APP提供农业病虫害专家远程诊断和基于专家系统的自助诊断,建立了全天候的病虫害诊断服务模式,使农民“足不出户”即可得到植保专家的防治指导,解决作物生产过程中“求医难”的问题。另外,专家还可根据农民咨询的情况,对病虫害的分布与发生进行分析预警。
关键词:Android;互联网;病虫害;远程诊断;专家系统
中图分类号:S126:S43文献标识号:A文章编号:1001-4942(2018)05-0147-05
Abstract The diagnosis and prevention of diseases and pests is an important link to ensure the safe production of agriculture. Real-time diagnosis and effectiveness of prevention and cure are the primary problems that must be solved. In this paper, an Android-Based Internet Service Platform of plant doctor is established. The platform creates database of plant diseases and pests, and diagnoses rules. Through the remote diagnosis of plant pests and diseases and the self-diagnosis of expert system based on the plant doctor Android APP, the all-day diseases and pests diagnosis service mode was established. This mode can ensure farmers get the prevention and cure guidance from plant protection experts without leaving the fields, and solve the problem of difficult to get crop protection guidance. In addition, experts can also analyze and predict the distribution and occurrence of diseases and pests according to the farmers consultation.
Keywords Android; Internet; Plant diseases and pests; Remote Diagnosis; Expert System
病蟲害是我国农业生产的主要灾害之一,防治不及时易造成较大的经济损失[1],是农民关注的重要问题。病虫害的实时、准确诊断是对其进行及时有效防治的关键。随着互联网技术的快速发展,远程诊断已被广泛应用于农业病虫害防治方面。作物病虫害的远程诊断方式主要有基于专家系统[2]和基于面对面交互式[3]两种。如北京市蔬菜病虫害远程诊治专家系统[4]、葡萄病害智能决策支持系统[5]、广西玉米病虫害诊断决策专家系统[6]、玉米病害诊断系统[7]、黄瓜病害诊断系统[8]等,均为基于专家系统的远程诊断;而作物病虫害专家在线视频诊断系统[9]、果树病虫害可视化诊断系统[10]、农技专家远程诊断系统[11]等,均为基于面对面交互式的远程诊断。但是,在实际使用过程中,专家系统只能根据用户选择的已有症状关键字进行诊断,对新出现的病虫害很难给出准确的诊断方案;而面对面交互式诊断,则面临专家数量不能满足农民需求的难题。
近年来,随着Android智能手机在农民中的普及以及移动互联网的发展,产生了多个基于Android的远程诊断系统,农民通过Android手机即可获得生产技术指导与农业资讯,极大地促进了农业生产效率的提高[12-17]。
本文通过建立农作物病虫害数据库、诊断规则库,以互联网为媒介,以Android智能手机为载体,搭建了结合病虫害自助诊断与专家远程交互诊断两种方式的植物医生服务平台。农民既可通过专家系统自助诊断,也可直接询问在线专家,较好地解决了两种病虫害远程诊断方式的弊端。
1 平台架构
该平台分为基于B/S架构的后台管理系统与基于C/S架构的Android客户端,采用MVC模式[18]设计。根据平台功能需求及架构设计原则,采用多层架构设计,具体分为应用层、数据处理层及数据层。平台架构如图1所示。
1.1 应用层
负责与用户交互。管理员通过后台管理系统对平台及用户进行管理。农民通过Android客户端进行病虫害诊断及获取农业资讯。专家既可通过后台管理系统也可通过Android客户端对农民的问题进行解答。
1.2 数据处理层
应用层通过网络将数据传递到服务器,服务器端的数据处理层负责对数据进行操作,并通过Service、DAO等实现与数据库的交互,完成数据的增删改查。
1.3 数据层
数据层主要是存储数据库,主要存储用户信息、资讯信息、问答信息、病虫害信息、诊断信息等。不同于文献[12]的系统,本平台的Android客户端自身无数据库,所有数据均存储于服务器数据库,后台管理系统与Android客户端共用同一个数据库,方便数据及时更新同步,同时也避免了Android客户端的频繁更新。
2 平台功能模块的设计及实现
平台功能模块分为植物医生管理中心(后台管理系统)与植物医生Android APP(Android客户端)两部分(图2)。
2.1 植物医生管理中心
植物医生管理中心以MyEclipse 2017为开发平台,采用Spring + Spring MVC + Mybatis框架(该框架凭借良好的性能和较快的开发效率,逐渐成为主流的Web应用开发框架组合[19]),以Java语言开发,分为资讯管理、问诊管理、知识库管理、用户管理与个人信息管理五个功能模块。
2.1.1 资讯管理 在该模块中,管理员或专家用户可以发布、查看、修改、删除资讯,管理员还可管理资讯类型。资讯包括农业相关的市场信息、政策法规、致富经等。此模块所发资讯均可在植物医生Android APP进行查看,帮助农民获得第一手信息。
2.1.2 问诊管理 该模块包括查询、回答、修改、删除问题及删除回答功能。管理员拥有所有权限,而专家用户只能操作与自己相关的数据。为了便于专家掌握病虫害分布,平台还提供了基于GIS的问题查询功能,如图3所示,可依据提问时间、作物、专业领域对问题进行查询,查询结果按照提问者的定位信息显示在地图中,点击蓝色图标可显示问题概要信息,点击标题可进入问题详细页面。专家可通过对地图中问题分布的分析,更加直观地掌握某一时间段内某一地区作物病虫害概况,并据此对防治工作进行决策部署,发布病虫害情报。
2.1.3 知识库管理 专家用户可对作物信息、病害信息、虫害信息、诊断规则进行管理,包括查询、添加数据,删除、修改自己录入的数据。专家可根据实际情况,随时添加新病虫害信息或调整已有病虫害防治方案,以满足农民自助诊断的需要。在管理中心对任何数据的更新都会同步反馈在Android APP中,保证了数据的一致性。
2.1.4 用户管理 该模块仅对管理员开放,只有管理员才能进入并有操作权限,专家用户页面中无此模块。管理员可对用户进行添加、查询、修改、删除操作,也可对新注册用户进行审核。
2.1.5 个人信息管理 该模块包括个人信息及密码修改功能。
2.2 植物医生Android APP
植物医生Android APP以Android Studio 3.0.1为开发平台,采用兼具原生本地应用与Web应用优势[20]的hybrid开发方式,以Java语言开发,分为“首页”、“问诊”、“发现”、“我的”4个主要Fragment页面。
2.2.1 首页 包括了APP的大部分功能,如图4所示。农民可通过查看农业资讯、病虫情报、热门问题来了解农业新闻、植保动态,其中,资讯与问题在查看时均可进行收藏;通过查询植保知识获取生产指导信息;还可链接到专家问诊及快速提问页面;另外,农民使用“自助诊断”,只需要做出4~7步选择,即可获得作物病虫害相关防治指导方案(图5)。该功能界面友好,使用简单,方便快捷。
2.2.2 问诊 若通过“自助诊断”没有查到相关解决方案,农民還可以使用“问诊”功能,如图6(a)所示,包括询问专家、快速提问、搜索问题、查看、回答问题。询问专家时须指定要回答问题的专家,如图6(b);快速提问的问题则可由值班专家或其他普通用户作答。提问时需填写问题标题、问题内容、选择或拍摄症状图片、作物、领域等内容,而定位信息可根据病虫害发生地点进行变更。查看问题详细页面时可对问题进行收藏,以便将来遇到相似问题时作为参考。
2.2.3 发现 该页面包括“附近”与“扫一扫”两个功能。“附近”功能可以基于地图对当前定位附近感兴趣的地点进行搜索;“扫一扫”功能可扫描二维码。这两个功能可帮助农民查找附近的农资店、获取农资信息等,是较方便的两个小工具。
2.2.4 我的 该页面包括修改个人信息和密码、查看“我”提问的问题、修改“我”回答问题的答案、查看收藏的资讯或问题,也可对资讯或问题取消收藏。
3 病虫害数据模型设计
3.1 病虫害数据库设计
病虫害数据库设计如图7所示。为了便于保存与及时更新,病虫害详细信息均以网页形式存储于服务器,在数据库中只保存相应网页路径。另外,不同于作物与病害的一对多关系,作物与虫害为多对多关系,因此,建立了虫害作物对应表。
3.2 病虫害自助诊断规则设计
由于病害与虫害诊断原理、依据均不同,因此,需要分别设计自助诊断规则。
3.2.1 病害自助诊断规则设计 病害自助诊断以发病作物的部位、症状作为诊断规则,通过逐步选择症状推理出作物所得病害并链接到相关病害防治信息网页。病害诊断流程如图8左半部分所示。诊断规则以树形结构存储于数据库中,以番茄病害为例,如图8右半部分所示。
3.2.2 虫害自助诊断规则设计 虫害自助诊断以害虫的形态及特征作为诊断规则,逐步判断出害虫种类并链接到相应虫害治理信息网页。虫害诊断流程如图9所示。每条诊断规则各自独立,单独存储于数据库中。
4 小结
本文设计的结合作物病虫害自助诊断与专家远程问答两种方式的植物医生服务平台,既克服了专家系统病虫害信息更新慢的缺点,又解决了远程交互方式专家不足的问题。以Android智能手机作为载体,方便在农民中推广应用。该平台在实际应用过程中对当地农民科学、合理、有效地防治病虫害产生了积极的推动作用。随着平台的使用及改进,将不断扩充病虫害数据库、诊断规则库,以进一步扩大平台的服务范围。
参 考 文 献:
[1] 武振国, 李艳翠. 植物病虫害智能问答系统设计与实现[J]. 农业网络信息, 2017(1):70-76.
[2] 刘孝永, 王未名, 封文杰,等. 病虫害专家系统研究进展[J]. 山东农业科学, 2013, 45(9):138-143.
[3] 谭三清, 尹芳志, 张贵, 等. 森林病虫害远程诊断及实现[J]. 中南林业科技大学学报, 2009, 29(6):189-192.
[4] 邵刚, 李志红, 王维瑞, 等. 北京地区蔬菜病虫害远程诊治专家系统VPRDES的研究[J]. 植物保护, 2006, 32(1):51-54.
[5] 英明. 基于Web的葡萄病害诊断智能决策支持系统的分析与研究[D]. 杨凌:西北农林科技大学, 2007.
[6] 闫飞燕, 文仁来, 张述宽, 等. 广西玉米病虫害诊断决策专家系统的建立与应用[J]. 南方农业学报, 2006, 37(4):374-378.
[7] 明博, 赖军臣, 王娜, 等. 基于图像规则的玉米病害诊断系统的设计与实现[J]. 玉米科学, 2009, 17(6):132-135.
[8] 温皓杰, 张领先, 傅泽田, 等. 基于Web的黄瓜病害诊断系统设计[J]. 农业机械学报, 2010, 41(12):178-182.
[9] 张航, 明花廷, 李乃祥. 作物病虫害专家在线视频诊断系统的设计与实现[J]. 湖北农业科学, 2014, 53(18):4427-4430.
[10]牛孝國, 段洪洋, 夏宁, 等. 基于3G网络的果树病虫害可视化诊断系统研究[J]. 中国农学通报, 2011, 27(30):303-306.
[11]赵蓉蓉, 魏银平, 崔佳威. 农技专家远程诊断系统设计[J]. 工业控制计算机, 2017, 30(1):110-111.
[12]杨林楠, 郜鲁涛, 林尔升, 等. 基于Android系统手机的甜玉米病虫害智能诊断系统[J]. 农业工程学报, 2012, 28(18): 163-168.
[13]李健. 基于Android的病虫害推理诊断系统的设计研究[J]. 安徽农业科学, 2013, 41(11):5148-5150.
[14]贾桂霞, 吴步梅, 张文利. 基于Android的经济林病虫害防治移动服务平台的构建[J]. 兰州工业学院学报, 2015(3):51-55.
[15]Jha A K, Bababe A B, Sahoo A K. Plant disease information generating system based on Android application technology[J]. International Journal of Science & Research, 2017, 6(4):1707-1714.
[16]宁宁, 王玉洁, 韩宝平. 基于Android平台的植物病虫害查询诊断系统的构建[J]. 北京农学院学报, 2013, 28(3):75-77.
[17]李博涵, 王庆全, 李镔洋. Android的智能手机应用开发的分析[J]. 消费电子, 2013(8):60.
[18]任中方, 张华, 闫明松, 等. MVC模式研究的综述[J]. 计算机应用研究, 2004, 21(10):1-4.
[19]李洋. SSM框架在Web应用开发中的设计与实现[J]. 计算机技术与发展, 2016, 26(12):190-194.
[20]王阅蓁. 移动应用的web与native混合编程模式研究与实现[D]. 成都:电子科技大学, 2015.