王建春 徐義鑫 王勇 李鳳菊 呂雄杰 杜彥芳 張雪飛 錢春陽
摘要:病蟲害的診斷和防治是保障農業安全生產的重要環節,診斷的實時性和防治的有效性是必須解決的首要問題。本文建立了基于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.