基于Android手持数据采集分析软件的设计

郑嘉明,苏凯雄

(福州大学 物理和信息工程学院,福建 福州 350002)

:针对大型工程机械设备智能化的趋势,紧密结合现代化大型工程机械设备的需求现状,基于Android系统设计了一套工程机械手持数据采集分析软件。通过WiFi接收下位机采集的数据,在Android终端以图形文本等多种形式显示数据并将数据保存在本地。该设计旨在为手持式、便携式的工程数据采集终端与数据分析软件的开发提出一种新的解决方案。

:工程机械;手持式;Android;数据采集

:TP316文献标识码:ADOI:
10.19358/j.issn.1674-7720.2017.03.029

引用格式:郑嘉明,苏凯雄.基于Android手持数据采集分析软件的设计[J].微型机与应用,2017,36(3):99-102.

0引言

1软件的总体设计

(1)通过WiFi接收下位机上传的数据,最大支持16通道数据采集,可实现压力、温度、流量等多种类型数据的采集与分析,各通道的工作参数可独立配置;

(2)能以波形及文本的方式实现采集结果的基本数据分析;

软件总体架构以及各个子模块之间的关联如图1所示。

2软件功能子模块的设计与实现

本设计的界面显示功能子模块是基于模型视图控图3实时数据显示模块的MVC架构制器(ModelViewController,MVC)的架构模式进行设计。模型层工作在后台,存储着该应用的基本数据;控制层在模型层与视图层之间运转,是视图与模型对象的联系纽带,管理着模型层与视图层之间的数据传递,同时还被设计为响应由视图层触发的各种事件。视图层工作在前台,提供人机交互、管理屏幕上显示视图的绘制以及响应用户的输入等[4]。

下面对各个界面显示功能子模块的MVC架构和各个后台服务功能子模块的框架进行详细说明。

2.1服务器IP地址设定模块

服务器IP地址设定模块的MVC架构如图2所示。该界面是所有界面中最简单的一个界面,只包含一个Activity的子类LoginActivity。因为该模块较为简单,固不需要模型层。LoginActivity作为控制层,布局文件中的控件TextView、EditText和Button作为视图层。

2.2实时数据显示模块

实时数据显示模块的MVC架构如图3所示。该模块是所有功能子模块中最为复杂的一个。

模型层包含两个自定义类,一个是DateCh类, 其为接收数据的模型类;另一个是SysCh类,其为系统配置文件的模型类。

控制层包含两个类,一个是Activity的子类MainActivity,另一个是Fragment的子类MainFragment。这时的控制层引入Fragment进行应用的UI管理,是为了绕开Android系统对Activity的规则限制。

2.3系统配置文件修改模块

系统配置文件修改模块的MVC架构如图4所示。该模块主要实现查看和修改系统配置文件的功能。系统配置文件主要用于采集终端16个通道所对应的配置信息。

2.4选择回放文件模块

选择回放文件模块的MVC架构如图5所示。该模块主要实现查看回放文件的目录和选择回放文件的功能。数据文件保存在分级式目录,不同时间段接收的数据分别存在不同的文件夹中,文件夹名称为最后一个数据接收的时间。每个文件夹中16个通道采集的数据也分成各自的文本保存。

选择回放文件模块包含两个Activity的子类SelectFloderActivity类和SelectFileActivity类。两个类各自负责一个用户界面。

2.5回放数据显示模块

回放数据显示模块的MVC架构如图6所示。该模块主要实现回放接收数据,以波形的方式显示出来,并能通过触控的方式缩放平移图形。

2.6数据保存和数据加载模块

数据保存与数据加载模块的框架如图7所示。本模块服务于接收数据的保存和系统配置文件信息的保存加载。数据保存的格式是JSON(JavaScript Object Notation)格式,JSON是一种轻量级的数据交换格式,不仅易于机器解析和生成,而且在 络中的传输速度快,同时也易于阅读和编写。JSON格式是如今比较流行的一种数据交换格式。

数据保存与数据加载模块的底层库使用Android SDK内置的标准org.json类包、java.io类包和android.text.format.Time类。java.io类包可以用来通过数据流、序列化和文件系统提供系统输入和输出。org.json类包可以用来创建和解析JSON文件。android.text.format.Time类可以提供以秒为精确度的时间。

2.7WiFi 络数据接收模块

WiFi 络数据接收模块的框架如图8所示。本模块用于连接远程WiFi从下位机接收采集数据,并校验数据。

WiFi 络数据接收模块的底层库使用Android SDK内置的标准java.io类包和java.net.Socket类包。java.io类包可以用来通过数据流、序列化和文件系统提供系统输入和输出。java.net.Socket类包提供了客户端TCP的套接字。

2.8本地文件操作模块

本地文件操作模块的框架如图9所示。本模块主要实现读取文件目录的功能。

本地文件操作模块的底层库使用Android SDK内置的标准java.io.File类包和android.os.Environment类包。java.io.File类包提供了文件读写的功能,android.os.Environment类包提供了访问外部环境变量的功能。

3设计界面与测试结果

(1)服务器IP地址设定界面

打开软件,首先出现的用户界面是服务器IP地址设定界面,输入正确的服务器IP地址和相应的端口 后,点击连接按钮,跳转到实时数据显示界面,否则点击退出按钮,退出软件。

(2)实时数据显示界面

实时数据显示界面如图10,需要多个后台服务模块支持。其中包括需要WiFi 络数据接收模块通过WiFi 络连接上采集终端服务器,接收该终端采集的数据;需要通信协议服务模块通过双方约定的通信协议校验接收数据的正确性;需要数据保存与数据加载模块从本地加载系统配置文件并对接收的数据进行配置;需要数据保存与数据加载模块将数据保存在本地的外部SD卡文件中;最后需要本模块中的图形显示功能将数据以多种形式显示出来。在实时数据显示界面中,也可以选择进入系统配置文件修改界面和选择回放文件界面,或者退出软件。

(3)系统配置文件修改界面

系统配置文件修改界面如图11。数据保存与数据加载模块将系统配置文件加载出来,然后即可进行手动修改。点击保存按钮,通过数据保存与数据加载模块用修改后的系统配置文件覆盖原本的系统配置文件并保存到本地文件中。点击返回按钮,回到实时数据显示界面。

(4)选择回放文件界面

选择回放文件界面如图12。本地文件操作模块将采集数据保存的文件目录读取出来,并以列表的形式进行显示,点击列表项进入回放数据显示模块,或者点击返回,回到实时数据显示界面。

(5)回放数据显示界面

回放数据显示界面如图13。数据保存与数据加载模块将采集数据从本地文件加载出来,以图形的形式进行显示,并且可以通过触控方式更详细地查看采集的数据。点击返回,回到选择回放文件界面。

4结论

本软件设计基于Android系统,实现了通过连接远程WiFi,接收下位机采集的工程机械设备工作状态数据,并将数据以图形、文本等多种形式显示在用户界面,用户可以通过该软件远程控制工程机械设备的启动和停止,接收的数据也可以保存于本地方便以后回放,还可以保存在SD卡上,方便拷贝到其他终端进行查看。本软件目前已应用于大型工程机械设备实时监控系统中,运行状态良好,未出现明显漏洞和问题。

参考文献

[1] 董拴牢, 刘汉光, 陆永能,等. 数据采集分析系统在装载机压力测试中的应用[J]. 工程机械,2006,37(10):60-62.

[2] ZHOU Q, SUN J. Study on an intelligent monitoring application system of construction machinery[C]. Second International Symposium on Knowledge Acquisition & Modeling, 2009:249-252.

[3] 耿东久, 索岳, 陈渝,等. 基于Android手机的远程访问和控制系统[J]. 计算机应用, 2011, 31(2):559-561.

[4] 文松, 王太勇, 张庆华,等. 一种多通道高速数据采集与实时分析系统的研究[C].全国振动技术及工程应用学术会议, 2000:2-3.

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年2月4日
下一篇 2017年2月4日

相关推荐