基于卡车调度系统的移动APP 应用开发
2022-02-18杨天宇
杨天宇,赵 力
(1.中煤科工集团沈阳研究院有限公司,辽宁 抚顺 113122;2.国家煤矿安全技术重点实验室,辽宁 抚顺 113122)
智能化设备随着互联网技术的发展正持续更新换代,为了适应市场对设备功能的需求,众多企业及个人持续增强对Android 系统的研究,基于Android 系统平台寻找更多的移动APP 开发方式。在Android 平台上以原有卡车调度系统功能为参照开发对应功能的移动APP,并通过平板及手机等移动设备应用于矿山中,从而达到能够简便、快捷地查看矿山运行情况。
1 卡车调度系统APP 需求
卡车调度系统作为矿山信息化、智能化的综合应用平台,其主要应用都在PC 端,随着互联时代、信息时代的到来,PC 端远不能满足日常管理的需要。基于卡车调度的移动APP 是将卡车调度系统内与生产高度关联的功能提炼出来,在移动端进行展示,最大限度地还原生产工艺与实时生产情况,通过对车铲配比、生产过程中车辆的实时运行情况、产量情况、设备出动情况、设备故障情况进行汇总展示在移动APP 上,并根据上述信息形成当班效率分析以及单台设备的效率分析,为生产管理者以及生产指挥参与者在生产决策过程中提供科学依据,打破时间与空间的限制,高度匹配矿山行业生产特性,满足全方位实时管理的需求。并按照系统建设的需求,使整个系统有个清晰的规划,再结合APP系统的特点,整理出总体设计思路,如系统功能架构见图1。
图1 卡车调度系统移动APP 功能架构
2 卡车调度系统APP 数据来源
卡车调度系统由车载终端软件、通讯端及调度中心软件组成,车载终端软件能够收集卡车的驾驶员姓名、工号,卡车的实时定位信息,卡车的故障、延时和备用信息,卡车的装卸车信息。数据通过网络传输到卡车调度系统专属服务器中并储存在数据库中。卡车调度系统应用于露天矿山,将卡车调度系统数据与云服务器进行通讯,设置网关对应参数后可自行组网,从而进行卡车调度系统的数据传输,通过网络上传至云服务器,卡车调度系统移动APP 可从云服务器获取相应数据显示。
3 关键技术实现
3.1 安卓APP 开发技术
安卓(Android)是一种基于Linux 内核(不包含GNU组件)的自由及开放源代码的操作系统。已经有了成熟的开发技术,在现有开发技术的基础上,企业需要根据自身实际发展情况及近年来在安卓平台开发的软件的经验基础下,开发属于自己的开发技术。目前,开发技术的基础是效率高且低成本的软件快速开发框架[1]。图2 所示为目前比较常用的Android 快速开发框架。
图2 Android 快速开发框架
Afinal 是一个Android 的sqlite orm 和ioc 框架,并且其中包含了http 框架,使其更加简单易用。xUtils 是在Afinal 框架的基础上进行了大量重构,使得xUtils 拥有更加灵活的ORM,支持大文件上传。ThinkAndroid 是遵循Apache2 开源协议的Android 快速开发框架,主要是为了进行快速、简单的Android 应用程序的开发。AndBase 是为Android 开发者量身打造的一款开源类库产品。dhroid是基于Android 平台,极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展,使你更快、更好地开发商业级别应用。KJFrame-ForAndroid 又叫KJLibrary,是一个Android 的orm 和ioc框架,并在其中封装了Android 的http 与Bitmap 的框架。
Android 平台的移动APP 开发想要从6 种快速开发框架中选择不同框架完成自身开发技术的升华,就必须找出对自身APP 功能以及应用最适合的框架,并剔除其他多余框架,建立属于自己的快速框架系统。
3.2 HTML5 技术选择
(1)利用HTML5 Application Cache 技术在APP 中使用Application Cache 功能来减少发送接收请求的数量,并将数据在缓存中呈现HTML 模版的同时储存在本地存储中,使得程序可以脱机运行。利用HTML5 开发APP,数据传输快,实现迅速,交互体验流畅。
(2)在HTML5 中,通过设备适配功能可以识别不同设备的型号与屏幕,根据屏幕的大小选择性地执行CSS来适应屏幕的指定需求,实现自适应显示[2]。
3.3 移动端定位技术
移动终端的定位技术主要指移动终端通过计算得出自己所处位置的地理坐标。这种技术主要有GPS、A-GPS和E-OTD 等几种。
3.3.1 GPS
全球卫星定位系统是美国第二代卫星导航系统。通过覆盖全球的24 颗卫星来进行定位,在地面任何一个位置,只要能够接收到不少于4 颗卫星的信号就可以通过卫星信号获得该位置的经纬度、高程等数据。GPS 卫星发射的原始数据可以由终端进行处理,也可以由网络服务器进行处理,该数据可用于车辆导航和手持设备。
3.3.2 A-GPS
A-GPS 即辅助GPS 技术,它可以提高GPS 卫星定位系统的性能。它是一种结合了网基站信息及GPS 信息对网内移动设备终端进行定位的技术,普遍适用于室外等空旷地区。该技术优点为:首次获取GPS 信号时间为几秒钟,速度较快,并且在存在不规则建筑物、树木等可以干扰正常GPS 信号定位的情况下,通过基站网络也可以实现快速定位。
3.3.3 E-OTD
E-OTD 定位方法是移动终端通过接收周围至少三个基站的测量数据,通过获取不同基站信号传输到移动终端的时间差和基站与移动终端之间的距离通过公式计算得出的移动终端所处的位置坐标。当用E-OTD 功能的移动终端和定位单元接收至少来自于三个基站发出的信号时,每个基站信号到达移动终端和定位单元的时间差可以计算出来,根据这些时间差值可以得到多组交叉双曲线,从而获得移动端的近似位置[3]。
3.4 数据库同步技术
数据同步又分为三种情况:
(1)间接同步:用于无网络连接环境中的同步方法。
(2)直接同步:通过连接到局域网的移动设备之间进行数据同步的方法。
(3)网络同步:通过互联网将数据先同步到服务器上,然后再通过服务器同步给移动设备的同步方法[4]。
在将卡车调度系统数据库数据同步到云端服务器数据库后,将同步到云端服务器的数据与原有卡车调度系统数据库的数据进行比对,在比对存在不一致情况时再次进行同步数据操作,直至数据对比无误。
4 移动APP 系统功能设计
4.1 数据接收模块
当软件APP 启动时,该模块的功能主要是接收从车载终端发送过来的数据包,并对数据包进行解析获取其中的车辆数据信息,同时将解析后的数据存入云端服务器的数据库中,数据传输过程中使用的网络协议是UDP协议,UDP 协议是一种非连接的、不可靠的通信协议[5]。UDP 协议只要有客户端的请求,服务端就会将所需数据一次性全部发送给客户端,所以UDP 协议适合少量数据的传输,并且UDP 协议传输速度快、延迟低、实时性更好,被广泛应用于网络和通讯。
4.2 地图导航显示模块
通过Android 平台开发导航地图过程中,主要采用Android 提供的MapView 和EditView 两个类实现。通过MapView 来实现地图的移动和缩放功能。通过EditView实现地理资料以及位置的呈现。
4.3 数据库设计
根据客户需求设计合理的数据库结构,并建立数据库。为了更好地对数据进行保存与管理,将数据存储到数据库中。数据库设计遵循一对一设计原则进行数据库的设计及维护,来避免数据大且数据杂的情况出现。数据库设计遵循独特命名原则,从而减少数据冗杂,维护数据一致性。数据库设计遵循双向使用原则,索引功能原则和事物使用原则,索引功能原则的运用能够提高数据查找效率灵活地排列数据,事物使用原则的运用可以提高数据资源的更新和获取速度。
由于云服务器中数据库是以原有卡车调度系统数据库为依据建立的数据库,在原有数据库的基础上新增移动APP 所需的表并删除其他不需要的表。
4.4 报表系统
根据现场实际需要,提供延时、故障、作业统计分析,设备可用、实动等数据计算对比。
建立一套快速、完整、准确的生产信息查询系统,以图表、曲线的形式展示设备的产量、里程、时间等信息,为管理者决策提供数据支持。
4.5 界面展示模块
界面展示是利用HTML5 相关的Web 技术进行实现的。该技术可对不同内容提供丰富的、互动性强的界面交互展示,使得内容的呈现更精美,并且数据提取速度快。客户端界面如图3 所示。
图3 界面显示
5 APP 运行效果
卡车调度系统的移动APP 系统上线运行至今,解决了许多生产管理中相关的问题,如现场出现紧急情况需要在对现场进行了解后方可做决定时,可在移动设备上使用APP 软件对现场生产情况进行查看,这样既减少了由于不及时处理而导致的隐患,又提高了办事效率。并且根据现场不同的管理人员给出不同的软件使用权限,便于现场人员简便了解实际的设备运行情况。
6 结束语
技术的不断进步,人们生活更加便捷,对移动设备更加依赖,移动设备APP 的设计为了满足人们的使用习惯也在不断完善。因此,移动终端的APP 相关工作都有着较大发展空间。基于卡车调度系统开发的移动APP 将会被广泛应用于露天矿,提高生产工作效率的同时也对矿山智能化发展奠定了基础。