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

基于Android平臺的智能養殖監控客戶端設計與實現

2018-09-04 09:37:16曹文麗高惠芳秦會斌李小龍
軟件導刊 2018年6期

曹文麗 高惠芳 秦會斌 李小龍

摘 要:為了改善大規模生豬養殖管理混亂、環境惡劣等問題,滿足管理系統便攜性與時效性需求,設計開發了基于Android的豬舍實時監控客戶端。該系統不僅可以觀測豬欄實時環境參數,還可根據不同情況作出最佳環境控制,對豬舍進行視頻監控。具有智能提醒功能,設置各環境因子閾值,持續超標對象將被推送至客戶端,供管理者及時調整相關控制設備。測試表明:該客戶端系統運行穩定,用戶可實時監測和調控豬舍環境。

7關鍵詞:Android;視頻監控;生產預警;環境監控;WebSocket

DOI:10.11907/rjdk.172912

中圖分類號:TP319

文獻標識碼:A 文章編號:1672-7800(2018)006-0124-04

Abstract:In order to improve ill-manegement, dirty environment and other defects of large and medium-sized pig breeding, to cater to the pursuit of portability and timeliness of breeders, the real-time monitoring of piggery based on Android is proposed, real-time piggery monitoring client based on Android is designed and developted. Not only the real-time environment parameters can be all observed in the pigsty, but reasonable control also can be maded according to the suitable range of different circustances, real-time management of the more important means of production, video surveillance to overall situation about the piggery. There′s also intelligent reminder, according to the thresholds of environmental factors, the continued overproof object to be pushed to the client for user to adjust timely. Tests show that this client system runs stably, and users can operate on real-time normally.

Key Words:android; video surveillance; production early-warning; environment monitoring; websocket

0 引言

隨著人工智能的出現,遠程遙控、智能養殖進入養豬行業。盡管Web遠程監控是移動監控的基石 [1],但實時性差。個人手持設備飛快發展,遠程控制的實時、便攜功能日趨重要,智能養殖、現代化生產越來越依賴于這種方式。為此,本文設計了基于Android的豬舍監控客戶端系統,最大限度地滿足智能信息時代需求。該客戶端可實時查看各種數據,控制豬舍環境參數,實現生產資料的增、刪、改、查,接收預警消息推送,查看實時監控視頻,實現對豬舍的智能控制。

1 監控系統

監控系統分為本地監控(環境參數采集前端、控制模塊)、平臺服務器(云服務器、視頻服務器)以及Android終端等模塊[2],系統總體架構如圖1所示。

Android端提供交互界面,通過云服務器轉發消息至本地監控端,本地監控端控制設備調節環境[3]。

1.1 實時數據、消息及預警

如圖2所示,Android端和本地監控端分別通過WebSocket協議與云服務器建立雙向通信,實現將Android客戶端的控制消息通過云服務器轉發給本地監控端進行環境控制。同時,本地監控端通過云服務器將實時參數、控制命令的響應消息以及環境異常的預警消息轉發至Android終端[4]。

1.2 歷史數據

本地監控端將采集到的環境數據通過WebSocket上傳至云服務器豬場數據庫,Android終端用戶注冊并登陸驗證,將請求參數進行JSON封裝,向云服務器發送HttpClient接口的Post請求[5],云服務器通過Hibernate操作數據庫,獲取請求數據,返回至Android終端。Android終端接收數據并進行JSON解析、處理以及UI顯示。

2 Android客戶端設計與實現

2.1 客戶端

客戶端主要功能為視頻監控、生產管理和環境監控,各模塊詳細功能如圖3所示。

2.1.1 登錄模塊

用戶首次使用時,需要注冊賬號并保存至數據庫table_user_piggery表中,用戶下次登錄進行安全驗證。登錄時,首先對用戶輸入進行格式審查,然后提供自動登錄、記住密碼等選項,對登錄信息進行加密,高級用戶還可修改其他用戶權限。

2.1.2 視頻監控

視頻采集前端使用海康的IPC,因此這部分是基于??礢DK的二次開發。在Android終端,有權限用戶登陸成功后,點擊所要預覽的豬欄號即可進入目標豬欄視頻監控頁。豬舍監控客戶端系統設計了VideoDiapalyActivity.java類,根據用戶選擇的豬欄號獲取相應豬欄的視頻數據,由UI線程呈現給用戶,在 VideoDiapalyActivity.java類中使用Android網絡庫中NET_DVR_Login_V30接口(使用IP地址或靜態域名均可)與設備建立遠程連接,然后使用NET_DVR_RealPlay_V40接口實時預覽,音、視頻解碼,得到豬舍的二進制音、視頻數據,然后使用Android播放庫中PLAY接口將豬舍視頻顯示到SurfaceView上,進行實時預覽和下載等操作。

2.1.3 生產管理模塊

對豬場的豬只、飼料、藥品、設備、員工、客戶、收支等生產資料進行增、刪、改、查,統計分析以及數據批量錄入,用戶可通過(條形碼/二維碼)“掃一掃”或“搜索相關物料”,查看庫存量和流水賬單,使用表格、餅狀圖、折線圖等方式展現分析結果,用戶可直觀地掌握養豬場內各生產資料的詳細情況。此外,對特殊的生產工作,如藥品過期、養殖物的繁殖和育種、疫病防御等,系統給予用戶生產預警,提示重要工作距離當前的時間,并將不足一日期限的工作重點標記,登錄后立即彈出預警提醒對話框,輔助用戶安排工作。

2.1.4 環境監控模塊

包括環境因子的實時預覽、調控、歷史查詢(表格式和折線圖式)、超標報警等主要模塊。

其中超標報警基于WebSocket協議實現,Android終端連接云服務器與之保持長連接,定時檢測數據庫中當前時間的前t秒內新采集的數據是否超標,將超標信息進行封裝后通過云服務器轉發給Android終端,實現邏輯如圖4所示,用戶可根據采集數據的間隔選擇每次檢測的時段。

Android終端接收到報警消息后,默認在狀態欄保留一天??蛻舳藢㈩A警消息進行備份,接收報警后立即將消息保存至數據庫table_history_environment_warning表中,便于后期預警分析。用戶點擊即可查看詳細信息,根據意愿選擇是否手動調整環境參數。若選擇手動控制,則立即向本地監控端發送控制命令,進而實現Android端豬舍環境的遠程調控。

2.1.5 其它功能

如版本更新檢測、下載和安裝、意見反饋、清除緩存、頭像設置、上傳和下載、養殖資訊、初始數據的批量錄入等等。

2.2 客戶端通信模塊設計

Android端主要實現與云服務器通訊,根據Android端用戶請求類型選擇通信對象和方式,詳細交互過程如圖5所示。

(1)用戶登錄和注冊。首先使用正則表達式對用戶輸入進行檢查,然后使用RSA非對稱加密方式對用戶名和密碼進行加密和Base64編碼,客戶端使用公鑰加密,服務端使用相應的私鑰進行解密[6],并在服務端使用Filter進行攔截。如果用戶登錄成功,系統會把用戶ID放入HTTP session中,方便跟蹤登錄狀態,敏感操作都要驗證HTTP session中的userId,成功后才允許加入,避免反編譯Android應用等危害系統安全的操作。

(2)建立WebSocket連接,接收實時參數。開啟消息推送監聽Service,注冊廣播接收器,等待接收環境超標報警通知,設計MyWebsocketClient工具類與云服務器建立WebSocket連接,查詢本地監控端是否在線,不在線時提醒Android終端用戶,在線時進入監控主頁面[7]。

(3)環境控制。基于WebSocket協議設計了MyWebsocketClient單例類作為Android終端的WebSocket客戶端,實現Android終端與云服務器的雙向通信,間接實現與本地監控端的雙向通信[8]。

控制消息發送:Android端用戶選擇要調控的參數,由ControlMessageManager()按用戶選擇將控制信息根據自定義協議格式進行封裝。消息頭:參數username,根據username識別消息的源客戶端。消息內容:定義一個長度為7的字符串數組,按照temp,humid,light,co2,h2s,nh3,room的順序設置要調整的參數值,不調整的參數默認為0,將該字符串數組拼接成“28,0,0,0,0,0,1號舍”樣式字符串。通過WebSocket發送至云服務器,通過云服務端轉發至本地監控端。

回復消息:本地端收到Android端的控制消息后,解析參數username得到發送消息的源客戶端,即回復消息的目的客戶端,成功:message=success,失敗:message=error,通過云服務器轉發至Android端。

部分核心代碼如下:

public static final String WEBSOCKET_URL = "ws://"+SERVER_IP+":8080/PigHouseServer/pigwebsocket/";

MyWebsocketClient mClient = MyWebsocketClient .getSingleTon(new URI(WEBSOCKET_URL + username));

String commandMessage = ControlMessageManager(element,room,value);//消息封裝

mClient.connect();//連接云服務器

mClient.send(commandMessage );//發送控制消息

//在onMessage中接收云服務器轉發的回復消息,使用EventBus對象將該事件發送到接收方

EventBus.getDefault().post(new MessageRespEvent(EventType.MESSAGE).setMessage(message));

(4)歷史數據交互。采用JSON作為Android端與云服務端的數據交換格式[9],設計MyHttpUtil類對Apache HttpClient進行封裝,定義postRequest()和getRequest()方法發送請求,在參數較多時,使用List進行封裝[10],部分核心代碼如下:

FutureTask taskPig = new FutureTask( new Callable() {

@Override

public String call() throws Exception {

HttpPost postPig = new HttpPost(url);

List params = new ArrayList<>();

for (String key : rawParams.keySet()) {

params.add(new BasicNameValuePair(key ,rawParams.get(key)));}//封裝參數

postPig .setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));// 設置參數

httpResponse = httpClient.execute(postPig);//發送請求

… } } });

new Thread(taskPig ).start();

(5)用戶輸入非法(包括格式、長度、空)、網絡異常、權限不足以及登錄失效等異常處理。

3 部分UI展示及測試分析

客戶端作為人機交互的工具,友好、簡潔、靈活是前提。本設計可對各個豬舍環境參數實時監測和調控,對豬場的各類生產資料進行增刪改查管理,對各個豬舍進行視頻監控。

3.1 登錄、注冊

圖6為用戶登錄和注冊界面。

3.2 環境監控模塊

如圖7所示,圖7(a)為實時顯示環境,依次為6個被控因子的實時值,用戶下拉可刷新界面;圖7(b)為歷史環境變化趨勢及調控選擇,用戶可根據各個參數提示的最佳范圍選擇調整參數值。為了避免因用戶操作失誤導致不必要的損失,限制用戶只能選擇限定的調整數值,由本地監控端控制調整幅度;圖7(c)展示了接收環境超標報警消息推送的測試結果。圖7(c)中控制方式為手動控制,會自動跳轉至相應控制頁面。用戶拖動左側杯子中的水位,右側量尺會自動度量拖動的數值,點擊立即調整,即可向服務端發送控制命令,實時顯示調整參數值,如圖7(d)所示。

3.3 生產管理模塊

主界面設計如圖8所示。圖8(a)為生產管理模塊主界面,選擇左側菜單欄中物料分類,右側內容欄則展示該分類的詳細頁面,單擊頂部圖片logo即可查看該分類的庫存明細,詳細頁面logo下方展示該分類下的一些熱門物料。圖8(b)、圖8(d)則分別為生產資料的查詢和批量刪除操作測試結果,刪除時可選擇分類刪除或全部刪除;圖8(c)是以收支為例展示物料的統計分析測試結果,以扇形圖或表格等直觀形式展現。圖8(e)為新物料錄入;圖8(f)展示了物料的搜索,選中某一種物料即可得到其詳細資料,包括圖片介紹、型號、分類、庫存量、主要用途等。

3.4 視頻監控

如圖9所示,圖9(a)為視頻監控模塊界面,用戶雙擊圖9(b)上方視頻畫面或點擊播放按鈕即可進入實時預覽,點擊下載按鈕可隨時將監控視頻保存至手機,圖9(c)為全屏模式下的實時預覽。

4 結語

本文設計并實現了基于Android平臺的豬場監控客戶端系統,采用MVP模式設計了客戶端整體框架,對客戶端界面、通信模塊、數據庫等分別進行了設計與實現。筆者在實驗室內(外網)對各模塊的詳細功能進行了驗證和測試,結果表明各功能均達到要求。該系統適合大中型生豬養殖場應用,具有研發成本低、擴展能力強和維護方便等優點,便于大范圍推廣。

參考文獻:

[1] 魏煒,夏秉龍,李程程.基于Android平臺的水雨情測報系統客戶端設計[J].大眾科技,2017,19(1):14-21.

[2] 曾劍鋒,蘇娟.基于Android平臺的汽車油量監控報警系統的設計與實現[J].計算機應用與軟件,2017,34(3):324-328.

[3] 譚峰,薛齡季軒,姜珊,等.基于云平臺的棚室環境遠程監控系統[J].牡丹江師范學院學報:自然科學版,2017(2):6-10.

[4] 陳建剛,黃國偉,蔡鴻鑫,等.基于WebSocket的多功能智能設備遠程控制[J].計算機與現代化,2016(12):97-101.

[5] 黃超瓊,王天寶,陳超,等.基于安卓的智慧農業APP設計與實現[J].軟件導刊,2015,14(1):1-3.

[6] 秦利紅,秦會斌,諸堅彬,等.基于Android平臺智能家居客戶端的設計與實現[J].計算機應用與軟件,2016,33(9):88-126.

[7] 王佃來,宿愛霞,安晏輝.基于WebSocket的消息推送系統[J].計算機系統應用,2017,26(9):87-92.

[8] 廖海波,杜亮,鄭方雄,等.WebSocket在智能家居遠程監測系統中的研究與應用[J].微型機與應用,2017,36(7):12-18.

[9] 劉望,常波.基于Android的校園學生信息服務APP開發[J].軟件導刊,2016,15(6):83-85.

[10] 金永奎,袁圓,顏愛忠.基于Android的高效節水灌溉遠程監控系統設計及實現[J].中國農機化學報,2016,37(4):202-206.

(責任編輯:杜能鋼)

主站蜘蛛池模板: 亚洲专区一区二区在线观看| 国产成人一区免费观看| 色婷婷丁香| 91亚洲精选| 噜噜噜久久| 久热re国产手机在线观看| 91口爆吞精国产对白第三集| 国产一二三区在线| 国产精品视频导航| 久久一色本道亚洲| 中国精品久久| 欧美精品影院| 国产浮力第一页永久地址| 国产夜色视频| 青青青国产精品国产精品美女| 成人年鲁鲁在线观看视频| 国产成人精品免费视频大全五级| www.亚洲国产| 性网站在线观看| 国内精品视频区在线2021| 国产尤物在线播放| 国产主播在线一区| 欧美国产精品不卡在线观看| 国产成年女人特黄特色大片免费| 国产成人亚洲毛片| 欧洲亚洲一区| 亚洲无码37.| 精品撒尿视频一区二区三区| 香蕉综合在线视频91| 黑人巨大精品欧美一区二区区| 成人午夜福利视频| 欧美激情视频二区三区| 中文天堂在线视频| 91美女在线| 性视频久久| 伦精品一区二区三区视频| 中文精品久久久久国产网址| 青青草国产免费国产| 亚洲欧美日韩综合二区三区| 亚洲美女操| 国产成人高清亚洲一区久久| 久久情精品国产品免费| 日韩亚洲综合在线| 欧洲一区二区三区无码| 日韩精品免费在线视频| 午夜国产理论| 在线视频精品一区| 国产成人91精品| 伊人久久综在合线亚洲2019| 91无码人妻精品一区| 午夜在线不卡| 国产精品浪潮Av| 久久狠狠色噜噜狠狠狠狠97视色| 55夜色66夜色国产精品视频| 久久久久久高潮白浆| 尤物在线观看乱码| 亚洲av无码成人专区| 第一页亚洲| 中文字幕 欧美日韩| 国产精品黄色片| 一本久道热中字伊人| 国产亚洲视频中文字幕视频 | 欧美精品成人一区二区在线观看| 亚洲综合久久一本伊一区| 国产精品成人第一区| 97视频免费看| 天天综合天天综合| 午夜国产精品视频| 91色在线观看| 亚洲国产天堂久久综合| 在线国产毛片| 制服丝袜国产精品| 国产丝袜第一页| 国产精品女熟高潮视频| 婷婷中文在线| 精品无码专区亚洲| 欧美精品在线看| 国产成人精品一区二区秒拍1o| 无码国产伊人| 国产在线精彩视频论坛| 丁香婷婷激情综合激情| 国产成人久久综合一区|