基于Android平台的竞赛信息采集终端设计*

2013-09-12 01:49白维维姜玲霞
微处理机 2013年5期
关键词:竞赛终端数据库

兰 帆,王 萍,白维维,姜玲霞

(河海大学物联网工程学院,常州 213022)

1 引言

2 竞赛信息采集系统概述

竞赛信息采集系统是竞赛信息系统的重要组成部分,它直接服务于竞赛现场,是保证赛事有序、高效、公平进行的有力保障,主要完成竞赛现场比赛信息的采集、传输、存储、查询、显示等功能,并且还需要向外围其它竞赛信息系统提供相关竞赛信息,它是一切信息的源头。

目前国内外的竞赛信息采集系统主要采用传统的方法,存在布线难、设备笨重、组网模式复杂、可移动性差的缺点,Android是2007年7月Google公司开发的一套真正意义上的开放性移动设备综合平台系统,它是一个开放的体系架构,具有非常良好的开发和调试环境,因此系统设计选用Android系统作为竞赛信息采集系统的操作平台。

采集终端系统根据竞赛信息采集终端系统的特点,在Android平台上实现了对现场比赛信息的采集、传输、存储和显示功能。

竞赛信息采集系统是一套直接服务于竞赛的比赛数据采集处理系统。竞赛信息采集系统运行情况是否正常,直接关系到比赛的成败。信息采集控制台在比赛全程中对赛场比赛的安排和状态进行监控和管理;在比赛进行中,信息采集终端设备将比赛的成绩或判罚等信息保存到数据库中,同时通知显示模块和控制台,PDP模块将比赛参赛者信息、成绩、判罚等信息实时显示在显示屏上,信息采集控制台在接收到通知后输出比赛信息给成绩处理子系统。竞赛信息采集系统结构图如图1所示,其中采集终端是整个采集系统的核心。

3 竞赛信息采集终端系统硬件平台

3.1 终端硬件总体结构

采集终端硬件平台结构以S5PV210处理器为核心,相应扩展必要的外围设备,后者由电源管理、存储、输入输出和通信接口四个模块组成。其中存储模块包含Flash和SD两种,分别是非易失性和易失性存储设备;输入输出模块实现终端的人机交互,包括触摸屏和键盘两种输入设备以及LCD显示设备;通信接口模块包括USB和SDIO这两种硬件接口,USB接口用于实现终端与上位机的同步,应用于.Net软件开发调试与部署,而SDIO接口用以扩展SD-WiFi无线网卡,使采集终端能够接入现场的无线局域网中。

在比赛进行过程中,采集终端主要响应两方面的操作,其一是来自操作人员(裁判)的数据输入,终端及时采集数据并通知控制端,做出相应更新;其二是来自控制端的命令消息,通常有比赛开始/结束、状态汇报、锁定/解锁等。

图1 虚线部分为竞赛信息采集系统结构图

图2 终端硬件平台结构图

3.2 硬件接口

竞赛信息的采集和传输是终端的两大基础业务功能。从硬件角度来说,采集依赖于键盘和触摸屏两种输入,传输则通过SD-WiFi无线网卡实现。其中键盘采用常规行列式的硬件接口,实现起来相对简单,不再赘述。下文重点介绍触摸屏和SDIO硬件接口的设计。

新规则将“件”的定义进行简化,对“件”的构成阐述更为详细,其中“来文与复文(请示与批复、报告与批示、函与复函)一般独立成件,也可为一件”。实际提供了两种选择:一是合为一件,能够保持文件间的有机联系,保证事件处理的连续性,事件脉络清晰。对于纸质文件而言,此种处理方式问题不大,但对于电子文件而言,则会增加管理层次、影响命名和即时归档。二是独立成件,能够确保每份文件的独立性,在文件整理时更加契合文件形成规律,但在一定程度上削弱了同一事件文件间的有机联系。新规则选用“一般”、“也可为”字眼,体现了组件的灵活性,档案机构可以根据办公自动化情况、工作实际及工作习惯等因素自行选择、合理确定。

(1)触摸屏接口

四线电阻式触摸屏的核心部件是屏内部两层均匀透明的阻性导体层,且分别在X、Y方向由导电条中引出正负电极X+、X-、Y+、Y-。当触及屏中某一点时,上层导电层发生形变与下层发生接触,从而使得四个方向电极上的电压发生变化,等效为四个方向的电阻,其电压由触摸屏控制器获取并经过模数转换,最后计算触点坐标值。

触摸屏的外围接口由触摸屏,外部电压源Vcc以及四个外部晶体管构成,四个外部晶体管分别用来控制X+、X-、Y+、Y-的接地或接外部电源,而这些晶体管的通断则是由S5PV210产生的TSXP1、TSXM1、TSYP1和TSYM1四路信号来控制。

(2)SDIO

c)TCP协议保证数据顺序,UDP协议可能丢包;

SDIO接口总线是基于HOST-DEVICE模式设计的[35],在通信过程中都是由HOST端发送命令请求,DEVICE接收并响应,请求和响应的过程都会包含数据信息。SDIO接口总线主要有4种信号,分别是:

1)时钟信号SDCLK,控制SDIO接口的工作时序。

2)数据信号 SDD0...SDD3,双向的数据传输线。SDIO支持1线和四线两种传输模式,其中在1线模式时SDD0作为数据线,而SDD1则作为中断线。

迪庆、丽江供电局在完成沿岸生产人员安全转移的基础上,积极开展线路巡视和设备排查,安排人员 24小时蹲守江边监测洪峰情况。123个安置点,2371个帐篷,到处能见到南网人的身影,在点亮安置点的同时,他们还在安置点设置了便民充点点,向灾民发放安全用电资料,并24小时值守在安置点。

4)电源信号VDD和电源地信号VSS。

图3 SDIO控制器硬件接口

4 基于Android系统的采集终端系统设计

竞赛信息采集客户端的应用软件是其数据采集和传输、本地XML配置文件读写、硬件状态获取以及通信环境自动配置等功能的具体实现。下面分别从数据存储、数据采集、数据传输、界面设计给出采集器应用软件的设计过程。

4.1 数据存储设计

每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常低,只需要几百K的内存就够了。SQLite已经被多种软件和产品使用,Mozilla FireFox就是使用SQLite来存储配置数据的,Android也使用SQLite来存储数据。

SQLite数据库是D.Richard Hipp用C语言编写的开源嵌入式数据库,支持的数据库大小为2TB。它具有如下特征:轻量级、独立性、隔离性、跨平台、多语言接口、安全性。

在数据库设计中主要应用了SQLite中的SQLiteOpenHelper、Cursor类、数据类型。

家庭成员的态度:丈夫和儿子均把他们的全部收入交给病人,这已得到证实,确认。他们说病人十分的不可理喻、总爱抱怨。丈夫和儿子都是理智的人并且富有责任感。丈夫曾卖掉自己的驴子以支付她的医疗费用。

构造函数,调用父类SQLiteOpenHelper的构造函数

绝大部分ncRNA不编码蛋白质,在RNA水平上发挥其生理功能.越来越多的研究表明原核生物体内存在的转录后调控与ncRNA密切相关.ncRNA的功能多种多样,几乎参与了细菌的各个生命活动过程.针对S. Typhi中发现的ncRNA AsrC,对其表达特性和功能进行初步研究.

其次,有的学生做题时一旦遇到疑惑,便马上翻开书本查找,这样容易形成一种心理暗示,没复习好不要紧,反正待会儿做的时候看书就可以了。在这种情况下,事先进行的复习也不过是走走形式而已,所以,做题要一气呵成,如果确实遇到了难以解决的问题,先不要急着翻书,而是等着这部分练习全部做完后,再去查找、补查复习不到位的地方。这样,就能借助练习找到自己的弱点,进行有针对性的复习,补足知识上的缺陷。

onCreate()方法;//TODO创建数据库后,对数据库的操作

onUpgrage()方法。//TODO更改数据库版本的操作

企业经济管理工作中,还要不断地提升工作人员的业务素质,使工作人员能够适应新形势下的经济管理模式。首先,提升人员素质应当从思想意识引导与实践两个方面着手。引导工作人员转变观念。基于实际工作向工作人员开展培训,使得工作人员能够有效地参与工作。其次,提升人员素质,应从加强对工作人员的考核入手。定期对工作人员进行考核,能够促进工作人员主动学习,不断地适应新的市场环境。根据考核结果,能够及时发现工作人员的不足,从而开展针对性地培训,全面促进工作人员业务素质提升。工作人员的业务能力、思想理念,直接决定了工作质量。在企业经济管理工作实际中,要积极探索,不断地提升人员素质,从而促进经济管理工作的发展[4]。

当你完成了数据库操作(例如你的Activity已经关闭),需要调用SQLiteDatabase的Close()方法来释放掉数据库连接。

2)Android使用Cursor类返回一个需要的值,Cursor作为一个指针从数据库查询返回结果集,使用Cursor允许Android更有效地管理它们需要的行和列,你使用ContentValues对象存储键/值对,它的put()方法允许你插入不同数据类型的键值。

3)SQLite和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在 CREATE TABLE语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite将检查它的类型。如果该类型与关联的列不匹配,则SQLite会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入INTEGER列。SQLite称这为“弱类型”(manifest typing.)。

表1为SQLite在本系统中的具体设计表。

4.2 数据采集和传输设计

4.2.1 数据采集设计

竞赛信息采集终端实现竞赛信息的实时采集和传输、对控制端命令消息的实时响应等业务逻辑,其应用软件基本运行流程如图4所示。

图中控制端表示与采集终端对应的终端控制子系统(下同)。在终端启动并完成数据、通信等初始化工作后,开始向控制端发送连接请求,这个过程一方面建立了与控制端的TCP通信连接,同时也通知控制端,该采集终端设备已经就绪且开始工作。

1)因为Android可以提供数据库。在Android应用程序中使用SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android提供了SQLite OpenHelper帮助你创建一个数据库,你只要继承SQLiteOpenHelper类,就可以轻松的创建数据库。SQLiteOpenHelper类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpen-Helper的子类,至少需要实现三个方法:

在一场比赛未开始前,控制端将向终端下发包含比赛初始信息的命令消息,以通知后者即将开始的比赛。期间,采集终端一直处于锁定状态而不可以操作,直到控制端通知比赛开始并下达解锁命令。

表1 SQLite在系统中的具体设计

图4 采集终端应用软件基本运行流程

男女生身高与肺活量呈低度正相关(r男=0.394,r女=0.291,P<0.01),身高与立定跳远也呈低度正相关(r男=0.167,r女=0.149,P<0.01)。这表明无论男生女生,身高越高,肺活量值越大,同时立定跳远跳得越远。凭借常识我们可判断出身高与立定跳远的相关,但身高与肺活量相关方面的研究还不多,是否存在身高与肺活量之间有中间变量影响?假设身高高的人生长发育较身高矮的人发育良好,身高高的人平时更注重抬头挺胸直腰,要验证这一假设还有待深入研究。

一场比赛结束后,采集终端完成竞赛信息采集并重新进入锁定状态,直到下一场比赛开始。软件系统初始化。

1) 乙醇浓度。火龙果皮甜菜苷类色素含量随浸提乙醇浓度的增大呈先升高后降低趋势,当浸提乙醇浓度<40% 时,火龙果果皮甜菜苷类色素提取量呈逐渐上升趋势;当乙醇浓度增至40%时提取量最高,为4.15 mg/100g;之后乙醇浓度继续增大则提取量呈下降趋势,其原因可能是适当的乙醇浓度可以溶解和破坏火龙果果皮细胞膜中磷脂及其他脂类,有助于甜菜苷类色素的提取[13]。因此,乙醇浓度选择40%为宜。

软件系统初始化过程完成软件运行的环境准备,其主要工作包括:

首先完成软件运行的初始参数准备,即从XML配置文件读取终端的节点号、IP地址、端口、AP的SSID号和密码、终端控制子系统的节点编号和IP、端口以及其他功能参数等信息。

其次检查终端的通信环境是否满足预定义条件。这个过程包含两方面工作,其一是检查终端IP地址与参数信息中的是否匹配,否则更改IP;其二是检查是否连向配置文件中指定的无线AP,否则更改连接。

然后检测终端的硬件初始状态,即电量状态和无线连接信号强度是否满足终端正常运行的要求。

最后启动终端TCP客户端通信服务,完成软件的初始化。

4.2.2 数据传输层设计

d)TCP协议保证数据正确性,UDP协议可能丢包;

TCP是面向连接的传输通信协议,UDP是面向事务的无连接通信协议。TCP和UDP协议的主要特点和区别包括以下几个方面:

a)TCP协议面向连接,UDP协议面向非连接;

b)TCP协议传输速度慢,UDP协议传输速度快;

根据雷达回波监测及廊桥附近的监控视频综合分析(图6),廊桥桥顶垮塌时间与合村气象站所测得极大风速时间基本一致,在19:34—19:35左右。0.5°仰角的雷达径向速度为27~30 m/s。同时根据现场调查,廊桥周边部分树木存在折断、倒伏现象,玉米地、大棚被破坏的情况,对照蒲氏风级表对陆地地面征象表述的“九级风为烟囱及平房顶受到损坏,小屋遭受破坏;十级风为陆上少见,见时可使树木拔起,或将建筑物吹毁”。据此判断,廊桥桥顶垮塌时可能有10级大风。

SDIO(Secure Digital Input and Output Card),即安全数字输入输出卡,是在SD标准上定义的,用来增加802.11b、蓝牙、照相机和GPS等功能的一种外设接口。采集终端使用的就是基于SDIO接口扩展的SD-WiFi无线网卡。S5PV210集成了一个SDIO控制器,兼容1.0版本的SDIO卡规格。SDIO控制器的硬件接口如图3所示。

返璞归真,看到这个词我们就能明白是需要我们还原生活的本真,最原来的样子的生活方式,还其本质,恢复最早朴实的生活方式,这就需要生活器皿朴实、朴拙。道家学者庄子说过“静而圣,动而王,无为也而尊,朴素而天下莫能与之争美”说的就是返璞归真的朴素、朴拙。

采集终端收到命令后根据通信协议执行相应的操作,将数据传输到数据采集控制端。在TCP/IP网络体系结构中,传输层有两个重要的协议TCP和UDP,相应的通信数据单位分别为TCP报文段和UDP数据报。

e)TCP协议对系统资源要求多,UDP协议要求少。

电气性能是仪表电缆测试时的重要内容,主要包括直流电阻、绝缘电阻和冲击电压试验等[18],在文献[1-4]中均有详细的规定。结构尺寸、机械性能、物理性能等也需满足仪表电缆所执行的标准中规定的要求。对于阻燃、耐火、耐油、耐紫外线等特殊要求,相关的国内外测试标准见表2所列。

结合本课题系统的特点,通信传输层协议选择了UDP。

3)命令信号SDCMD,双向的命令传输线,传输控制端的命令和设备端的响应。

为了避免UDP通信带来的不可靠性隐患,采集终端的通信在基于UDP协议的基础上制定了带响应的握手通信机制。如图5所示,每次系统之间进行通信时,首先发送端进行消息组包,然后向指定接收端发送消息包,接收端在收到消息包后必须先向发送端发送反馈消息,表明已经收到消息,最后接收端进行数据包的解析。若接收端不发送反馈信息,则发送端默认对方未收到消息,发送端进行消息重发,重发间隔时间与次数可以根据情况设置。

4.3 界面设计

竞赛信息采集终端是基于特定用户——通常是裁判而非专业人员,且面向特定应用——竞赛信息采集的专业设备,因此采集终端软件界面的设计不仅要求直观且简单,即界面包含的信息以及操作都尽量简单明确,同时终端的软件界面需保留一定的容错机制,尽量避免用户的误操作,而且保证误操作后可修改。

图5 基于UDP通信协议的握手通信过程示意图

Activity、Service、Broadcast Receiver、ContextProvider是android系统的四大组件。其中Activity是Android组件中最基本也是最为常见的组件,在一个android应用中,一个Activity通常就是一个单独的屏幕。在实现界面设计的时候主要用的都是Activity类。

变电站控制终端也就是主计算机的引入,让变电站拥有了自己的大脑,可以根据变电站的实际运行情况作出判断和处理,在计算机终端短时间内反应,避免事故发生时由于处理不当或者处理不及时造成变电站故障,进一步导致整个油田电网的输变电事故。

实现界面分为三步:取得控件对象、注册控件的监听事件、根据业务需求实现事件功能。

第一步:取得空间对象:

设计android应用程序的布局文件,为控件添加样式,然后android系统自动为每个控件分配一个int类型的唯一标示。通过findViewById()方法取得控件实例

第二步:注册监听事件

为控件注册OnClickListener()事件,对控件的用户操作消息进行监控,实现业务需求控制。

第三步:实现事件功能

根据业务需求,调用业务层的功能函数,完成业务逻辑操作,并且根据业务需求,刷新显示界面。

我国的水稻品种基本都是高秆类型。遇到大风天气,水稻容易发生倒伏,不能保证正常的产量。因此,培育矮秆类型的水稻品种是我国水稻育种急需解决的问题。在20世纪50年代,我国育种专家以广西水稻品种“矮仔占”为材料,选育出“矮仔占4号”,并与高秆品种“广场13”进行杂交,培训出第一个矮秆籼稻品种“广场矮”。

实现事件功能所需建立的函数及功能描述,如表2所示。

表2 函数及功能描述

5 结 束 语

该平台阐述了竞赛信息采集系统的实现过程。系统具有较强的灵活性,可以支持数据采集与传输功能。系统将Android应用到采集终端设备上,提高了设备放置地点的可移动性和操作性。经过实际操作与检验,该系统能够顺利完成赛事信息采集的整个过程,满足竞赛项目的赛事需求,同时系统操作便捷、运行稳定,保证了比赛信息的实时性和准确性。

[1]张思民.嵌入式系统设计与应用[M].北京:清华大学出版社,2008.

[2]吴建军,李刚.“科技奥运”背景下加快我国运动竞赛信息化建设的迫切性分析[J].南京体育学院学报,2008(6):56-57.

[3]欧阳波.科技奥运之运动会信息系统[C].全国体育计算机应用研讨会,2009,9:27 -37.

[4]赵黎.体育信息技术应用与发展[C].全国体育计算机应用研讨会,2009,9:12 -14.

[5]陈思宁.基于无线通信技术的艺术体操竞赛信息测报系统研究[D].常州:河海大学,2009.

猜你喜欢
竞赛终端数据库
2020丝绸之路数学竞赛
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
GSM-R手持终端呼叫FAS失败案例分析
我看竞赛
创新思维竞赛(3)
数据库
数据库
数据库
数据库