1、 深 圳 大 学 本科毕业论文 ( 20 届) 基于 Android 的轮胎压力监控软件设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 深圳大学本科毕业论文(设计)诚信声明 本人郑重声明:所呈交的毕业论文(设计),题目 基于Android 的轮胎压力监控软件设计 是本人在指导教师的指导下,独立进行研究工作所取得的成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明。除此之外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明的法律结果。 毕业论文(设计)作者签名: 日期: 年 月 日 目录 摘要(关键词) .
2、 1 1绪论 . 2 1.1 研究内容 . 2 1.2 研究意义 . 2 1.3 移动终端操作系统分类 . 2 1.3.1 Symbian . 2 1.3.2 Windows Mobile. 3 1.3.3 Mac OS . 3 1.3.4 Android . 3 1.4 研究现状和发展趋势 . 4 1.4.1 Android 的现状及发展趋势 . 4 1.4.2 TPMS 的研究现状及发展趋势 . 4 2系统分析 . 5 2.1 研究目标 . 5 2.2 需求分析 . 5 2.3 性能分析 . 6 3系统开发环境及相关介绍 . 6 3.1 Android 平台架构及特性 . 6 3.2 An
3、droid 的程序结构 . 7 3.3 Android 开发环境介绍 . 8 3.4 Android 开发平台搭建 . 8 4程序开发与设计 . 11 4.1 文件结构与用途 . 11 4.2 程序模块设计 . 13 4.2.1 事件处理 . 13 4.2.2 传感器 . 13 4.2.3 蓝牙 . 13 4.3 系统测试 . 13 4.4 用户界面设计 . 14 4.4.1 主界面设计 . 14 4.4.2 功能选择子界面的设计 . 16 5总结 . 19 参考文献 . 20 致谢 . 21 Abstract( Key words) . 22 深圳大学本科毕业论文 基于 Android 的轮
4、胎压力监控软件设计 第 1 页 共 21 页 基于 Android 的轮胎压力监控软件设计 【摘要】 本论文的主要目的是设计一款基于 Android 的轮胎压力( TPMS)监控软件。此软件监测轮胎压力的情况,传感器将检测到的胎压情况通过蓝牙发送到手机上,使司机知晓并采取相应的措施,从而可有效避免交通事故的发生。本论文提到了 一款当下十分热门的操作系统 -Android 操作系统,它作为现在主流的手机操作系统,是一个更年轻的、有待开发的平台。该平台具有极大的开放性和兼容性,并且本身带有大量的开源代码库,为开发人员提供了一个非常便捷的开发环境。 【关键词】 android ; 轮胎压力 ; 监控
5、 ; TPMS 深圳大学本科毕业论文 基于 Android 的轮胎压力监控软件设计 第 2 页 共 21 页 1 绪论 1.1 研究内容 本论文主要针对研究 Android 手机平台的应用,利用 Java 语言写一个关于轮胎压力的可运行在 Android 开发平台上的监控软件,通过传感器将胎压情况以蓝牙通信的方式传到智能手机上,以供司机知晓并 作出相应对策 。在 Android 系统中所编写的应用程序可以接收数据、提取数据并显示在虚拟机上或 Android 智能手机上,通过分析胎压监测数据来确定汽车轮胎的状态,从而达到对胎压监测的目的。该方案重点研究了 Android 平台的系统架构和应用程序
6、的设计与实现。本文介绍了 Android 平台的的优势以及当前国内外胎压监测的现状,针对国内现有胎压监测技术的不足提出了基于 Android 平台的胎压监测系统解决方案,接着对胎压监测终端的软、硬件平台进行描述,然后介绍了 Android 开发平台的搭建以及胎压监测程序的开发,重点介 绍了应用程序模块的设计流程。最后对本文进行总结。 1.2 研究意义 众所周知, 在汽车行驶中,汽车轮胎的低气压、高气压、漏气、温度过高等问题都可能造成爆胎,从而引发严重的交通事故。如果有一款软件,可以监测轮胎的压力,那么就可以使司机知晓此刻汽车轮胎的压力情况,从而采取相应有效的措施,就可以避免交通事故的发生。 本
7、论文正是针对上述情况设计的,本论文的主要目的是设计一款基于 Android 的轮胎压力的监控软件,此软件通过监测轮胎压力的情况,使司机知晓并采取相应的措施,从而可有效的避免交通事故的发生。本论文提到了一款当 下十分热门的操作系统 -Android 操作系统,它作为现在主流的手机操作系统,是一个更年轻的、有待开发的平台。该平台具有极大的开放性和兼容性,并且本身大量使用开源代码库,为开发人员提供了一个非常便捷的开发环境。纵观Android 的发展状况,我们知道它是近几年才开始起步的,但相比于 Symbian 的日落西山,以及苹果的封闭、 Windows Phone 的前途未卜, Android 无
8、疑能够更加有效的代表当前行业发展的主流趋势,其独特的开放平台取代了以往的封闭平台,这就足以让参与者均能够通过自己的努力受益匪浅。这也是我 之所以选择这个方向做为毕业设计的原因。 1.3 移动终端操作系统分类 如今市面上主流的移动终端操作系统有: Symbian、 Windows Mobile、 Mac OS 和 Android几大类。首先将分别介绍一下各个操作系统。 1.3.1 Symbian 在 Android 未被使用之前, Symbian 作为 Nokia 的操作系统,在整个智能操作系统控制领域 一直保持着最大份额的市场占有率,该操作系统具有内存占用少、功耗低等特点,是一个32 位的多任
9、务操作系统,当然经过不断的发展现在拥有可以支持蓝牙、 GPRS 和 3G 等功能。 但是随着时间的不断推移,面对份额不断增长的 Android、 Mac OS 等新生主力军,Symbian 的压力倍增。 2008 年 12 月,塞班公司被诺基亚收购, 2010 年 2 月 4 日, Symbian 获得开放源代码许可证,逐步开放了其源代码,显而易见 Symbian 的开源与竞争对手的迅速增长和盟友的纷纷退出有极大的关系。和天生就开放的基于 Linux 的 Android 相比, Symbian 经过多年的积累反复,系统臃肿且积累了太多的自身语言,给第三方的开发带来了诸多不便。现如今, Andr
10、oid 的市场突飞猛进,很多终端厂商和业务开发商 已从事基于开源的 Android 应用开发, Symbian 的开源显然稍微晚了一些。 2011 年 2 月诺基亚已经和微软达成了战略合作关系,按照合作的内容,微软 Windows Mobile 将取代 Symbian 成为诺基亚智能手机战略的核心平台。在同年的 12 月 21 日,诺基亚官方宣布放弃塞班品牌,并在 2014 年将彻底终止对塞班系统的所有支持, 这无疑给了 Symbian 最致命的一击。 深圳大学本科毕业论文 基于 Android 的轮胎压力监控软件设计 第 3 页 共 21 页 1.3.2 Windows Mobile Win
11、dows Mobile 是所有源代码全部由微软自行开发的嵌入式新型操作系统,该操作系统是一个开放的、 可升级的 32 位嵌入式操作系统。 Windows Mobile 具有模块化、结构化和基于Win32 应用程序接口和与处理器无关等特点。 Windows Mobile 不仅继承了传统的 Windows 图形界面,并且在 Windows Mobile 平台上也可以使用 Windows 编程工具(如 Visual Basic、Visual C+等)、使用同样的函数、使用同样的界面风格,绝大多数的应用软件只需简单的修改就可以移植到 Windows Mobile 平台上继续使用。 Windows Mo
12、bile 是一个具有抢先式多任务功能,并具有强 大通信能力的嵌入式操作系统。 Windows Mobile 也是微软公司专门为移动终端和消费类电子产品、嵌入式应用等非 PC 领域而全新设计的操作系统产品。根据其应用环境的特点, Windows Mobile 被设计成具有高度模块化、良好实时性、强大通信能力、支持多种 CPU 的嵌入式操作系统。 2011 年 2 月 11 日,诺基亚与微软公司宣布,计划建立广泛的战略合作伙伴关系,将利用其互补优势和专长,建立新的全球移动生态系统。微软 Windows Mobile 操作系统将成为诺基亚主要的智能手机平台。诺基亚在硬件制造和生产方面有着较 强的优势
13、,而微软在软件操作系统方面也沉淀颇厚,由于两家公司将专注于各自的核心能力,该伙伴关系将为迅速的市场执行力创造机遇,这让 Windows Mobile 在未来的发展中充满了期待。 1.3.3 Mac OS Mac OS 是全球领先的操作系统,基于坚如磐石的 UNIX 基础,设计简单直观,易于使用又功能强大,让处处创新的 Mac 安全易用、高度兼容、出类拔萃。 Mac OS 使用基础坚实、久经考验的 UNIX 系统为其提供空前的稳定性、超强性能、超炫图形并支持互联网标准。 Mac OS 使用基于 BSD Unix 的内核,并带来 Unix 风格的内存管理和抢占式多任务处理,大大改进内存管理,允许同
14、时运行更多软件,而且在实质上消除了一个程序崩溃导致其它程序崩溃的可能性。 Mac OS 用户体验部分是操作系统的不同组件间的无缝交互。单一的 Mac OS系统可以控制不同格式的卷,支持不同的网络文件共享协议,并可运行基于完全不同 API 的应用程序。 iOS 是由苹果公司为 iPhone 开发的操作系统。该操作系统主要是给 iPhone、 iPod touch 以及 iPad 使用。跟基于的 Mac OS 操作系统一样, iOS 也是以 Darwin 为基础的。 iOS 的系统架构分 为四个层次:核心操作系统层、核心服务层、媒体层和可轻触层。随着 iPhone、 iPad 的热卖, Mac O
15、S 操作系统无疑成为市场的方向标。 1.3.4 Android Android 一词的本义为“机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。 为了推广 Android 平台技术, Google 和几十个手机相关企业建立了开放手机联盟( OHA)。联盟成员包括摩托罗拉 、 HTC、 SAMSUNG、 LG 以及中国移动在内的 34 家技术和 无线应用的领军企业,该联盟共同开发基于 Android 系统的新型业务,这就保障了
16、 Android平台应用之间的通用性和互联性,也使得 Android 系统在人机交互体验上获得了更加杰出 的表现。 Android 平台具有以下优势: 开放性, Android 平台的开放性允许任何移动终端厂商加入到 Android 联盟中来。显著的开放性可以使其拥有更多的开发者,也使得 Android 具有丰富的软件资源,给该平台带来极大地发展。 深圳大学本科毕业论文 基于 Android 的轮胎压力监控软件设计 第 4 页 共 21 页 丰富的硬件选择,由于 Android 的开放性, 众多的厂商会推出功能特色的多种产品。由于Android 操作系统具有丰富的硬件选择性,使得不同硬件功能上
17、的差异和特色,不会影响到数据同步、甚至软件的兼容。 无缝结合的 Google 应用, Google 已经从简单的搜索领域扩展到互联网的各个领域,Google 服务如:地图、邮件、搜索等已经成为连接用户和互联网的重要纽带, Android 平台将无缝结合这些优秀的 Google 应用。 根据 Gartner 统计显示,在 2010 年智能手机操作系统市场中, Android 销售量从679.84 万台增至到 6722.45 万台,销售量增长了 888.8,市场份额超过 RIM 和 iOS 跃居第二位。 Symbian 以 11157.67 万台的销售额占据智能手机市场 37.6市场份额位居第一。
18、 Mac OS的市场占有率达到 15.7, Window CE 市场占有率达到 4.2。 Android 无疑是 2010 年最为亮眼的智能手机系统,在短短一年多的发展后, Android 已经迅速成为智能手机系统霸主地位的最有力竞争者。 Android 得以横扫智能手机市场,其系统化开源性功不可没。开源最大特点就是“开放”、“共享”,任何人都可以得到软件的源代码,在版权限制范围内对其进行 修改甚至重新开放,这就使得开源软件能够在全世界拥有自己庞大的开发队伍。随着 3G 的推广,手机搜索、手机游戏、手机支付等移动应用也开始迅猛发展。移动应用的无限丰富使得 Android 系统拥有了无限广阔的“
19、升级”空间。 1.4 研究现状和发展趋势 1.4.1 Android 的现状及发展趋势 通信技术的不断发展,使移动终端不再仅仅是通讯网络的终端,而是向着多功能方向发展,越来越多的移动终端具有了开放式的操作系统,终端和互联网的无缝连接有着更广阔的发展空间。现如今,主流的移动终端操作系统有: Symbian, Windows Mobile, Mac OS 和Android。 Android 是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。随
20、着 Android 技术的迅猛发展和日趋成熟, Android 操作系统在手持终端中所占比例正逐步上升,其开放性、便携性、良好的兼容性、无缝结合网络通信等特点将使 Android 操作系统在各个领域中都有着广泛的应用。 安卓是首款开源代码的操作系统,采用 Linux 内核,开放 手机联盟( OHA)成员可以任意使用和修改安卓的 SDK 软件包。系统的开源性使其具有良好的拓展性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要 “定制化开发 ”。与此相比,尽管 2010 年 2 月,塞班基本完成开源工作,但由于代码臃肿,用户界面设
21、计缺失,塞班的开源并无实际意义,错失发展良机。 据统计, 截止至 2012 年 2 月,塞班系统的全球市场占有量仅为 16.9%, 中国 市场占有率则降至 18.7%,均被 安卓 超过。 谷歌表示目前安卓手机每日平均激活量为 20 万部,销 售速度加速上涨。我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不争事实。安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过 O
22、HA 联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善。 1.4.2 TPMS 的研究现状及发展趋势 在汽车的高速 行驶过程中,轮胎故障是所有驾驶者最为担心和最难预防的,也是突发性交通事故发生的重要原因。据统计,在高速公路上发生的交通事故有 70%-80%是由于爆胎引起的。怎样防止爆胎已成为安全驾驶的一个重要课题。据有关专家的分析,保持标准的车胎气压深圳大学本科毕业论文 基于 Android 的轮胎压力监控软件设计 第 5 页 共 21 页 行驶和及时发现车胎漏气是防止爆胎的关键。而 TPMS-汽车胎压监视系统毫无疑问将是理想的工具。 TPMS 是
23、汽车轮胎压力监视系统 “Tire Pressure Monitoring System“的英文缩写,主要用于在汽车行驶时实时的对轮胎气压进行自动监测,对轮胎漏气和 高、 低气压 进行报警,以保障行车安全,是驾车者、乘车人的生命安全保障预警系统。汽车轮胎压力监视系统是驾车者、乘车人的生命安全 的 保障预警系统,将是一个永恒的主题,因此, TPMS 将成为汽车安全保障系统之一。 本论文主要就是将两者有机的结合起来,在 Android 的开发平台上设计汽车轮胎监控系统( TPMS),使得司机可以 在汽车行驶 过程中 实时的对轮胎气压 及温度 进行自动监测,对轮胎温度 和 高、 低气压进行报警,以保障
24、行车安全 。这是一种很便捷、很实用的设计,也是可以保护 驾车者、乘车人的生命安全 的有效 保障 的 预警系统 。 2系统分析 2.1 研究目标 1.通过查阅大量的相关文件和书籍,了解基本知识,并学习其编程语言 Java。 2.深入学习了解嵌入式操作系统 Android,下载其开发工具 Eclipse 和 Android SDK,学习建立 Android 开发环境。 3.通过学习熟练掌握其开发工具 Eclipse 和 Android SDK 的应用。 4.学习 Java 语言的编写规则及对程序的设计,学会熟练的应用 Java。 5.用 Java 编写轮胎压力的监控程序,布局文件以及 Manife
25、st.xml,运行在开发环境上,检测其能否达到要求。 本软件是基于 Eclipse 的开发环境,使用多种组建绘制出汽车的图像,并开发出针对Android 平台的 TPMS 系统。 2.2 需求分析 本软件是一个 应用程序 ,启动程序后会出现一辆车的图像以及一些参数,点击按钮可以进行气压单位、温度单位、高气压限制、低气压限制以及语言的设置,设置后的数据可以通过数字的形式显示出当前的胎压情况,主要包括轮胎的压力、温度情况。 Android 系统会通过传感器获取这些数据,并将数据传给监听器的监听方法, Android 系统会负责管理这些传感器数据。功能主要包含以下几种。 1.全时监测轮胎压力 。 2
26、.可选择针对哪 个轮胎来 显示当前轮胎压力及温度 。 3.高压低压报警 ,高温报警 。 4.可根据车型及轮胎位置设定相应的标准压力值 。 从上面的描述中可以基本了解软件的功能需求: 1.启动 Android 应用程序 。 2.设置界面:对轮胎的压力及温度显示进行设置。 3. 显示界面:通过文字、数据和图片显示当前的胎压情况,包括轮胎压力、温度以及图深圳大学本科毕业论文 基于 Android 的轮胎压力监控软件设计 第 6 页 共 21 页 像按钮。 4.详细界面:通过文字、表格显示当前的压力及温度情况,包括压力单位、高压限、低压限、温度单位、温度限等。 2.3 性能分析 程序响应速度快、安全性
27、高、信息处理速度快。 3系统开发环 境及相关介绍 3.1 Android平台架构及特性 Android 系统的底层建立在 Linux 系统之上,由下向上有 4 部分组成: Linux 内核、函数库、应用程序框架以及应用程序层,如表 1 所示。 表 1 Android 系统的结构 应用程序层 应用程序框架 函数库 运行时 虚拟机 Dalvik Virtual Linux 内核 1.Linux 内核 Android 系统建立在 Linux2.6 之上, Linux 内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。 Linux 内 核也同时作为硬件和软件栈之间的抽象层。 2
28、.函数库以及 Dalvik 虚拟机 Android 包含一些 C/C+库,这些库可以被 Android 系统中不同组件所使用, Android 应用开发者不能直接调用这套 C/C+库,但可以通过它上面的应用程序框架来调用这些库。另一部分是虚拟机,它是负责运行 Android 应用程序的。 Android 运行时由两部分组成: Android 函数库集和 Dalvik 虚拟机。函数库集提供了 Java 语言函数库所能使用的绝大部分功能, Dalvik 虚拟机负责 Android 应用程序的运行。 3.应用程序 框架 本论文的主要内容就是开发 Android 的应用程序,当开发 Android 的应用程序时,就是面向底层的应用程序框架进行的。 Android 应用程序框架提供了大量 API 供开发者使用,这就使得开发者开发应用程序变得简单。 4.应用程序层 Android 所有的应用程序都是使用 Java 语言写的, Android 的核心应用程序和系统一起发布,包括: SMS 短消息程序、日历、浏览器、 E-mail 客户端等等。本论文的主要内容和实现