APP下载

基于Android平台的客列尾APP的研发

2016-08-11恺陈超林

铁道运营技术 2016年3期

蒋 恺陈超林

(南宁铁路局 科学技术研究所,1.助理工程师,2.工程师,广西 南宁 530001)



基于Android平台的客列尾APP的研发

蒋恺1陈超林2

(南宁铁路局科学技术研究所,1.助理工程师,2.工程师,广西南宁530001)

摘要:针对目前客列尾数据只有在列车入库以后才能进行读取和分析,出现故障后管理人员不能及时拿到数据分析故障原因这一问题,在Android平台上开发了“客列尾APP”应用软件,实现了能够在列车运行途中读取客列尾数据并传送到指定邮箱的功能;本文简述了该APP的开发背景,设计要求及开发过程。目前该APP运行稳定、可靠,具有使用方便、维护简单等特点,减轻了职工劳动强度,提高了工作效率,有良好的推广应用前景。

关键词:客列尾;Android串口通信;SQLite;CRC校验

10.13572/j.cnki.tdyy.2016.03.016

列车尾部安全防护装置(简称客列尾)是保证列车运行安全而设计生产的安全防护设备,也是重要的铁路行车设备。它的主要功能有列车尾部风压查询,列车尾部风压异常告警,列车尾部排风制动等等。自2014年10月以来,旅客列车逐步安装了客列尾装置,取代了运转车长,然而目前客列尾装置的数据分析工作比较被动,只有在列车入库以后,拆下客列尾装置,送到专用库房才能对其进行数据读取及分析。不仅增加了职工劳动强度,也影响了工作效率,因此,急需要一个便携式装置能够在列车运行途中读取客列尾的记录数据,通过无线网络发到指定邮箱,供相关人员分析,及时了解客车运行状态。便携式装置选用Android平板,主要的工作任务是开发读取及分析客列尾数据的应用软件,即客列尾APP。

1 设计要求

实现在Android平板上安装客列尾APP,APP获取到客列尾装置返回的原始数据并解析成文件,再通过WIFI或GPRS无线网络将文件发送到指定邮箱,网络拓扑图见图1。具体设计要求如下:

1)APP向客列尾装置的RS232串口发送指令,客列尾装置收到指令后返回283Kb左右的数据,平板可把这些数据解析成可识别的中文,以列表的形式展现在平板上。

利用平板的GRPS和WiFi二种无线网络发送邮件(带附件)到指定邮箱。在邮件发送之前软件自动判断数据网络,发送结束后自动关闭数据网络,节省数据流量。

2)可对平板串口的参数进行设置,也可设置接收邮箱的地址及SMTP服务器。

3)具有操作日志记录功能,只有达到一定权限的操作人员才能对日志进行查看和删除。

4)在软件界面上能够动态显示数据读取、数据解析、邮件发送的状态。

5)用Excel软件能直接打开接收到的邮件(附件)。

图1 网络拓扑图

2 开发过程

2.1开发平台的选择根据设计要求,现在比较主流的手持设备开发平台为WinCE和Linux开发平台。Linux具有支持多种硬件平台,占有较小的硬件资源,高可定制性,强大的网络功能等优势。WinCE在这几个方面表现相对较弱,基于Linux内核的Android操作系统的应用软件还能移植到现有的Android智能手机中使用。基于此,最后选定Android平板作为开发平台,Java为软件开发语言。

2.2串口数据帧解析软件通过RS232串口向客列尾装置下发读指令,客列尾会返回283Kb左右的通信数据,每条数据帧结构见表1。

表1 数据帧结构

通过对数据帧的分析,可以发现数据帧以“1002”开头,以“1003”结束;状态数据和CRC校验码为4位;列尾ID为6位;记录时间和机车号为8位;作业类别为4位或者6位。根据数据帧结构,我们提取出“记录时间”,“机车号”,“KLW_ID”,“作业类别”,“状态数据”等我们所需要的信息。例如:F90801即表示作业类别中的“开机”。为了防止数据帧在解析过程中出现漏解析、错解析,保证数据的完整性和准确性,我们先用正则表达式将数据帧分隔开,然后在对每一条通信数据帧解析的时候都会进行CRC校验,只有校验成功的数据帧才会被解析并保存下来,数据解析完之后最终的文本文件大小为850Kb左右。软件解析结果见图2。

图2 数据解析结果

2.3Android串口通信方式的确定Android的串口通信解决方案有很多,如通过USB转串口,蓝牙转串口,WiFi转串口,主板自带串口等方式。由于有线通信方式比无线通信方式(蓝牙和WiFi转串口)抗干扰能力更强,数据传输更稳定;再者USB转串口需要购买芯片并对其进行编程,而主板自带串口的可通过JNI技术直接实现串口通讯,所以最终选定的方案是平板自带串口。

2.4后台发送邮件的实现软件是通过无线网络(GRPS和WiFi)将邮件发送到指定邮箱来传送数据的。点击发送邮件后,程序首先判断Android平板当前是否已经打开了数据网络,若没有,则先跳转到网络设置界面,提示用户打开网络;有网络的情况下则直接发送邮件;邮件发送过程中,在软件界面(见图3)会有进度提示和耗费时间等信息,并把进度和结果信息写入到数据库供查找分析。经反复测试,850 Kb数据文本文件(.txt格式)在WiFi和GPRS情况下,邮件发送时间分别为4 s和180 s左右;在4G网络下测试,发送时间只有10 s左右,发送时间在可接受的范围内。

图3 邮件发送提示界面

2.5操作日志查询操作日志的查询需要用到数据库来存储数据,在Android平台上,集成了一个嵌入式数据库—SQLite。SQLite是一款轻量级的关系型数据库,由于它占用的资源非常少,所以很多嵌入式设备都用SQLite来存储数据。并且它支持Linux操作系统,因此数据库选择SQLite。先在数据库中建立表名为Tab_log的表,表中创建3列,分别为序号、时间、操作类型。操作人员在每次读取串口数据、解析数据,发送邮件等操作都会把对应的日志写进SQLite数据库,管理员可按时间范围、操作类型等条件对操作记录进行查询和删除。操作日志界面见图4。2.7发送文件格式的确定为了便于管理人员查看数据,在平板前端形成文件时已经对文件格式做了处理。即把译码完毕的数据写入到一个名为clw. txt的文本文件,相邻二行数据用换行符( )隔开,而每一行数据中的相邻列用制表符( )隔开,这样Excel软件就能够自动识别此格式并打开,定位和筛选数据等操作也变得非常简单。

图4 操作日志查询界面

图5 设置界面

2.8工作流程图软件界面简洁,操作简单,具体工作流程见图6。

图6 工作流程图

3 结束语

客列尾APP从2014年12月开始研发,经过多次修改完善,于2015年8月开始试验,达到了预期效果,具有良好的推广应用前景。

中图分类号:U298.1+2

文献标识码:B

文章编号:1006-8686(2016)0.3-0046-03