李 虹
(北京航天拓扑高科技有限责任公司,北京 100176)
随着计算机、互联网技术和移动通信网络的迅速普及和发展,传统的机械设备状态监测与故障诊断已经无完全满足该领域的要求。为提高机械设备状态监测的及时性和可用性,便于监测人员快速、高效进行设备数据管理和监测,基于移动端的机械设备数据监测系统应运而生。设计开发基于移动端的设备数据监测系统,实现移动端—服务器—数据库数据监测系统设计与搭建,能显著提升设备数据的监测管理能力,推动机械设备状态监测与故障诊断技术的发展。
设备数据监测系统通过全面、精准的在线监测功能,实现对整个工艺流程全方位监测,结合通信技术、计算机技术、数据库技术实时将监测数据传输到PC端,实现远程监控及系统监测数据的存储、管理;然后通过数据统计及分析,形成符合系统运行规律的数据监测;最后实现移动端与PC端的数据访问[1],构建移动端—服务器—数据库数据监测系统,以Android—Java Web—Oracle为例进行搭建。
(1)Android操作系统基于Linux内核开发而成,其因体系完整、自由且源代码开放而频繁应用于移动平板电脑、手机等便携设备中,如今,该操作系统已然超出了单纯的手机操作系统范畴,能够灵活应用于基于移动端的各项事务[2]。
(2)Java Web是用Java技术解决相关Web互联网领域的技术总和,在设备数据监测系统中主要作用于服务器部分,采用MVC(Model View Controller,模型视图控制器)设计架构并使用Servlet响应移动端的数据请求和数据库访问。
(3)Oracle Database是目前较为主流的关系数据库管理系统,其具备可移植性好、使用方便、功能强大等特性,适用于各类大、中、小、微机环境,是一种高效率、可靠性好、适应高吞吐量的数据库解决方案[3]。
基于移动端的设备数据监测系统主要由设备数据采集端、服务器端及客户端构成,其中,设备数据采集模块包括数据监测点及数据采集发送终端,主要实现机械设备数据的采集和发送;服务器模块包括Java Web服务器及数据库服务器,主要实现数据请求响应及用户权限管理等业务;客户终端包括PC终端和移动端,主要实现数据的终端浏览及报表分析。设备数据监测系统架构如图1所示。
图1 设备数据监测系统架构
设备数据监测系统基本工作流程:Android客户端通过HTTP-POST请求,以Json格式数据与服务器中间件进行交互[4],服务器Servlet通过SQL语句访问数据库后响应Android客户端,流程如图2所示。
基于移动端的设备数据监测系统主要针对数据监测需求,实现基于移动端设备地域分布显示、工艺流程显示及相关数据监测、报警信息推送、历史数据信息统计报表等功能。相应功能模块构建如下:
图2 基本工作流程
(1)设备地域分布。设备数据监测系统中,设备的地域分布显示及重点数据浏览功能主要根据相关场站及重点设备的经纬度坐标在地图上进行标点,构建场站网络分布图,并对相应经纬度点添加单击响应实现场站数据显示及切换。本项目搭建主要使用高德地图Android SDK地图开发调用接口,加入地图的相关功能。
(2)工艺流程图及数据监测。设备数据监测系统的工艺流程图及数据监测,主要实现工艺流程图展示及场站详细数据的轮询请求,实现场站数据的实时监测访问。
(3)报警信息推送。设备数据监测系统的报警信息推送主要根据相关设备阈值判断是否触发报警,报警相关阈值信息存储于报警信息数据库列表。设备数据在写入数据库时进行阈值判断,若触发警报,则将报警信息主动推送至移动设备端。本项目搭建过程中主要使用百度推送实现相关功能。
(4)数据信息报表。数据信息报表主要根据设备场站数据进行数据筛选及汇总,绘制数据走势图及数据信息图表,包括年度数据分析、季度数据分析、月数据分析及日数据分析。
UI(User Interface,用户界面)界面设计主要包括:用户登录界面、设备地域分布及重点数据显示界面、工艺流程图及数据显示界面、数据走势图显示界面、数据报表显示界面、报警信息列表及详细信息界面、个人中心界面。
界面设计理念要求应用程序的界面设计符合用户的操作习惯、视觉喜好、简洁性等特性,分析相关功能需求,针对用户喜好制定相应策略:界面搭建由Layout布局文件嵌套实现,辅以ListView,TextView,Button,EditView,ImageView,Toast,MPAndroidChart,高德地图 MapView,AlertDialog及自定义 Dialog,Adapter,自定义View组件等相关控件绘制UI界面[5]。
(1)设备地域分布及重点数据显示。设备数据监测系统中的场站设备地域分布主要基于高德地图Android SDK实现,下拉菜单PopupWindow。高德地图的SDK使用流程如下:
①在AndroidManifest.xml文件中进行相关网络权限设置,确保地图功能能够正常使用。
②application标签设置高德key,导入地图包:<meta-data android:name="com.amap.api.v2.apikey"android:value="key"/>。
③初始化地图容器MapView,在View绘制中添加地图容器,并在Activity中合理管理生命周期。
最后使用AMap类操作地图,包括:添加点标记(Marker)、绘制几何图形(Polyline,Polygon,Circle)、各类事件监听(点击、手势)等。场站分布如图3所示。
(2)工艺流程图及数据监测。设备数据监测系统中工艺流程图主要涉及工艺流程图的显示、缩放及回收。该功能模块使用基于DrawerLayout+Tool-Bar+BaseAdapter的ListView实现设备站点的工艺流程图及相关数据切换,数据请求访问为基于OkHttp的异步访问请求,其通过Handler进行UI更新。工艺流程图及数据显示如图4所示。
图3 场站分布图
(3)报警信息推送。设备数据监测系统的报警推送功能主要借助于百度推送平台,导入云推送jar包和so文件,并配置相关权限设置及service服务,在当前工程主Activity的onCreate函数中,添加代码以启动云推送服务:
PushManager.startWork(getApplicationContext(),PushConstants.LOGIN_TYPE_API_KEY,"api_key")
而后,新建类并填写接收云推送回调信息和推送到达信息的类的类名,重载所有的回调函数。此外,服务器端Java Web端需绑定对应云推送key以建立云推送通道。
(4)数据信息报表。数据信息报表主要根据设备场站数据绘制数据走势图及数据信息图表,使用MPAndroidChart绘制数据曲线走势图,使用自定义表盘控件实现数据当日计量,数据交互使用Json数据格式,OkHttp异步网络请求。数据曲线走势如图5a所示,数据报表如图5b所示。
图4 工艺流程
互联网、移动通信技术的迅速普及不断推动机械设备状态监测与故障诊断的发展,轻巧便捷成为设备检测与故障诊断技术的目标之一。设计开发基于移动端的设备数据监测系统能够有效帮助监测人员快速、高效地实现数据监测管理,从而显著提升机械设备数据的监测管理能力及数据统计能力[6],推动机械设备状态监测与故障诊断技术的发展。
图5 数据信息报表
[1]陈建刚.基于Android客户端和Web服务器的个人健康档案系统[D].北京:北京邮电大学,2012.
[2]李虹.基于Android的东巴经典传承人机交互移动端设计与开发[D].北京:北京信息科技大学,2017.
[3]肖莉.网站建设中如何选择数据库的标准[J].品牌与标准化,2012(2):62.
[4]黄淑静,杨红梅.利用JSON+WebService实现Android访问远程数据库[J].IT 论坛,2013(9):98-99.
[5]李宁.Android开发权威指南[M].北京:人民邮电出版社,2011.
[6]A.Niknejad.A Quality Evaluation ofan Android Smartphone Application[D].Sweden:University of Gothenbarg.2012.