• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      害蟲測報系統(tǒng)移動端設計

      2020-06-19 08:45:58包曉敏楊迪煥
      軟件導刊 2020年4期
      關鍵詞:移動端手機app遠程控制

      包曉敏 楊迪煥

      摘要:為實現(xiàn)農(nóng)業(yè)害蟲測報系統(tǒng)移動端測報工作,更便捷地獲取農(nóng)田害蟲情況,基于Android移動平臺害蟲測報APP,將樹莓派終端作為數(shù)據(jù)采集端,以云平臺作為數(shù)據(jù)存儲和信息交互橋梁,完成害蟲圖像與環(huán)境值數(shù)據(jù)采集,并將計數(shù)結果和害蟲圖像一并展示在移動端上,供用戶查看。實驗表明,該移動端可實時控制樹莓派數(shù)據(jù)采集并展示結果。基于Android移動平臺的害蟲測報APP投入到實際測報工作中后,運行穩(wěn)定,數(shù)據(jù)精準,可實現(xiàn)各項功能。

      關鍵詞:移動端;手機APP;遠程控制;害蟲測報

      DOI: 10. 11907/rjdk.191996

      開放科學(資源服務)標識碼(OSID):

      中圖分類號:TP319

      文獻標識碼:A

      文章編號:1672-7800(2020)004-0139-04

      Mobile Terminal Design of Pest Forecasting System

      BAO Xiao-min . YANG Di-huan

      (College of Infornzation , Zh.ejiang Sci- Tech Univer.sity , Hangzhou 3100 18.China )Abstract: In order to realise monitoring and f'orecasting of agricultural pests in the mobile terminal of the system so as to obtain f'arm-land pests more conveniently, tliis article is based on the Android mobile platform ' s pest monitoring and reporting App, using a Rasp-berry Pi terminal as a data acquisition terminal. and takes a cloud platform as a bridge for data storage and information interaction,,-hich are displayed on the mobile terminal f'or users to view. The results show that the mobile terminal can control raspberry pie to col-lect data and display results in real time. The App for pest prediction based on Android mobile platform runs steadih and accuratelv af-ter it is put into the actual forecasting work . and can run various f'unctions.Key Words : terminal; phone APP; remote control; monitoring and forecasting of agriculture pests

      O 引言

      我國耕地面積廣大且農(nóng)業(yè)人口眾多,蟲害對我國糧食生產(chǎn)構成直接威脅,影響糧食產(chǎn)量…。防止蟲害是保證糧食產(chǎn)量的前提[2-2]。傳統(tǒng)測報方式采用人工下田、人計數(shù)的方式[4],人力成本高且不夠及時、便捷。因此,及時獲悉田間害蟲種類及數(shù)量不僅是制定防治害蟲方案的基礎,更可為后期預測預報害蟲爆發(fā)期提供原始數(shù)據(jù)。目前,我國農(nóng)業(yè)智能化發(fā)展迅速,已有較為突出的研究成果,如使用傳感器采集各項影響農(nóng)業(yè)生產(chǎn)的重要因素數(shù)據(jù)[5-8]等應用。近年來,智能手機等智能可移動終端的普及應用使多個行業(yè)步入遠程遙控的發(fā)展階段[9]?;贏ndroid平臺的手機APP在生活中的應用越來越廣泛,但在農(nóng)業(yè)中的應用還不多見[10]

      為改進現(xiàn)有蟲害測報方法,針對其蟲害報警不及時的問題,設計一套可實時獲取害蟲圖像和害蟲數(shù)量的移動端系統(tǒng)。該設計針對環(huán)境值、地理位置、害蟲圖像與害蟲數(shù)量進行監(jiān)測控制,主要實現(xiàn)3個功能:①開發(fā)可用于An-droid智能移動設備的害蟲測報APP,包括數(shù)據(jù)庫、服務器及人機交互界面設計與開發(fā)等過程,實現(xiàn)界面簡潔友好、操作簡單的害蟲測報系統(tǒng);②選擇監(jiān)控區(qū)域的設備,遠程操控樹莓派的拍攝任務,獲取最新害蟲圖像、害蟲數(shù)量、環(huán)境數(shù)據(jù)及地理位置等信息;③根據(jù)年份和月份查詢歷史害蟲圖像及對應的歷史數(shù)據(jù)。

      1 系統(tǒng)架構與功能設計

      1.1 系統(tǒng)架構

      測報系統(tǒng)組成由數(shù)據(jù)采集端、測報云平臺和Android移動客戶端組成,如圖l所示。數(shù)據(jù)采集端主要包括:環(huán)境數(shù)據(jù)采集、害蟲圖片采集、上傳數(shù)據(jù)和圖片;測報云平臺包括:云數(shù)據(jù)庫存儲環(huán)境數(shù)據(jù)、云對象存儲服務器存儲害蟲圖片、云服務器圖像處理;手機客戶端APP為本文重點,包括:APP客戶端、服務器端。系統(tǒng)架構如圖1所示。

      1.1.1 APP客戶端

      首先,在Windows系統(tǒng)下搭建JDKl.7開發(fā)環(huán)境并配置環(huán)境變量。使用And-oid SDK集成開發(fā)T具Eclipse進行源代碼編寫、編譯等T作。代碼實現(xiàn)主要考慮遠程聯(lián)網(wǎng)獲取數(shù)據(jù)的操作及數(shù)據(jù)顯示效果。為了更好地將數(shù)據(jù)顯示在移動端,進行界面優(yōu)化設計。同時為提高軟件運行速度、改善用戶體驗,采用碎片技術進行代碼編寫[11-12]。從功能角度考慮主要是提供命名發(fā)送、最新圖像與數(shù)據(jù)獲取展示、歷史圖片與數(shù)據(jù)獲取展示。本文使用的真機為Meizu4,系統(tǒng)版本Android6.0。

      1.1.2服務器端

      Tomcat服務器具有技術先進、性能穩(wěn)定且擴展性好的優(yōu)點[13-14],因此本文使用Servlet搭配Tomcat的方式構建服務器端。同時,HTTP作為應用最廣的網(wǎng)絡協(xié)議,是響應客戶端請求、實現(xiàn)服務器端與客戶端通信的基礎[17]。

      1.2功能設計

      害蟲測報APP主要監(jiān)測的環(huán)境參數(shù)包括:溫度、濕度、光照強度、下雨情況及害蟲圖像。首先,使用涂有昆蟲性誘劑的害蟲粘板捕獲害蟲,工作人員通過“拍攝”按鈕,可實時獲取田間害蟲照片及環(huán)境數(shù)據(jù)。執(zhí)行終端樹莓派,將拍攝的照片及環(huán)境值上傳并保存至云服務器,通過“最新圖像”按鈕顯示最新圖像,并顯示當前設備、地理位置、圖像名字、溫濕度、光照強度、害蟲數(shù)量等信息。其中圖像名字采用拍攝時間命名,精確到秒。APP可直接區(qū)分當前圖片拍攝時間,如“2019-06-20-10-30-Ol.jpg”,云服務器在接收圖片后,根據(jù)設備編號將圖片名字單獨存入對應編號的數(shù)據(jù)庫表中。為避免在同一個界面顯示過多歷史數(shù)據(jù),設計按月為單位展示歷史數(shù)據(jù),即T作人員通過年份和月份查看害蟲圖像及相關數(shù)據(jù)信息,這樣可有效提升用戶體驗。

      2 移動端實現(xiàn)

      2.1登陸界面實現(xiàn)

      登陸界面主要實現(xiàn)工作人員登陸系統(tǒng)時的校驗功能,工作人員在輸入正確的用戶名和密碼后將跳轉(zhuǎn)至APP主界面。登陸界面如圖2所示。

      安卓開發(fā)中,界面展示效果主要通過編寫AndroidXML文件實現(xiàn)。登陸界面采用四大布局中的線性布局。主要使用TextView控件提供用戶輸入項,使用CheckBox控件勾選“記住用戶名和密碼”,使用Button控件提交用戶名和密碼。

      Java文件實現(xiàn)過程為:給Button按鈕設置點擊事件,用戶點擊“登陸”后,開啟一個線程訪問遠程服務器。在該線程中,APP使用HTTP協(xié)議以POST的方式將從界面中獲取到的用戶名和密碼發(fā)送給服務器端[19-21],并且沒置請求超時時間為5s,在5s內(nèi)接收到服務器響應,即說明移動端請求成功,此時服務器返回200狀態(tài)碼給客戶端,則客戶端接收服務器返回的數(shù)據(jù)流,實現(xiàn)頁面跳轉(zhuǎn)并給出“登陸成功”的提示。本次請求中的URL為:http://lll .231. 105 .41/CH ai/And roidLoginServlet。另外,如果用戶在點擊“登陸”按鈕前勾選“記住用戶名和密碼”且后臺校驗成功,則在/data/data/cn.yangdh.chai T程包下創(chuàng)建一個Userlnfo.txt文本記錄文件,并把當前輸入的用戶名和密碼保存進該文件,等到下次再次使用APP時,就無需再輸入用戶名和密碼。

      2.2主界面實現(xiàn)

      主界面主要包括以下功能:首先,可以根據(jù)地理位置的不同,選擇地區(qū)目標設備。地理位置與設備的選擇均采用下拉菜單的形式呈現(xiàn)。由于目前該測報系統(tǒng)僅部署在浙江省杭州市和寧波市兩個地區(qū),所以在目標設備的選擇中,城市對應的下拉菜單中只有杭州市和寧波市兩個選項。在選定城市后,隨后選擇城市對應的區(qū),再選擇待查看的設備編號。采用三級聯(lián)動的方式獲取對應地區(qū)、對應設備的害蟲測報數(shù)據(jù)。主界面如圖3所示。

      其次,在選擇對應設備后,如選擇:杭州市、江干區(qū)、設備l,即可點擊“拍照”按鈕,實現(xiàn)遠程控制樹莓派拍攝當前粘板上害蟲照片。由于樹莓派在接收拍照指令并執(zhí)行拍照動作上傳、生成對應的XML文件等一系列過程約需花費20-30s,所以在點擊“拍攝”按鈕后,需等待片刻,然后再點擊“最新照片”按鈕,即可查詢剛分拍攝的照片。

      用戶在完成上述拍照及照片、數(shù)據(jù)查看后進行歷史數(shù)據(jù)查詢,依然采用下拉列表的形式,選擇目標年月后,即可點擊“歷史照片”按鈕查詢歷史數(shù)據(jù)。該設計不僅可降低下滑篇幅、提升用戶體驗,而且可對該月害蟲情況進行周期性了解。

      主界面設計采用線性布局,方向為垂直排布。城市、區(qū)、設備、年份、月份,5個下拉列表的實現(xiàn)采用Android白帶的Spinner控件,并將城市、區(qū)、設備對應的3個下拉控件單獨放置在一個LinearLavout中,年份、月份對應的兩個下拉控件單獨放置在一個LinearLavout中,設置權重為1。使用Button按鈕提交“拍照”、“最新照片”、“歷史照片”3個操作。其中下拉效果如圖4所示。

      Java文件實現(xiàn)過程為:首先,對Spinner控件進行初始操作,由于城市、區(qū)、設備、年份及月份的下拉列表中填充的數(shù)據(jù)均為字符串,所以使用ArrayAdapter適配器進行數(shù)據(jù)填充,并把城市、區(qū)、設備、年份及月份數(shù)據(jù)源一一封裝成對應的List集合。其中,下拉樣式采用Android白帶的android.R.lavout.simple_spinner_item樣式。此外,給每個下拉菜單設置選中事件,并將選中的列表記錄到日志文件中,使每一次操作均有記錄。在選定目標設備后,即可點擊“拍攝”按鈕,根據(jù)選中的設備,APP使用HTTP協(xié)議以GET的方式將拍照請求發(fā)送給服務器中對應的處理類,同時設置請求的超時時間為Ss,若在Ss內(nèi)接收到服務器響應,即說明移動端請求成功,此時服務器返回200狀態(tài)碼給客戶端,客戶端接收服務器返回的數(shù)據(jù)流提示“拍照成功”,如圖5所示。

      同理,在點擊“最新照片”、“歷史照片”按鈕后,同樣向服務器端發(fā)起請求,結合Intent意圖對象實現(xiàn)頁面跳轉(zhuǎn),并利用意圖對象把用戶選擇的城市、區(qū)、設備編號數(shù)據(jù)流轉(zhuǎn)到下一個界面,供下一個界面使用。

      2.3最新圖片界面實現(xiàn)

      最新圖片界面主要用于呈現(xiàn)對應地區(qū)樹莓派拍攝的最新照片和數(shù)據(jù)。害蟲具有趨黃性,在田間設置黃色粘板誘殺害蟲是廣為使用的方法[15-17]。將粘板圖片直觀呈現(xiàn)在手機終端上,并將經(jīng)后臺處理后的害蟲計數(shù)結果、溫度、濕度、光照、下雨情況及拍攝設備所處的地理位置等信息一并呈現(xiàn),界面顯示一目了然。最新測報數(shù)據(jù)如圖6所示。

      該界面整體布局采用線性布局,并設置方向為垂直排布。在界面最上端設置顯示當前設備所處的地理位置、設備編號與圖片拍攝時間,即在Android XML布局文件中設置3個TextView控件,設置其寬和高均為包裹內(nèi)容,字體大小為22sp。另外,使用SmartImageView控件展示最新圖像的顯示,圖片下方顯示當前圖中害蟲數(shù)量。使用4個TextView結合drawahleLeft屬性實現(xiàn)環(huán)境數(shù)據(jù)的圖文顯示,將對應圖標放置在文字左邊,方便用戶瀏覽信息。

      Java文件實現(xiàn)過程為:首先拿到Intent意圖對象從上頁流轉(zhuǎn)過來的數(shù)據(jù),分別是設備編號和地理位置;然后根據(jù)設備編號、地理位置開啟線程訪問遠程URL資源。同理,在該線程中APP使用HTTP協(xié)議,以GET方式請求服務器端,并且設置請求的超時時間為Ss,在Ss內(nèi)接收到服務器響應,即說明移動端請求成功,此時服務器返回200狀態(tài)碼給客戶端,則客戶端接收服務器返回的數(shù)據(jù)流。

      設計采用XML方式進行數(shù)據(jù)傳輸。APP端在獲得數(shù)據(jù)庫返回的數(shù)據(jù)后,進行有效數(shù)據(jù)解析。解析過程為:編寫一個Photo實體類代表一張圖片涵蓋的所有數(shù)據(jù),它具有6個靜態(tài)屬性,分別為id、linage、temp、humi、lux和raln;編寫一個解析XML的T具類,使用XmIPuIIParser解析器,其原理是基于事件進行解析,通過從開始節(jié)點到結束節(jié)點一行一行實現(xiàn)解析目的;解析XML中的標簽,當遇到pho-tos標簽時,創(chuàng)建一個List集合,遇到photo標簽時創(chuàng)建一個Photo實體類對象,遇到lrnage標簽時把圖片地址取出來,遇到temp時把溫度值取出來,同理,將所有值都取完成后,將所有數(shù)據(jù)封裝進List集合中;最后,遍歷整個集合,將有效數(shù)據(jù)取出,用于更新UI控件中的值,包括拍攝時間與4個環(huán)境數(shù)據(jù)。

      同樣在XML文件中設置一個節(jié)點photo,代表當前圖片所有信息。在它內(nèi)部有6個子標簽:id、lrnage、temp、hu-mi、lux、raln,它們分別代表圖片編號、圖片地址、溫度、濕度、光照強度、下雨情況的信息。其中l(wèi)nlage標簽中封裝的是圖片URL數(shù)據(jù),如http://111.231.105.41/example s/photo/2019-05-20-10-OO-Ol.jpg,該數(shù)據(jù)主要在SmartImageView控件上呈現(xiàn)圖片時使用。

      此外,移動端APP使用獨立設計的SmartImageView框架替代Android標準的ImageView,以此獲取遠程服務器圖像。該框架支持URL地址加載圖片和圖片緩存。

      2.4歷史圖片界面實現(xiàn)

      歷史圖片界面主要呈現(xiàn)歷史圖像與數(shù)據(jù)。采用滑動列表的形式進行呈現(xiàn)。首先顯示圖片名字;與此同時,給每一個列表項添加點擊事件監(jiān)聽,將遠程圖片與數(shù)據(jù)一并加載并顯示出來,即先根據(jù)月份展示該月所有圖片名字,再根據(jù)圖片名字展示對應的圖片內(nèi)容與數(shù)據(jù)。其中歷史圖片名稱列表界面如圖7所示。

      該界面主要通過ListView控件實現(xiàn)。此外,在界面底部的“主頁”按鈕可實現(xiàn)從該頁到主頁的跳轉(zhuǎn)。

      Java文件實現(xiàn)過程為:首先獲取Intent意圖對象從上頁流轉(zhuǎn)過來的數(shù)據(jù),分別是設備編號、地理位置、年份和月份;接著初始化ListView控件,即聯(lián)網(wǎng)獲取遠程服務器端的數(shù)據(jù),拿到數(shù)據(jù)流后進行XML解析,封裝進List集合;然后遍歷集合,將用戶選擇的年份、月份與集合中所有Photo對象進行比較,取出對應月份的所有圖片數(shù)據(jù);最后使用runOnUiThread方法更新UI控件,實現(xiàn)數(shù)據(jù)展示。編寫一個內(nèi)部類實現(xiàn)BaseAdapter類,重寫getCount()方法和getView()方法。其中getCount()方法中返回的整型值為完成封裝的List集合的元素個數(shù)。getView()方法中返回ListView待顯示的每個項。

      2.5服務器端與手機APP間通信實現(xiàn)

      服務器端主要完成兩個任務:服務器端環(huán)境搭建、接收手機APP遠程訪問并作出處理。

      服務器端環(huán)境搭建內(nèi)容為:云服務器采用騰訊云公司推出的云服務器ECS,搭載CentOS 7.2 64位操作系統(tǒng),結合Tomcat軟件服務器及Java Socket網(wǎng)絡編程,實現(xiàn)對數(shù)據(jù)采集終端上傳數(shù)據(jù)的接收與保存。此外,數(shù)據(jù)庫管理系統(tǒng)采用關系型數(shù)據(jù)庫MvSQL。在Windows平臺上使用Navi-cat數(shù)據(jù)庫客戶端遠程設計該數(shù)據(jù)庫。主要包含兩種類型的表,一個為樹莓派終端上傳數(shù)據(jù)后存儲使用,其中表的字段包括:編號、圖像名字、光照強度、溫度、濕度和下雨情況;另一張表為害蟲數(shù)量的存儲使用,其中表的字段包括:編號、圖像名字、害蟲數(shù)量。利用OpenCV圖像庫對圖像進行處理,完成害蟲計數(shù)。

      接收手機APP遠程訪問并作出處理,具體指在Eclipse集成開發(fā)T具中編寫Java代碼。編寫Java類,使其繼承HttpSe-vlet類,使用HttpServletRequest對象接收手機App發(fā)過來的請求數(shù)據(jù)。此外,在每次接收樹莓派上傳的圖像后,自動編輯生成對應的XML文件內(nèi)容,并作為XML文件輸出到Tomcat服務器的特定目錄下,該文件將作為“最新圖像”與“歷史圖像”的訪問數(shù)據(jù)源,供遠程APP訪問。將整個丁程打包成war包并導出,使用FileZilla文件傳輸工具將其上傳至Tomcat的wehapps目錄下,并使用Linux客戶端T具XShell 6開啟Tomcat容器,Tomcat自動將war包解壓并運行。此時,即可對服務器進行訪問。另外,從功能角度出發(fā),設計固定時間點發(fā)送拍攝命令給樹莓派,具體設置的時間點為:上午8點、8點30、9點、9點30、10點、10點30與11點,下午2點、2點30、3點、3點30、4點與4點30。工作人員可在這些時間點獲取最新的害蟲圖片及數(shù)據(jù),無需再進行拍攝。

      3 結語

      本文害蟲測報系統(tǒng)移動端設計將Androici技術、JAVA技術、移動互聯(lián)網(wǎng)技術與傳統(tǒng)農(nóng)業(yè)相結合,使計數(shù)結果與原始圖像一并呈現(xiàn)在移動端平臺上,實現(xiàn)了害蟲圖像采集、上傳、計數(shù)、展示、測報等功能。通過傳統(tǒng)微信公眾號,只能獲取害蟲計數(shù)數(shù)據(jù),無法提供直觀的原始圖像。相比之下,移動端害蟲測報更加便捷、高效、直觀。本文系統(tǒng)功能主要有:移動端APP遠程控制拍照、移動端APP實時獲取害蟲圖像和害蟲數(shù)量、移動端APP遠程獲取歷史圖像和歷史數(shù)據(jù)。實驗證明,本文系統(tǒng)可以穩(wěn)定、有效地T作,實現(xiàn)各項功能。未來將進一步完善移動端用戶界面、提升用戶體驗度。

      猜你喜歡
      移動端手機app遠程控制
      水冷發(fā)射機冷卻系統(tǒng)故障分析及解決方案
      基于Arduino UNO的智能插座設計
      大數(shù)據(jù)分析的移動端在網(wǎng)絡課堂教學中的應用
      互聯(lián)網(wǎng)+背景下的手機APP安全性測試研究
      鹽城地區(qū)設計項目與課堂遠程互動的方式方法研究
      藝術科技(2016年10期)2016-12-14 00:11:02
      基于GSM的遠程控制系統(tǒng)
      淺析移動端視頻的發(fā)展
      戲劇之家(2016年22期)2016-11-30 19:05:30
      談談PC端流量轉(zhuǎn)移至移動端趨勢下廣告投放的模式創(chuàng)新
      商(2016年34期)2016-11-24 15:16:59
      移動端醫(yī)療維修系統(tǒng)的設計與實現(xiàn)
      價值工程(2016年29期)2016-11-14 01:51:09
      智能手機APP支持下的大學英語聽力教學
      考試周刊(2016年84期)2016-11-11 23:15:06
      额尔古纳市| 左权县| 寿宁县| 阿拉善盟| 永寿县| 新沂市| 正宁县| 尼勒克县| 平顺县| 辽中县| 宝山区| 灌阳县| 石嘴山市| 深水埗区| 唐海县| 乌鲁木齐县| 锡林浩特市| 达拉特旗| 津南区| 页游| 英德市| 诸城市| 曲靖市| 象山县| 中牟县| 那坡县| 新野县| 黎川县| 买车| 察哈| 柞水县| 涪陵区| 浙江省| 金塔县| 监利县| 东海县| 永泰县| 永宁县| 夏河县| 绍兴市| 易门县|