李 虹
(北京航天拓撲高科技有限責任公司,北京 100176)
隨著計算機、互聯(lián)網(wǎng)技術和移動通信網(wǎng)絡的迅速普及和發(fā)展,傳統(tǒng)的機械設備狀態(tài)監(jiān)測與故障診斷已經(jīng)無完全滿足該領域的要求。為提高機械設備狀態(tài)監(jiān)測的及時性和可用性,便于監(jiān)測人員快速、高效進行設備數(shù)據(jù)管理和監(jiān)測,基于移動端的機械設備數(shù)據(jù)監(jiān)測系統(tǒng)應運而生。設計開發(fā)基于移動端的設備數(shù)據(jù)監(jiān)測系統(tǒng),實現(xiàn)移動端—服務器—數(shù)據(jù)庫數(shù)據(jù)監(jiān)測系統(tǒng)設計與搭建,能顯著提升設備數(shù)據(jù)的監(jiān)測管理能力,推動機械設備狀態(tài)監(jiān)測與故障診斷技術的發(fā)展。
設備數(shù)據(jù)監(jiān)測系統(tǒng)通過全面、精準的在線監(jiān)測功能,實現(xiàn)對整個工藝流程全方位監(jiān)測,結(jié)合通信技術、計算機技術、數(shù)據(jù)庫技術實時將監(jiān)測數(shù)據(jù)傳輸?shù)絇C端,實現(xiàn)遠程監(jiān)控及系統(tǒng)監(jiān)測數(shù)據(jù)的存儲、管理;然后通過數(shù)據(jù)統(tǒng)計及分析,形成符合系統(tǒng)運行規(guī)律的數(shù)據(jù)監(jiān)測;最后實現(xiàn)移動端與PC端的數(shù)據(jù)訪問[1],構(gòu)建移動端—服務器—數(shù)據(jù)庫數(shù)據(jù)監(jiān)測系統(tǒng),以Android—Java Web—Oracle為例進行搭建。
(1)Android操作系統(tǒng)基于Linux內(nèi)核開發(fā)而成,其因體系完整、自由且源代碼開放而頻繁應用于移動平板電腦、手機等便攜設備中,如今,該操作系統(tǒng)已然超出了單純的手機操作系統(tǒng)范疇,能夠靈活應用于基于移動端的各項事務[2]。
(2)Java Web是用Java技術解決相關Web互聯(lián)網(wǎng)領域的技術總和,在設備數(shù)據(jù)監(jiān)測系統(tǒng)中主要作用于服務器部分,采用MVC(Model View Controller,模型視圖控制器)設計架構(gòu)并使用Servlet響應移動端的數(shù)據(jù)請求和數(shù)據(jù)庫訪問。
(3)Oracle Database是目前較為主流的關系數(shù)據(jù)庫管理系統(tǒng),其具備可移植性好、使用方便、功能強大等特性,適用于各類大、中、小、微機環(huán)境,是一種高效率、可靠性好、適應高吞吐量的數(shù)據(jù)庫解決方案[3]。
基于移動端的設備數(shù)據(jù)監(jiān)測系統(tǒng)主要由設備數(shù)據(jù)采集端、服務器端及客戶端構(gòu)成,其中,設備數(shù)據(jù)采集模塊包括數(shù)據(jù)監(jiān)測點及數(shù)據(jù)采集發(fā)送終端,主要實現(xiàn)機械設備數(shù)據(jù)的采集和發(fā)送;服務器模塊包括Java Web服務器及數(shù)據(jù)庫服務器,主要實現(xiàn)數(shù)據(jù)請求響應及用戶權(quán)限管理等業(yè)務;客戶終端包括PC終端和移動端,主要實現(xiàn)數(shù)據(jù)的終端瀏覽及報表分析。設備數(shù)據(jù)監(jiān)測系統(tǒng)架構(gòu)如圖1所示。
圖1 設備數(shù)據(jù)監(jiān)測系統(tǒng)架構(gòu)
設備數(shù)據(jù)監(jiān)測系統(tǒng)基本工作流程:Android客戶端通過HTTP-POST請求,以Json格式數(shù)據(jù)與服務器中間件進行交互[4],服務器Servlet通過SQL語句訪問數(shù)據(jù)庫后響應Android客戶端,流程如圖2所示。
圖2 基本工作流程
基于移動端的設備數(shù)據(jù)監(jiān)測系統(tǒng)主要針對數(shù)據(jù)監(jiān)測需求,實現(xiàn)基于移動端設備地域分布顯示、工藝流程顯示及相關數(shù)據(jù)監(jiān)測、報警信息推送、歷史數(shù)據(jù)信息統(tǒng)計報表等功能。相應功能模塊構(gòu)建如下:
(1)設備地域分布。設備數(shù)據(jù)監(jiān)測系統(tǒng)中,設備的地域分布顯示及重點數(shù)據(jù)瀏覽功能主要根據(jù)相關場站及重點設備的經(jīng)緯度坐標在地圖上進行標點,構(gòu)建場站網(wǎng)絡分布圖,并對相應經(jīng)緯度點添加單擊響應實現(xiàn)場站數(shù)據(jù)顯示及切換。本項目搭建主要使用高德地圖Android SDK地圖開發(fā)調(diào)用接口,加入地圖的相關功能。
(2)工藝流程圖及數(shù)據(jù)監(jiān)測。設備數(shù)據(jù)監(jiān)測系統(tǒng)的工藝流程圖及數(shù)據(jù)監(jiān)測,主要實現(xiàn)工藝流程圖展示及場站詳細數(shù)據(jù)的輪詢請求,實現(xiàn)場站數(shù)據(jù)的實時監(jiān)測訪問。
(3)報警信息推送。設備數(shù)據(jù)監(jiān)測系統(tǒng)的報警信息推送主要根據(jù)相關設備閾值判斷是否觸發(fā)報警,報警相關閾值信息存儲于報警信息數(shù)據(jù)庫列表。設備數(shù)據(jù)在寫入數(shù)據(jù)庫時進行閾值判斷,若觸發(fā)警報,則將報警信息主動推送至移動設備端。本項目搭建過程中主要使用百度推送實現(xiàn)相關功能。
(4)數(shù)據(jù)信息報表。數(shù)據(jù)信息報表主要根據(jù)設備場站數(shù)據(jù)進行數(shù)據(jù)篩選及匯總,繪制數(shù)據(jù)走勢圖及數(shù)據(jù)信息圖表,包括年度數(shù)據(jù)分析、季度數(shù)據(jù)分析、月數(shù)據(jù)分析及日數(shù)據(jù)分析。
UI(User Interface,用戶界面)界面設計主要包括:用戶登錄界面、設備地域分布及重點數(shù)據(jù)顯示界面、工藝流程圖及數(shù)據(jù)顯示界面、數(shù)據(jù)走勢圖顯示界面、數(shù)據(jù)報表顯示界面、報警信息列表及詳細信息界面、個人中心界面。
界面設計理念要求應用程序的界面設計符合用戶的操作習慣、視覺喜好、簡潔性等特性,分析相關功能需求,針對用戶喜好制定相應策略:界面搭建由Layout布局文件嵌套實現(xiàn),輔以ListView,TextView,Button,EditView,ImageView,Toast,MPAndroidChart,高德地圖 MapView,AlertDialog及自定義 Dialog,Adapter,自定義View組件等相關控件繪制UI界面[5]。
(1)設備地域分布及重點數(shù)據(jù)顯示。設備數(shù)據(jù)監(jiān)測系統(tǒng)中的場站設備地域分布主要基于高德地圖Android SDK實現(xiàn),下拉菜單PopupWindow。高德地圖的SDK使用流程如下:
①在AndroidManifest.xml文件中進行相關網(wǎng)絡權(quán)限設置,確保地圖功能能夠正常使用。
②application標簽設置高德key,導入地圖包:<meta-data android:name="com.amap.api.v2.apikey"android:value="key"/>。
③初始化地圖容器MapView,在View繪制中添加地圖容器,并在Activity中合理管理生命周期。
圖3 場站分布圖
最后使用AMap類操作地圖,包括:添加點標記(Marker)、繪制幾何圖形(Polyline,Polygon,Circle)、各類事件監(jiān)聽(點擊、手勢)等。場站分布如圖3所示。
(2)工藝流程圖及數(shù)據(jù)監(jiān)測。設備數(shù)據(jù)監(jiān)測系統(tǒng)中工藝流程圖主要涉及工藝流程圖的顯示、縮放及回收。該功能模塊使用基于DrawerLayout+Tool-Bar+BaseAdapter的ListView實現(xiàn)設備站點的工藝流程圖及相關數(shù)據(jù)切換,數(shù)據(jù)請求訪問為基于OkHttp的異步訪問請求,其通過Handler進行UI更新。工藝流程圖及數(shù)據(jù)顯示如圖4所示。
圖4 工藝流程
(3)報警信息推送。設備數(shù)據(jù)監(jiān)測系統(tǒng)的報警推送功能主要借助于百度推送平臺,導入云推送jar包和so文件,并配置相關權(quán)限設置及service服務,在當前工程主Activity的onCreate函數(shù)中,添加代碼以啟動云推送服務:
而后,新建類并填寫接收云推送回調(diào)信息和推送到達信息的類的類名,重載所有的回調(diào)函數(shù)。此外,服務器端Java Web端需綁定對應云推送key以建立云推送通道。
(4)數(shù)據(jù)信息報表。數(shù)據(jù)信息報表主要根據(jù)設備場站數(shù)據(jù)繪制數(shù)據(jù)走勢圖及數(shù)據(jù)信息圖表,使用MPAndroidChart繪制數(shù)據(jù)曲線走勢圖,使用自定義表盤控件實現(xiàn)數(shù)據(jù)當日計量,數(shù)據(jù)交互使用Json數(shù)據(jù)格式,OkHttp異步網(wǎng)絡請求。數(shù)據(jù)曲線走勢如圖5a所示,數(shù)據(jù)報表如圖5b所示。
互聯(lián)網(wǎng)、移動通信技術的迅速普及不斷推動機械設備狀態(tài)監(jiān)測與故障診斷的發(fā)展,輕巧便捷成為設備檢測與故障診斷技術的目標之一。設計開發(fā)基于移動端的設備數(shù)據(jù)監(jiān)測系統(tǒng)能夠有效幫助監(jiān)測人員快速、高效地實現(xiàn)數(shù)據(jù)監(jiān)測管理,從而顯著提升機械設備數(shù)據(jù)的監(jiān)測管理能力及數(shù)據(jù)統(tǒng)計能力[6],推動機械設備狀態(tài)監(jiān)測與故障診斷技術的發(fā)展。
圖5 數(shù)據(jù)信息報表