999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

茶園遠程監控智能終端系統研究

2019-01-10 04:51:28毛林成維莉夏偉偉楊明全
浙江農業科學 2019年4期
關鍵詞:用戶服務

毛林,成維莉,夏偉偉,楊明全

(江蘇農牧科技職業學院,江蘇 泰州 225300)

農業物聯網綜合運用微電子、嵌入式、無線通信、RFID等技術,通過無線傳感等設備,按約定通信協議將物與物相連接進行信息互聯互通、交換和共享,使茶葉生產管理從傳統方式快速向現代管理方式轉變。茶葉環境監控系統是基于物聯網的自動化管理系統,在智慧農業發展中充當重要角色,對茶葉生產環境進行精準識別、定位、感知、監控,提升茶葉生產管理信息化、自動化、智能化水平,實現管理效能和經濟效益最大化目標。

茶園環境遠程監控物聯網系統能夠支持以網站、瀏覽器、視頻等客戶端訪問方式提供遠程監測與控制管理。隨著3G/4G通信技術與裝備的快速發展與應用,運用移動互聯技術構建面向智能終端應用的遠程監控系統,可隨時隨地為用戶提供方便快捷的服務。本文結合江蘇農牧科技職業學院茶園基地物聯網平臺-JTP平臺,進行移動終端業務流程分析及功能設計,重點研究服務數據交換、數據轉換、客戶端通信、數據解析等關鍵技術及實現方法,提出基于Android的茶園環境遠程監控智能終端解決方案,對提升茶園自動化、智能化管理效能和服務質量,具有重要現實意義。

1 JTP平臺及工作原理

JTP平臺分本地系統(下位機)、遠程系統(上位機)與中間網絡,由底層硬件系統、無線傳感網絡(WSN)、網關和遠程服務器、客戶機、監控屏幕構成。底層(感知層)無線傳感網絡是平臺環境數據的主要來源,采用層次分簇異構增強型結構[1],縱向及橫向上具有良好伸縮性、可擴展性,適應感知對象、監測范圍、覆蓋密度、感知數據、通信距離等變化要求,滿足大規模復雜形態的服務質量需求[2]。平臺包括數據采集、遠程監測、歷史數據查看、遠程控制、視頻監控、緊急報警等功能模塊,采用基于J2EE的SSI框架部署、整合應用程序,實現總體整體業務聯動。

JTP平臺業務流程包括數據采集與處理、遠程傳輸、統計分析、實時瀏覽、報警、視頻監控。通過平臺業務流程,對現場實時環境數據進行采集、轉換、壓縮、融合處理和遠程傳輸,提供數據持久化存儲、統計分析處理。用戶可隨時隨地登錄平臺進行環境監控,瀏覽現場溫度、濕度、光照、土壤成分等環境因子變化,查看歷史數據、監測報警、瀏覽監控視頻,實現遠程控制。

2 系統設計

2.1 系統架構

智能終端系統采用基于C/S的三層結構,即Android客戶端、4G移動通信網絡、服務端。客戶端系統部署在智能終端設備(如Android手機、Ipad等),提供無線通信接口、數據解析等中間層業務組件,為用戶查詢、控制等應用服務所調用。底層Android操作系統、硬件、移動網絡、軟件工具作為應用服務的支撐平臺。移動終端存儲空間和計算資源有限,本地數據存儲、處理要求不高時,可滿足輕量級應用需求,保證客戶端系統基本性能要求[3]。

服務端構建于JTP平臺服務器,平臺服務器搭建云計算平臺,包括IaaS、PaaS、SaaS三層,提供多操作系統、虛擬化硬軟件資源,統一調度管理資源使用,承擔海量數據存儲、計算、復雜業務處理,快速提供用戶所需服務[4]。在JTP平臺開發服務端數據交換接口、數據轉換處理等業務組件,滿足客戶端數據訪問需求。

2.2 業務流程

平臺服務器為智能終端客戶端提供遠程訪問、查詢環境數據。客戶端登錄后進入軟件操作界面,發送監測、查詢、控制遠程訪問請求時,經ISP移動通信網絡提交至服務器,首先訪問服務端接口,測試與平臺服務端建立連接。連接成功后,服務端與客戶端建立會話,服務端生成客戶端唯一的會話標識SessionID,保存客戶端標識,在會話期間識別客戶端。服務端交換接口接受訪問請求信息,調用相關業務組件查詢數據庫,獲取所需信息內容,轉換為預定交換格式數據后返回給服務端接口,連同客戶端標識一并發送至客戶端。客戶端驗證來自服務端傳輸數據后,接收數據并解析數據,通過操作系統將最終結果展示到客戶端用戶頁面[3]。

2.3 開發工具

Android為Google發布的主流開源智能終端操作系統,是基于Linux的開放式嵌入式系統,具有版本更新快、功能強大、開發效率高等特點。Android智能終端(手機、iPad、PDA)用戶使用廣,占據目前國內市場80%以上份額。Android包括Activity(活動)、Service(服務)、Broadcast Receiver(組播接收器)、Content Provider(內容提供商)四大組件,內置控件箱擁有豐富、美觀的UI控件,支持輕量級數據庫SQLite數據存取,提供網絡接口通信、多媒體、GPS功能和通用工具類等服務[5]。

本設計選用Google開源IDE工具Android Studio開發客戶端系統。Android Studio集成了Android所有開發工具包SDK(包括ADT、第三方開源庫等),開發環境更易于搭建、配置簡單,功能、效率和便捷性高[5]。服務端基于J2EE架構的MVC設計模式[4],部署SSI輕量級開源框架[6],保存與JTP平臺相一致。Struts框架使Web服務交換層與控制層相互分離,iBatis充當DAO層數據庫訪問組件,Spring框架組裝和管理全局應用程序,實現數據交換接口與數據庫的交互。SSI自適應、可擴展的半成品框架特性,使服務端應用開發與維護更加快捷、便利與高效。

3 系統實現

3.1 服務端實現

服務端部署于JTP平臺服務器,在服務端應用程序工作區src的com.jsmy.jtp.mobile包下分層,包括webservice層(Web服務交換)、action層(控制)、biz層(業務)、dao層(數據訪問)、po層(持久化),各層僅含一個組件,組件內定義和實現業務方法,避免組件過多引起服務端資源開銷過大,利用SSI框架簡化應用程序組裝,以即插即用方式管理全局應用程序,降低軟件模塊耦合度,減少系統開銷、提高運行效率。

3.1.1 數據交換

Web服務接口實現服務端、客戶端之間的交互和數據交換。Web服務運用SOAP、WSDD、UDDI在服務端應用程序上對外共享開放式網絡服務,提供客戶端遠程訪問服務端功能,運用消息或請求服務發現處理機制,接收網絡請求、做出響應[3]。互聯網應用中,HTTP協議是網絡通信的普適標準[7],提供webservice層數據交換接口規則描述,被網絡信息系統廣泛采用,用以Internet網絡資源定位與交換服務。

基于Webservice及HTTP規則開發服務交換接口,開發過程為:設置Web服務交換地址,JTP平臺服務端應用程序主要包括用戶登錄、實時監測、遠程控制、緊急報警、歷史查詢、基礎設置等六大服務接口,接口形式為http://localhost:8080/jmob/jmob_XXX.action,分別與客戶端通信接口地址URL對應;設置接口交換規則。依據HTTP協議定義交換接口數據交換規則,包括請求參數、HTTP請求方法、消息類型及處理方式、返回值等,接口規則除請求參數種類與個數、功能不同外,其他規則類同;配置和發布Web服務,在JTP平臺項目WebRoot/WEB-INF目錄deploy.wsdd文件中配置,指示對外共享的Web服務類MobService;配置完成后,使用Apache axis2發布工具AdminClient發布Web服務,在服務端IE瀏覽器地址欄中輸入http://localhost:8080/AxisWebService/servlet/Axis Servlet測試,顯示發布成功信息。

交換接口通過業務組件與底層數據庫交互,服務端數據交換過程是:Spring容器監聽來自客戶端通信請求,獲取請求訪問的服務端接口,傳遞給交換層組件MobileWebService;struts.xml中配置MobileWebService調用action層組件mobileAction業務方法,如login(登錄)、monitor(監測)、statistics(歷史查詢)、control(控制)等,將請求參數打包成持久化對象PO或HashMap對象;Spring框架定義action層、biz層、dao層組件調用,通過applicationContext.xml配置依賴注入(DI)和反轉控制(IoC)實現;在ibatis框架配置文件mobileDao.ibatis.xml中注冊sqlMap標簽訪問數據庫,執行指定SQL查詢操作。

3.1.2 數據轉換

數據交換接口接受客戶端HTTP請求做出響應,調用各層業務組件查詢數據庫,讀取到的數據包括HashMap、持久化對象Vo、ArrayList三種類型數據,進行JSON數據轉換處理后,通過網絡發送到客戶端。JSON為輕量級交換格式數據,有效壓縮了數據容量,網絡寬帶占用小、傳輸效率高,可快速送達客戶端。與XML、PULL、SAX相比[8],JSON數據降低或消除了Android解析復雜性,客戶端讀取、解析簡單方便。

設計中利用action層mobileAction組件完成數據格式轉換。服務端數據轉換過程為:(1)在mobileAction中定義轉換方法parseDataToJson(data),data為來自數據庫返回的數據,data包括HashMap、持久化對象Vo、ArrayList三種類型。(2)parseDataToJson中依據data類型,將data轉換成JSON格式數據,JSON數據通過JSONObject或JSONArray實例對象來存儲。(3)當data為HashMap或Vo時,以JSONObject保存JSON。HashMap使用get(key)取得鍵值對key-value,Vo使用getXXX屬性方法獲得鍵值對。通過JSONObject實例的put(key,value)保存鍵值對到JSONObject中。(4)data為ArrayList時,利用get方法依次取出Vo,將Vo中的鍵值對保存到JSONObject,再使用put將JSONObject保存到JSONArray。

3.2 客戶端實現

客戶端系統包含用戶登錄、環境監測、控制、歷史查詢、報警等功能模塊。Android中,視圖與業務是相互分離的。客戶端視圖UI包括登錄等用戶操作界面,界面中安置Button按鈕、ListView列表、Spinner下拉框、DatePicker時間、ImageView圖片等控件,添加HelloCharts 圖表繪制工具,界面布局、控件樣式通過LinearLayout、RelativeLayout等布局方式設置,在res/layout工程目錄xml文件中進行定義和編輯。Activity充當事件處理器,綁定視圖界面,接收事件對象或消息,進行業務處理,將處理結果展示到視圖界面。Activity通過AndroidManifest.xml注冊生效。Activity事件處理程序是,用戶進入界面時,首先由onCreate保存當前Activity狀態,setContentView鎖定視圖界面UI;當用戶操作時,監聽器onClickListener監聽事件對象,觸發onClick事件對用戶操作執行一次業務處理。Activity可通過Intent對象轉向另一個Activity,實現客戶端不同界面切換,響應速度快。客戶端功能實現中,接口通信、數據解析是Activity事件業務處理的關鍵。

3.2.1 接口通信

通信接口實現與遠程服務器交互,測試服務端連接、發送遠程請求與服務端建立會話、接收返回結果。本設計采用自定義外部公共類ClientUtility,類中定義重載方法getJSONByInterface來創建客戶端通信接口。通信接口實現過程為,在getJSONByInterface中為HttpURLConnection實例對象設置請求訪問的服務端交換地址URL、提交方式(GET/POST)、時延(Timeout)、協議頭類型(Content-Type)、是否允許緩存(UseCaches)等特性,設置參數由外部Activity調用時傳入;通過JSONObject將請求參數包裝成支持網絡傳輸編碼格式HTTP.UTF-8的鍵值對,存入JSONArray;JSONArray轉換成String字符串,再經getBytes轉換后寫入BufferedOutputStream(緩沖字節輸出流),追加到URL,以POST方式提交,測試連接服務端;通過getResponseCode獲取服務端響應碼,判斷連接狀態,響應碼為200時表示已建立連接;連接成功后,獲取服務端響應數據,包裝成BufferedReader(緩沖字符流),讀取BufferedReader保存為字符串responseData,再使用decodeUnicode解碼成UTF-8編碼格式的JSON數據。初次連接時通過HttpURLConnection的getHeaderFields獲取服務端分配的客戶端標識SessionId,存入客戶端Cookie中。

客戶端系統涉及登錄、實時監測、歷史查詢、遠程控制等操作,每項操作需執行接口通信、數據處理。用戶操作時,綁定視圖界面UI的Activity作為主線程,Activity內部onCreate、onClick開啟子線程來調用通信接口,通信結束后,關閉子線程、返回主線程,確保主線程暢通,增強用戶體驗。客戶端通信過程為:(1)初次登錄訪問時,Activity開啟子線程調用接口方法getJSONByInterface,傳遞登錄接口地址及帳號、密碼,提交至服務端;(2)與服務端連接成功后,服務端返回響應數據,讀取狀態碼驗證通過后,保存客戶端標識編號,返回主線程;(3)用戶點擊進入其他界面進行監測、查詢、控制等操作時,開啟子線程再次調用getJSONByInterface,傳入對應服務接口地址URL、客戶端SessionId等相關參數后提交服務端,服務端返回響應結果,讀取狀態碼有效且返回值不為空時,提取響應結果,經UTF-8解碼存儲JSON數據,進行后續解析處理。

3.2.2 數據解析

從服務端響應數據中提取JSON數據,數據解析是將JSON數據轉換為加載到可視化操作界面的顯示數據,包括數字、文本、符號、圖表等。JSON數據分鍵/值對集合對象、鍵/值對有序列表兩種類型。對于前者,解析時通過JSONObject獲取所有鍵/值對,封裝成持久化對象VO;對于后者,同時利用JSONArray和JSONObject將JSON數據轉換為持久化對象VO的列表ArrayList。本設計使用Google提供的GSON方法解析JSON數據[9],使復雜類型數據解析和處理更為簡單。解析過程是,在ClientUtility類中自定義解析方法getDataFromJSON,通信接口子線程結束后,Activity主線程啟動子線程調用該方法,并傳遞JSON數據jsonResponse;分析JSON類型,通過Gson實例方法fromJson直接轉換,將JSONObject轉換為VO對象,JSONArray轉換為ArrayList;利用get等方法進行簡單處理,獲得各類數據綁定到視圖控件、圖表繪制工具上,呈現結果界面。

4 小結

以JTP平臺實際數據為樣本測試智能終端系統,用戶登錄后進入功能主界面。通過實時監測模塊可查看茶園環境實時監測數據,展示動態數值變化曲線,通過手動方式滾動查看;遠程控制模塊可根據當前環境狀態開啟/關閉執行機,調節溫濕度、光照度、土壤成分等數值至合理區間。通過歷史查詢模塊顯示某段時間內環境監測最高值、最低值、平均值信息,實現茶園監控地點異常情況的實時報警;基礎設置模塊可設置各項環境參數閾值。通過測試,能夠達到智能手機遠程監控管理的目標。

本研究將移動互聯與農業物聯網應用相融合,以智能手機快捷、便利方式,對茶園環境情況進行實時監控、報警和遠程控制,查詢歷史數據,實現茶葉生產環境自動化管理,提高了智能化、自動化管理服務效能。

猜你喜歡
用戶服務
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 欧美中文一区| 日本www色视频| 国产精品第一区| 国产日韩欧美中文| 91九色视频网| 在线看片中文字幕| 亚洲大学生视频在线播放| 毛片久久久| 丰满人妻久久中文字幕| 好久久免费视频高清| 国产成人AV综合久久| 国产日韩欧美视频| 在线观看国产精品第一区免费| 亚洲人成网址| 国产呦精品一区二区三区下载| 欧美国产日本高清不卡| 毛片国产精品完整版| 天堂网国产| 中文字幕调教一区二区视频| 香蕉精品在线| 中文字幕在线视频免费| 日韩精品一区二区三区免费在线观看| 日韩亚洲高清一区二区| 日韩欧美亚洲国产成人综合| 免费又黄又爽又猛大片午夜| 五月激情婷婷综合| 99视频在线精品免费观看6| 国产精品中文免费福利| 欧美精品亚洲精品日韩专区va| 88av在线| 一区二区在线视频免费观看| 四虎精品黑人视频| 国产成人毛片| 国产网站在线看| 国产欧美日韩在线在线不卡视频| 无码精品国产VA在线观看DVD| 久久婷婷国产综合尤物精品| 日本在线欧美在线| 91精品国产91久久久久久三级| 国产不卡在线看| 波多野结衣一区二区三区四区| 欧日韩在线不卡视频| 国产www网站| 高清无码一本到东京热| 久久人搡人人玩人妻精品| 97超级碰碰碰碰精品| 婷婷午夜影院| 在线观看精品自拍视频| 亚洲成人精品| 99在线小视频| 久久久亚洲色| 欧美激情第一区| 国产69囗曝护士吞精在线视频| 91久久偷偷做嫩草影院免费看| 久久这里只有精品66| 久久久久久久久久国产精品| 香蕉综合在线视频91| 亚洲香蕉伊综合在人在线| 亚洲男人的天堂久久香蕉网| 国产精品一区在线麻豆| 精品黑人一区二区三区| 国内精品免费| 国产精品午夜电影| 伊人网址在线| 麻豆精品久久久久久久99蜜桃| 国产免费a级片| 色偷偷av男人的天堂不卡| 国产女人18水真多毛片18精品| AV在线天堂进入| 日本精品视频一区二区| 欧美福利在线播放| 狠狠久久综合伊人不卡| 精品国产一区91在线| 国产成人综合日韩精品无码不卡| 精品无码人妻一区二区| 91在线激情在线观看| 国产成人综合久久| 97人妻精品专区久久久久| 九九九精品成人免费视频7| jizz国产视频| 无码网站免费观看| 亚洲婷婷六月|