

免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android平台的桥梁监测终端的开发 摘要:随着Android技术的迅猛发展和日趋成熟,Android操作系统在手持终端中所占比例正逐步上升,其开放性、便携性、良好的兼容性、无缝结合网络通信等特点将使Android操作系统在未来工业领域中也有着广泛的应用。本文提出一种基于Android平台的桥梁监测终端的开发设计方案,该方案的终端设计基于S3C6410处理器的硬件平台和Android 1.5版本的软件平台,通过Socket编程使终端利用Wi-Fi无线通信技术接收桥梁数据,通过分析数据并将其保存到终端SQLite数据库中。终端应用程序的界面显示能够读出数据获取信息,通过调用数据库中的历史数据与当前数据进行比较而达到对桥梁监测的目的。该方案重点研究接收终端的平台结构,系统架构和应用程序的设计与实现。 关键字:Android;Wi-Fi;ARM;SocketDesign of Bridge Monitoring Systems Terminal Based on Android Abstract: With the rapid development and increasingly sophisticated of Android technology, Android operating systems share is gradually increased. Its openness, portability, good compatibility, integration of network communication and so on will make Android operating system have a wide range of industrial applications in the future. This paper presents a design of bridge monitoring systems terminal based on Android platform. This terminal design is based on S3C6410 processor and Android 1.5 software platform. The terminal receives bridge data by Wi-Fi wireless technology via Socket programming, then analyses data and saves it to the SQLite database. Terminals application program can display data on UI, and compare historical data and current data to monitor the bridge. The method focuses on platform of terminal, system architecture and design of application program.Keywords: Android;Wi-Fi;ARM;Socket引言(INTRODUCTION)建国以来,我国桥梁建设发展迅速,但随着时间的推移,越来越多的桥梁因地质灾害发生结构性损伤将提前达到设计基准期。由于桥梁是重要的基础设施,且投资巨大,所以对桥梁状况的监测意义重大。目前桥梁监测存在的主要问题有:监测仪器设备落后,工作量大,费用高,监测复杂且耗时长。监测过程中主观人为因素较大,不能客观准确地反映桥梁的实际情况。监测技术落后,没有充分利用现代科学技术发展最新成果和理论。为全面监测桥梁状态,确保桥梁的安全,本文提出基于Android平台的桥梁监测系统的终端设计方案,以提高监测和评估的可靠性。该系统使用Wi-Fi无线通信技术来获取前端数据,通过手持终端来控制和处理数据信息,并在此基础上进一步完善人工监控、数据库系统,建立与智能技术相结合的桥梁运行状态的分析及评估专家系统,最终实现桥梁的现代化管理。0. 系统总体概述基于Android平台的桥梁监测系统的开发包括:前段采集模块、中继模块和手持终端三部分。前端采集模块包括:处理器、传感器、调理电路、ZigBee无线模块及外围电路;中继模块包括:处理器、Wi-Fi无线模块、ZigBee无线模块、存储单元及外围电路;手持终端包括:中央处理器、Wi-Fi无线模块、显示单元、存储单元及外围电路等部分。监测系统运行时,置于桥梁截面的前端采集模块启动,采集装置在一定时间里采集一次桥梁的状态数据:温度、湿度、降水量、支座位移、桥梁截面振幅等。采集数据经处理器换算成相应的参数,通过ZigBee传输给中继模块进行本地储存。开启手持终端设备上相应的应用程序,选择主菜单的监测系统,点击测试按钮,终端向中继器发送指令启动其Wi-Fi模块并与终端的Wi-Fi模块建立连接,中继器将其保存的数据通过Wi-Fi发送给手持终端,终端在接收数据后进行解析并在程序界面上显示出来,同时将数据保存到本地数据库。数据接收完毕,终端应用程序的查询系统可以调用SQLite数据库查询桥梁的前期数据,预警系统将数据和门限值比较得出相应结论,评估系统利用专家系统及数据统计分析对桥梁进行科学的评估。桥梁监测系统框架如图1所示:图1系统框图 在桥梁监测系统中,前端采集设备和中继器将收集到的桥梁数据传送给终端设备,而手持终端的主要任务是:接收数据、处理数据、保存数据、显示数据等,预警系统和专家评估系统也需要通过终端来完成。终端的设计在整个桥梁检测系统中占有着举足轻重的位置。1. Android操作系统 Android是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android操作系统基于开放的Linux内核,是真正开放的平台,其应用程序可以调用该平台中任何的核心功能。Android的应用程序可以通过标准 API 访问核心移动设备功能,并通过HTML、JavaScript 和WebView 嵌入网络。Android 提供了完整的多任务运行环境,多个应用程序可以在Android系统中并行运行。SQLite是Android所带的标准数据库,支持SQL语句,是轻量级的嵌入式数据库,可以对数据进行增、删、查、改的操作。作为嵌入式SQL数据库引擎,SQLite没有独立的服务进程,直接读写原始磁盘文件。拥有多个表、索引、触发器和视图的完整SQL数据库包含在独立的磁盘文件中,Android数据库中的数据储存在目录/data/data/databases中。Android作为终端操作系统,其软件层次自下而上分为:基于Linux内核的操作系统层,各种库和Android 运行环境,应用程序框架,应用程序,如图2所示:图2:Android软件平台结构Android应用程序由以下四个部分组成:Activity、Broadcast Intent Receiver、Service、Content Provider。并不是所有的程序都会涉及这四部分,只使用Activity类也可完成对特定程序的设计开发。Android应用程序需要在项目中的AndroidManifest.xml描述文件里申明上述四个部分,并为各部分的功能和需求进行描述。Android系统的UI设计可以通过xml配置、用户界面接口或直接用代码生成。Activity类是Android应用程序中最基本的功能单元,该类借助于View和Viewgroup两个最基本的用户界面表达单元显示在界面屏幕上。2. 终端硬件设计 Android要求系统CPU至少为ARM9 200MHz才能运行Dalvik Java虚拟机,该方案的终端设计选择Samsung公司的ARM11 S3C6410嵌入式处理器为核心,其主频为533MHz/667MHz,最高达800MHz。S3C6410是基于16/32-bit RISC内核的低成本、低功耗、高性能微处理器解决方案,采用64/32-bit内部总线架构,内部集成多个功能强大的硬件加速器。S3C6410的外部存储器接口能力极佳,能够满足Andriod应用程序的开发需求。桥梁监测系统中,终端要完成接收数据、处理数据、保存数据、显示数据等功能。其硬件设计以S3C6410嵌入式处理器为核心,结合Wi-Fi短距离无线通信模块,再辅以显示应用程序界面的LCD显示屏,以及USB接口用以实现其他功能需求。存储单元为SDRAM和FLASH。其硬件结构如图3所示:图3:Android硬件结构3. 终端应用程序设计该方案的终端应用程序设计基于Google研发的Android 1.5操作系统来实现桥梁监测功能。Android的系统构架分为应用层、应用框架层、系统运行库层和Linux内核层,Android应用程序的开发通过应用框架与Android底层进行交互。该终端应用程序的设计采用模块化程序设计方案,根据终端需要完成的任务、任务性质及实时性等要求结合数据流程详细划分出各功能模块。根据桥梁监测系统功能的需求,该终端要实现的功能模块有:界面显示模块,Socket通信模块,SQLite数据存储模块。该终端应用程序的设计采用简单易懂且逻辑性更强的MVC模式把应用程序的视图层和控制层相分离。应用程序设计中,视图层在layout目录里用XML语言来编写,控制层在src目录里用Java语言来编写。整个应用程序流程如图4所示:图4:应用程序设计流程3.1 界面显示模块设计桥梁监测系统终端的设计中,为保证操作简单且能够方便直观地读取数据,良好人机界面的设计是必不可少的。该终端的应用程序界面设计中采用对功能菜单的分类来分别设计相应的界面。该监测系统中,终端应用程序要实现的主要界面有:登陆主界面,主功能选择菜单,下属子菜单,数据显示界面四大部分,其设置如图5所示:图5:界面显示模块系统界面是用户对设备操作的人机界面,系统界面的良好设计有助于用户对设备的操作,方便进行设备控制和数据存储。软件界面采用分级结构,界面的设计由xml文件生成,java文件用来定义Activity类,并与对应的xml文件相关联,通过对不同Activity类的调用,来实现对不同界面的切换,这样设计的应用程序更具模块化管理。具体步骤为:打开Android项目里的reslayout目录,用xml语言来编辑设计程序界面。首先确定界面的布局,嵌套ViewGroup的LinearLayout和RelativeLayout进行布局,调整android:layout_width、android:layout_height、android:background、android:padding、android:orientation、android:gravity等参数值,以达到满意的整体布局效果。然后在ViewGroup布局中添加View控件:textview、button,根据实际需要调整各控件的android:id、android:layout_height、android:layout_width、android:text、android:textSize等参数值。通过调整布局排列,控件位置,字体大小,最终完成对Android应用程序UI的布局。3.2 Socket通信模块设计桥梁监测系统运行时,手持终端要接收中继器发送来的数据则必须采用socket通信技术。socket通信使手持终端和中继器建立连接进行数据交互,最终将桥梁的状态数据通过中继器传送给接收终端。打开Android项目里的src文件夹,为Activity创建一个相关联的Java文件,不同Activity对应各自的xml界面文件。打开测试子菜单对应的Java文件,给对应的Button控件添加java程序,使其完成socket通信的建立,连接与关闭功能。Socket工作过程如图7所示:中继服务器首先启动,通过调用Socket()建立一个Socket,然后调用bind()将该Socket和本地网络地址绑定在一起,再调用listen()使Socket做好监听准备,并规定它的请求队列的长度,之后调用accept()来接收连接。终端在建立Socket后就可调用connect()和服务器建立连接。连接一旦建立,手持终端和中继器之间就可以通过调用sendto()和recvfrom()来发送和接收数据。最后,待数据传送结束后,双方分别调用closesocket()关闭服务。图7:手持终端和中继器socket连接流程3.3 数据存储模块设计手持终端接收到桥梁状态数据后需要在本地对数据进行分析归类并保存在SQLite数据库中,以便后期的调用查询。在该终端的应用程序设计中采用Android系统内置的SQLite数据库,该数据库提供了添加(insert)、删除(delete)、查询(query)、修改(update)等基本操作。应用程序通过SQLite创建私有的数据库以存储复杂的结构化数据,在Android设备中数据库位于/data/data/databases文件夹。该应用程序设计中,通过调用辅助类SQLiteOpenHelper来创建、打开、更新和升级数据库。SQLiteOpenHelper类的实现由调用其子类:onCreate (SQLiteDatabase), onUpgrade (SQLiteDatabase, int, int)来完成,其中SQLiteDatabase提供create, delete, execute SQL commands等方法来管理和操作SQLite数据库。在桥梁监测系统中,为使前端采集设备、中继器和手持终端之间的数据传输更为便捷和高效,并满足数据存储和显示的要求,特规定监测系统中传输数据所使用的数据格式如下:包头包长度指令编号采集设备号数据长度数据正文包尾0x5a660x010x120x010x0660数据1数据2数据3数据4数据5数据60xa51010105520说明:包头: 0xa5 一字节(1B);包尾: 0x5a 一字节(1B);包长度: 所传输数据包的总长度,包括包头包尾,以字节为单位。1字节(1B);指令编号:一字节(1B);数据长度:数据正文的长度,以字节为单位。一字节(1B);数据正文:包括六路数据,每路数据占用10个字节,共60字节(60B),为字符串。数据存储过程如图8所示:当终端和中继器建立socket连接后,中继器将保存在本地的前端采集数据包通过Wi-Fi传递给终端。终端接收数据包后,在本地按照规定数据格式进行解析,将提取的相关数据在本地SQLite数据库中保存,并更新数据表。需要调用当前或历史数据时,从本地数据库中提取数据,然后进行二次处理,并将提取出来的数据和相应的界面控件Textview关联,最终将数据显示在终端界面上。图8:SQLite存储读取数据桥梁监测系统终端应用程序设计完成后,运行如下:4. 总结本桥梁监测系统基于Android系统平台,其开放性、便携性、丰富的硬件选择性、良好的兼容性、无缝结合网络通信等特点使基于Android平台的手持终端在工业领域具有更加广阔的发展前景。基于Android平台的桥梁监测系统终端的设计,通过前端采集模块获得桥梁温度、湿度、降水量、支座位移、桥梁截面振幅等重要状态参数,利用低功耗Zigbee技术实现前端采集模块与Android操作系统终端之间的通信,通过对桥梁结构应变等基础数据的监测为桥梁的长期安全维护提供方便可靠的系统方法。参考文献:1 孙弋. ARM-Linux嵌入式系统开发基础M. 西安:西安电子科技大学出版社,2008.2 余志龙. Android SDK 开发范例大全M. 人民邮电出版社, 2009 . 3 E2Ecloud工作室.深入浅出Google AndroidM. 人民邮电出版社, 2009 . 4 靳岩,姚尚明.Google Android开发入门与实践M. 人民邮电出版社, 2009 . 5 杨文志.Google Android程序设计指南M. 电子工业出版社, 2009 . 6 Google API大全编委会. Google API 大全M.电子工业出版社, 2009 . 7 张岩.基于Java手机平台移动多媒体系统的设计与实现D. 哈尔滨工业大学,2006. 8 韦艳玲,黄力. 基于J2ME技术在嵌入式领域的应用研究J. 电脑知识与技术, 2005 . 9 韦于莉. 手机应用软件开发中J2ME技术的应用研究D. 武汉大学, 2004 . 10 赵博. 基于J2ME的移动终端系统的研究与实现D. 华北电力大学(河北), 2009.11 于少山,卡米力.毛依丁. 基于XML的即时通信系统的研究与实现J. 重庆邮电大学学报(自然科学版), 2007, (S1).12 张辉宜,赵海军,张岚. 嵌入式Linux2.6内核实时化技术J. 工业仪表与自动化装置, 2007, (05).13 陈粤,李志蜀,罗奕. 基于J2ME平台的手机通讯程序分析与实现J. 计算机应用, 2003, (05)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司法财务课件
- 资本论核心思想解读
- 快速制作行政人事汇报
- 血透长期留置导管的护理
- 《珀尔赛福涅》课件
- 输血的注意事项及护理
- 2025机械设备购销合同模板大全
- 2025司法考试合同法中合同无效与合同效力问题
- 2025融资居间合同范本含授权委托书,保密协议,融资确认函
- 永久基本农田划定工作总结
- 斯蒂芬金英语介绍
- 集团公司石油工程专业化整合重组总体方案
- JJF 1015-2014计量器具型式评价通用规范
- GB/T 8332-2008泡沫塑料燃烧性能试验方法水平燃烧法
- GB/T 38597-2020低挥发性有机化合物含量涂料产品技术要求
- 农业科学技术政策课件
- 优秀初中语文说课课件
- DB45-T 679-2017城镇生活用水定额-(高清可复制)
- 人教精通版六年级上英语Lesson15教学课件
- 五四制青岛版2022-2023四年级科学上册第二单元第6课《测量距离和时间》课件(定稿)
- GB∕T 16762-2020 一般用途钢丝绳吊索特性和技术条件
评论
0/150
提交评论