趙巧麗,臧賀藏,李國(guó)強(qiáng),王進(jìn)磊,胡 峰,
(1.河南省農(nóng)業(yè)科學(xué)院 農(nóng)業(yè)經(jīng)濟(jì)與信息研究所/河南省智慧農(nóng)業(yè)工程技術(shù)研究中心,河南 鄭州 450002;>2.河南省天下糧倉(cāng)信息技術(shù)有限公司,河南 鄭州 450002)
農(nóng)業(yè)信息采集是國(guó)內(nèi)當(dāng)前研究的熱點(diǎn)之一,有關(guān)農(nóng)田環(huán)境信息[1-2]、土壤信息[3-4]及作物長(zhǎng)勢(shì)信息[5-7]等方面的研究較多,而涉及作物試驗(yàn)過(guò)程中性狀參數(shù)[8]、病蟲(chóng)害[9]等信息采集的研究較少,且大多停留在人工操作階段。因此,亟需借助現(xiàn)代化信息手段,提高數(shù)據(jù)采集效率。隨著移動(dòng)端技術(shù)的迅速發(fā)展,其被快速應(yīng)用到物流、畜牧、農(nóng)業(yè)等不同領(lǐng)域[10-11]。戴建國(guó)等[12]設(shè)計(jì)開(kāi)發(fā)了基于智能手機(jī)的棉花苗情調(diào)查與決策支持系統(tǒng),可快速獲取文字和圖片2種形式的棉田苗情信息。張石銳等[13]利用無(wú)線網(wǎng)絡(luò)通訊實(shí)現(xiàn)手持灌溉控制終端與自動(dòng)灌溉系統(tǒng)中灌溉控制器之間的信息交互,提高了自動(dòng)灌溉控制系統(tǒng)應(yīng)用效率。關(guān)于性狀參數(shù)數(shù)據(jù)獲取,國(guó)內(nèi)外已有一些研究,國(guó)外有表型數(shù)據(jù)采集軟件Phenobook、Fieldbook、Fieldlab等[14],國(guó)內(nèi)有農(nóng)博士育種軟件[15]、基于PDA的作物育種數(shù)據(jù)田間移動(dòng)采集系統(tǒng)[8]等。這些知名軟件主要針對(duì)作物育種過(guò)程研究開(kāi)發(fā),不能滿足栽培、育種區(qū)試、生產(chǎn)試驗(yàn)以及品種比較試驗(yàn)等試驗(yàn)過(guò)程管理對(duì)信息化技術(shù)手段的需求。鑒于此,本研究在充分調(diào)研不同農(nóng)作物、不同試驗(yàn)類(lèi)型數(shù)據(jù)采集過(guò)程的基礎(chǔ)上,結(jié)合射頻識(shí)別技術(shù)和無(wú)線通訊技術(shù),設(shè)計(jì)開(kāi)發(fā)了通用型作物表型性狀數(shù)據(jù)采集系統(tǒng)移動(dòng)端APP。
基于Android的作物表型性狀數(shù)據(jù)采集系統(tǒng)(以下簡(jiǎn)稱(chēng)移動(dòng)端APP)是作物表型性狀管理系統(tǒng)的一個(gè)子系統(tǒng)。作物表型性狀管理系統(tǒng)為實(shí)現(xiàn)試驗(yàn)全過(guò)程信息化開(kāi)發(fā),由軟件和硬件兩部分組成。軟件包括作物表型性狀管理系統(tǒng)(Web端)和移動(dòng)端APP,硬件包括移動(dòng)端和條碼打印機(jī)。作物表型性狀管理系統(tǒng)對(duì)試驗(yàn)全過(guò)程進(jìn)行管理,在Web端對(duì)試驗(yàn)內(nèi)容進(jìn)行設(shè)計(jì)并分發(fā)到服務(wù)器,接收移動(dòng)端上傳到服務(wù)器的性狀采集數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行管理。移動(dòng)端接收任務(wù),執(zhí)行數(shù)據(jù)采集并上傳數(shù)據(jù)(圖1)。
圖1 作物表型性狀管理系統(tǒng)架構(gòu)Fig.1 The architecture of crop phenotypic
作物表型性狀管理系統(tǒng)采用MVC 5+Entity-Frame work 6架構(gòu),以Visual Studio 2017為開(kāi)發(fā)平臺(tái),采用C#語(yǔ)言、jQuery腳本及Html標(biāo)簽語(yǔ)言開(kāi)發(fā)。Web服務(wù)器使用穩(wěn)定可靠的IIS7.5服務(wù)器。移動(dòng)端APP以Android Studio為開(kāi)發(fā)平臺(tái),采用JSON數(shù)據(jù)格式,通過(guò)Android技術(shù)實(shí)現(xiàn)Web api與服務(wù)器之間的通信。移動(dòng)端APP基于C/S結(jié)構(gòu)開(kāi)發(fā),負(fù)責(zé)接收試驗(yàn)任務(wù)、執(zhí)行數(shù)據(jù)采集和上傳數(shù)據(jù)到管理平臺(tái)(B/S結(jié)構(gòu)),其他用戶通過(guò)瀏覽器對(duì)系統(tǒng)進(jìn)行操作和訪問(wèn),對(duì)上傳的采集的性狀數(shù)據(jù)進(jìn)行管理和分析。
作物表型性狀管理系統(tǒng)包括系統(tǒng)管理、試驗(yàn)設(shè)計(jì)、數(shù)據(jù)分析和報(bào)表生成4個(gè)部分,系統(tǒng)總體結(jié)構(gòu)如圖2所示。作物表型性狀管理系統(tǒng)主要負(fù)責(zé)基礎(chǔ)信息管理、試驗(yàn)任務(wù)設(shè)計(jì)和分發(fā)、采集數(shù)據(jù)的分析統(tǒng)計(jì)和報(bào)表生成。移動(dòng)端APP接收作物表型性狀管理系統(tǒng)分發(fā)的試驗(yàn)任務(wù),采集結(jié)束后上傳數(shù)據(jù)。
圖2 作物表型性狀管理系統(tǒng)總體設(shè)計(jì)Fig.2 The integrated design of crop phenotypic traits management system
系統(tǒng)用戶采用3級(jí)權(quán)限管理,其相應(yīng)角色分別為項(xiàng)目總負(fù)責(zé)人,試驗(yàn)站負(fù)責(zé)人和試驗(yàn)采集員(表1)。項(xiàng)目總負(fù)責(zé)人在添加用戶的同時(shí)分配角色,其分配的角色包括試驗(yàn)站負(fù)責(zé)人和試驗(yàn)采集員。不同權(quán)限的用戶擁有唯一的賬戶和密碼,管理系統(tǒng)根據(jù)賬號(hào)和密碼識(shí)別用戶權(quán)限,提供相應(yīng)的系統(tǒng)功能。試驗(yàn)采集員角色在移動(dòng)端可多人同時(shí)登錄,數(shù)據(jù)獨(dú)立上傳。同一個(gè)試驗(yàn)站可以接受多項(xiàng)試驗(yàn)任務(wù)。
根據(jù)農(nóng)作物試驗(yàn)特點(diǎn)和需求,移動(dòng)端APP需具備以下功能:(1)充分考慮多種數(shù)據(jù)采集方式,使用靈活,操作方便;(2)支持圖片采集;(3)支持離線采集;(4)移動(dòng)端響應(yīng)速度快,數(shù)據(jù)實(shí)時(shí)保存。在需求分析基礎(chǔ)上,移動(dòng)端APP提供了模板選擇、掃碼定位、手動(dòng)錄入、數(shù)據(jù)錄入、數(shù)據(jù)上傳和指標(biāo)字典共6個(gè)功能模塊(圖3)。
表1 作物表型性狀管理系統(tǒng)用戶權(quán)限Tab.1 User permission of crop phenotypic traits management system
圖3 移動(dòng)端APP功能結(jié)構(gòu)Fig.3 Functional architecture of mobile terminal APP
3.1.1 模板選擇 移動(dòng)端APP提供試驗(yàn)全生育期需要采集的所有性狀指標(biāo),在模板選擇中,隱藏當(dāng)天不需要錄入的指標(biāo),制成模板。模板上的性狀指標(biāo)可根據(jù)需要設(shè)定采集次數(shù)。模板制定完成后,模板上的性狀指標(biāo)可根據(jù)數(shù)據(jù)采集習(xí)慣調(diào)整順序,可同時(shí)制定多個(gè)模板。模板可刪除,不可修改。
3.1.2 掃碼定位 試驗(yàn)小區(qū)若采用條碼標(biāo)識(shí),可通過(guò)掃碼獲取小區(qū)編號(hào),按照模板性狀指標(biāo)進(jìn)行數(shù)據(jù)錄入。
3.1.3 手動(dòng)錄入 用戶可以任意設(shè)置小區(qū)編號(hào),按照當(dāng)前使用模板錄入數(shù)據(jù)。在數(shù)據(jù)錄入過(guò)程中發(fā)現(xiàn)小區(qū)錯(cuò)誤或者數(shù)據(jù)有誤的情況下,可在手動(dòng)錄入模塊中及時(shí)進(jìn)行修改和保存。
3.1.4 數(shù)據(jù)錄入 作物表型性狀主要包括兩大類(lèi):質(zhì)量性狀和數(shù)量性狀。在數(shù)據(jù)錄入模塊中,質(zhì)量性狀提供所有選項(xiàng),在錄入時(shí)直接點(diǎn)選完成數(shù)據(jù)采集。設(shè)計(jì)了快捷錄入界面,質(zhì)量性狀提供所有輸入值選項(xiàng),點(diǎn)選采集數(shù)據(jù),提高錄入效率,縮短錄入時(shí)間。數(shù)量性狀提供閾值提示,保證錄入的準(zhǔn)確性。小區(qū)編號(hào)自動(dòng)給出,小區(qū)沒(méi)有數(shù)據(jù)記錄的,可跳轉(zhuǎn)下一個(gè)小區(qū),小區(qū)內(nèi)某個(gè)性狀無(wú)數(shù)據(jù)記錄的,數(shù)據(jù)可為空。
3.1.5 數(shù)據(jù)上傳 為保證數(shù)據(jù)采集的完整性,1個(gè)模板的性狀數(shù)據(jù)在上傳到服務(wù)器之前,數(shù)據(jù)錄入停留在上次采集終止處,可繼續(xù)錄入,不能更換模板。如果數(shù)據(jù)上傳完成,不論該模板性狀指標(biāo)是否全部采集結(jié)束,需重新選擇模板。在數(shù)據(jù)上傳確認(rèn)之前,可以查看采集數(shù)據(jù)詳情。確認(rèn)無(wú)誤后在線上傳,上傳完成后,保存在移動(dòng)端的數(shù)據(jù)將自動(dòng)刪除。
3.1.6 指標(biāo)字典 管理系統(tǒng)下達(dá)的試驗(yàn)任務(wù)中所包含的性狀指標(biāo)在指標(biāo)字典中可以查詢,性狀指標(biāo)按分類(lèi)提供查詢。
開(kāi)發(fā)語(yǔ)言為Java,適用Android 4.0以上。數(shù)據(jù)庫(kù)為Android自帶的SQLite數(shù)據(jù)庫(kù)。移動(dòng)端存儲(chǔ)空間有限,在數(shù)據(jù)上傳執(zhí)行后,保存在移動(dòng)端的數(shù)據(jù)自動(dòng)刪除。
以玉米為例介紹移動(dòng)端APP的實(shí)際應(yīng)用情況。試驗(yàn)采集員首次登錄需網(wǎng)絡(luò)在線,以便接收作物表型性狀管理系統(tǒng)下達(dá)的試驗(yàn)任務(wù)。在田間采集時(shí)可離線登錄。登陸后,作物表型性狀管理系統(tǒng)顯示試驗(yàn)站所承擔(dān)的試驗(yàn)項(xiàng)目,選擇當(dāng)前需采集數(shù)據(jù)的試驗(yàn)。以品種篩選試驗(yàn)為例,雙擊品種篩選試驗(yàn)圖標(biāo)(圖4-1),進(jìn)入功能界面。數(shù)據(jù)采集開(kāi)始前,先制定模板,性狀采集指標(biāo)分為主要性狀、物候期、抗逆性記載、病蟲(chóng)害調(diào)查、產(chǎn)量性狀、田間采集性狀六大類(lèi)。選擇物候期中的散粉期(圖4-2),確定輸入模板名稱(chēng)“散粉調(diào)查”,該系統(tǒng)可同時(shí)制定多個(gè)模板,需點(diǎn)擊某一模板,確認(rèn)使用該模板,該模板才生效(圖4-3)。主要性狀中的株高和穗位,采集次數(shù)設(shè)定為5(圖4-4)。數(shù)據(jù)錄入按照模板進(jìn)行(圖4-5),小區(qū)沒(méi)有數(shù)據(jù)或者某一指標(biāo)沒(méi)有數(shù)據(jù)的,此處可為空。本案例中,數(shù)據(jù)錄入小區(qū)編號(hào)為3時(shí),沒(méi)有數(shù)據(jù),因此,直接進(jìn)入下一小區(qū)。在數(shù)據(jù)上傳模塊中(圖4-6),查看數(shù)據(jù)詳情,可看到區(qū)號(hào)3中數(shù)據(jù)為空(圖4-7)。如果小區(qū)3需要采集數(shù)據(jù),可輸入小區(qū)編號(hào)3后手動(dòng)錄入(圖4-8)。數(shù)據(jù)采集結(jié)束后,再次在數(shù)據(jù)上傳中查看數(shù)據(jù)詳情(圖4-9),3號(hào)小區(qū)數(shù)據(jù)已補(bǔ)充完整。數(shù)據(jù)上傳至服務(wù)器需要網(wǎng)絡(luò)支持。
已將移動(dòng)端APP在科研院所、高等院校進(jìn)行了推廣應(yīng)用。針對(duì)不同農(nóng)作物、不同試驗(yàn)類(lèi)型數(shù)據(jù)采集過(guò)程進(jìn)行了測(cè)試和應(yīng)用,并修改和完善了該系統(tǒng)的功能。移動(dòng)端APP在數(shù)據(jù)錄入結(jié)束后,直接保存為數(shù)據(jù)表,省去了傳統(tǒng)手工記載二次錄入過(guò)程,省時(shí)省力,提高數(shù)據(jù)采集效率70%以上。移動(dòng)端APP作為執(zhí)行數(shù)據(jù)采集的載體,須接收具體作物的試驗(yàn)任務(wù)。以玉米試驗(yàn)為例,在智能手機(jī)應(yīng)用寶上發(fā)布玉米表型APP,提供開(kāi)放下載。
以往的研究中,同類(lèi)系統(tǒng)主要針對(duì)育種試驗(yàn)過(guò)程開(kāi)發(fā),本研究在充分調(diào)研不同農(nóng)作物、不同試驗(yàn)類(lèi)型數(shù)據(jù)采集過(guò)程的需求基礎(chǔ)上,采用C/S架構(gòu)開(kāi)發(fā)了適用于不同農(nóng)作物、不同類(lèi)型農(nóng)業(yè)試驗(yàn)的通用型作物表型性狀數(shù)據(jù)采集系統(tǒng)移動(dòng)端APP。該APP主要功能是接收任務(wù)和執(zhí)行性狀數(shù)據(jù)采集。系統(tǒng)功能設(shè)計(jì)靈活,支持多種采集方式,錄入迅捷,支持離線采集,數(shù)據(jù)實(shí)時(shí)保存,使用范圍限制小。該APP在接收任務(wù)時(shí),試驗(yàn)任務(wù)需要采集性狀指標(biāo)的數(shù)據(jù)格式以及數(shù)據(jù)單位已經(jīng)確定,避免不同試驗(yàn)點(diǎn)采集數(shù)據(jù)格式不統(tǒng)一,便于不同試驗(yàn)點(diǎn)數(shù)據(jù)的統(tǒng)計(jì)匯總。APP制定的采集模板可以共享,允許多人同時(shí)采集同一試驗(yàn)數(shù)據(jù),保證采集指標(biāo)的一致性。系統(tǒng)對(duì)質(zhì)量性狀提供點(diǎn)選錄入,提高了數(shù)據(jù)錄入效率。
農(nóng)博士育種移動(dòng)采集系統(tǒng)1次只能接收1個(gè)采集任務(wù),且主要針對(duì)育種過(guò)程開(kāi)發(fā)。本研究移動(dòng)端APP執(zhí)行任務(wù)范圍只與試驗(yàn)任務(wù)的性狀指標(biāo)有關(guān),與試驗(yàn)性質(zhì)無(wú)關(guān),應(yīng)用范圍更廣,可同時(shí)接收多個(gè)試驗(yàn)任務(wù),更符合生產(chǎn)實(shí)際。與國(guó)外的Phenobook相比[14],該APP在接收任務(wù)時(shí),需要采集性狀的數(shù)據(jù)單位已經(jīng)確定,采集性狀指標(biāo)的錄入順序在制作模板時(shí)可以調(diào)整,數(shù)據(jù)錄入時(shí)按照模板上性狀指標(biāo)順序提供輸入框,不需要重復(fù)選擇。
系統(tǒng)經(jīng)過(guò)多次修改和完善,還有待改進(jìn)之處,后續(xù)將增加圖片管理模塊,提供圖片錄入和搜索功能;增加田間布局模塊,按田間布局綁定電子標(biāo)簽或打印紙質(zhì)標(biāo)簽,用于試驗(yàn)材料標(biāo)識(shí);增加模板修改功能,并進(jìn)一步提高模板制作的靈活性。此外,隨著高通量采集技術(shù)的發(fā)展應(yīng)用,將進(jìn)一步研究高通量采集技術(shù)、圖像識(shí)別技術(shù)等在性狀采集上的應(yīng)用,減少移動(dòng)端采集任務(wù)量,更大程度提高數(shù)據(jù)采集效率。
圖4 移動(dòng)端APP采集界面Fig.4 Data acquisition operation interface of mobile terminal APP