毕业论文

时间:2022-06-20 14:05:07 浏览量:

 毕业设计( ( 论文) )

 ( 2012 届 )

 论文题目

  手机遥控计算机(MPCPC)系统的开发与实现

  THE DEVELOPMENT AND IMPLEMENTATION OF

  MOBILE-PHONE-CONTROL-PERSONAL-COMPUTER

  (MPCPC) SYSTEM

 学 生

 姓 名:

  刘俊杰

  学

 号:

  080207132

  二级学院名称:

 新媒体学院

 专

 业:

 数字媒体技术

  指 导

 教 师:

  林生佑

  职

 称:

 副教授

 .

 郑

 重

 声

 明

 我谨在此郑重声明:本人所写的毕业论文《手机遥控计算机(MPCPC)系统的开发与实现》均系本人独立完成,没有抄袭行为,凡涉及其它作者的观点和材料,均作了注释,若有不实,后果由本人承担。

 承诺人(签名):

 年

 月

 日

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现

 手机遥控计算机(MPCPC)系统的开发与实现

 摘要: 手机遥控计算机(Mobile Phone Control Personal Computer)系统是一款手机利用蓝牙作为媒介来与计算机进行通信,进而实现手机远程遥控计算机这一目的的软件系统。主要研究的内容是蓝牙通信编程。软件分为计算机端和手机端两个部分,计算机端用 JavaSE 作为开发语言,手机端用 J2me 作为开发语言,通过 JSR82 标准里的核心蓝牙包 javax.bluetooth 实现无线通信功能。实现的功能有手机模拟计算机鼠标、键盘功能,手机控制计算机常用软件以及控制计算机关机、重启等。该软件系统可改变用户控制计算机的方式,使计算机控制更加多样化,用户使用更方便、更舒适。

 关键词:手机;计算机;蓝牙通信;JavaSE;J2me;JSR82

 THE DEVELOPMENT AND IMPLEMENTATION OF MOBILE-PHONE-CONTROL-PERSONAL-COMPUTER (MPCPC) SYSTEM

 Abstract: Mobile Phone Control Personal Computer is a software system that uses bluetooth to establish connection between mobile phone and personal computer.So the mobile phone can remote control the computer. The main research content is bluetooth communication program.There are two parts of the software:the mobile phone software and the computer software.The computer software was developed by JavaSE language and the mobile phone software was developed by J2me language.It can realize the wireless communication function by the main package javax.bluetooth in JSR82.The accomplished functions include mobile phone simulating computer mouse, keyboard and mobile phone controlling the softwares that usually used by computer,and also include the shutdown and restart function.This software can change the way that controls computer and makes it diversified,convenient and comfortable.

 Key words:

  mobile phone; personal computer; Bluetooth Communication;JavaSE; J2me; JSR82

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现

 目

 录

 1 绪论 .................................................................................................................................... 1

 2 项目概述 ............................................................................................................................. 2

 2.1 选题背景与意义 .................................................................................................... 2

 2.2 研究的基本内容 .................................................................................................... 2

 2.3 需解决的问题 ........................................................................................................ 3

 2.4 发展趋势 ................................................................................................................. 3

 3 技术背景 ............................................................................................................................ 4

 3.1 编程语言 ................................................................................................................ 4

 3.1.1 Java 语言 .................................................................................................... 4

 3.1.2 Java SE ....................................................................................................... 4

 3.1.3 Java ME ...................................................................................................... 4

 3.2 蓝牙技术 ................................................................................................................. 5

 3.2.1 蓝牙技术概述 ............................................................................................ 5

 3.2.2 Java 蓝牙开发接口 .................................................................................... 5

 3.3 开发平台 .................................................................................................................. 6

 3.3.1 Eclipse ........................................................................................................ 6

 3.3.2 Netbeans ..................................................................................................... 6

 4 系统功能分析及实现 ........................................................................................................ 6

 4.1 系统功能分析 ........................................................................................................ 6

 4.2 系统功能实现 ........................................................................................................ 7

 4.2.1 蓝牙功能模块 ............................................................................................ 7

 4.2.2 鼠标控制模块 ............................................................................................ 8

 4.2.3 键盘控制模块 ............................................................................................ 9

 4.2.4 应用程序模块 .......................................................................................... 10

 4.2.5 常用功能模块 .......................................................................................... 11

 5 系统运行结果分析 .......................................................................................................... 12

 6 结 论 ................................................................................................................................ 13

 致谢 ...................................................................................................................................... 15

 参考文献 .............................................................................................................................. 16

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 1 页共 16 页 1 1

 绪论

 随着计算机网络和移动电话技术的迅猛发展,手机已经走入了千家万户,在人们的生活中占有一席之地,其通信方式也越来越丰富,人们对手机的理解也不再只是传统上的随处可打的电话。手机的硬件配置越来越高,与之对应的增值服务也越来越多元化。同时人们越来越感觉到发展一定范围内的无线数据与语音通信的迫切需要。早在1994 年,爱立信公司便已着手构想以无线电波来连接计算机与电话等各种周边设置,决定建立一套短距离无线通信的开放标准,并以中世纪丹麦国王Harold 的外号“蓝牙”(Bluetooth)为其命名,意在统一无线局域网通信标准的技术[1] 。于是在1998年,爱立信、IBM、Intel、诺基亚和东芝等公司联合推出了一项最新的无线网络技术,即蓝牙(Bluetooth)技术[2]

 。随后这五家公司组建了一个特殊兴趣组织来负责开发此技术以及协议。1999 年下半年,著名的业界巨头3Com、朗讯(Lucent),微软(Microsoft)和摩托罗拉(Motorola)与蓝牙特别小组的五家公司共同发起成立了蓝牙技术推广组织,创建蓝牙论坛、加强蓝牙协议的订制和改进、提供互操作性测试工具,进而指导SIG 成员在蓝牙领域的研究工作。蓝牙技术是一种低成本、短距离的无线通信技术[3] 。蓝牙技术并非一项新的技术,但利用J2ME在MIDP平台上开发蓝牙应用程序却是一项新技术。这项新技术已经得到了移动设备制造商和服务运营商的大力支持。并且随着3G网络试运行,数据通信费用大大降低,各种针对移动技术的应用需求会越来越大。目前,几乎所有的手机厂商都在生产的手机系统里加入JAVA虚拟机,来支持J2ME程序,只是支持的程度不尽相同。客观上SUN公司推出J2ME语言降低了嵌入式程序设计的门槛,这样使得J2ME成为现在最流行的手机编程语言之一。就目前情况看,使用电脑控制手机的软件较多,而使用手机控制电脑的软件较少。此外,使用电脑在绝大多数情况必须坐在电脑面前,这种局限有时会给使用电脑带来不便。这些迹象表明,手机与计算机进行蓝牙通信互动这一课题是很有研究前景的。

 我的毕业设计题目为《手机遥控计算机系统(MPCPC)的开发与实现》,主要是要实现手机通过蓝牙来对计算机进行控制,如手机模拟计算机鼠标、键盘,手机控制计算机常用的应用软件,以及手机控制计算机的关机、重启等功能。本文一共分为五个部分,第一部分为绪论;第二部分为项目概述,概括的介绍了本毕业设计的选题背景、意义等;第三部分为技术背景,介绍了本毕业设计所要用到的技术以及应用平台;第四部分为系统功能分析及实现,介绍了本软件系统要实现的功能及如何实现的;第五部分为系统运行结果分析,介绍了软件最终实现的效果。

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 2 页共 16 页 2 2 项目概述

 2.1 选题背景与意义

 随着网络和无线通信技术的发展,以及手机等无线移动设备处理能力的不断增强,手机已经不再是一个单一的通信设备,它融合了上网、个人信息处理、移动办公、娱乐游戏等功能。各种无线移动通信终端正朝着多功能、智能化的方向发展。目前,几乎所有的手机厂商都在生产的手机系统里加入JAVA虚拟机,来支持J2ME程序,只是支持的程度不尽相同[3] 。客观上SUN公司推出J2ME语言降低了嵌入式程序设计的门槛,这样使得J2ME成为现在最流行的手机编程语言之一。

 目前使用手机来控制电脑的应用软件相对较少。此外,使用电脑在绝大多数情况必须坐在电脑面前,这种局限有时会给使用电脑带来不便。手机遥控计算机(MPCPC)系统就是这样的一种软件,它用手机通过蓝牙遥控电脑,可以实现对电脑进行远程遥控操作,不必在拘泥于电脑桌前。本软件系统将手机与电脑用蓝牙连接的功能从只有传输文件扩展到更多的方面,更新了手机功能,创新了蓝牙应用,革新了电脑控制观念。此软件系统第一适合休闲,方便用户在使用时无线远程控制,不增加更多的遥控设置,也不用将电脑放在面前,远离辐射,如用电视般舒适地用电脑。第二适合教学,只要老师有手机在加一个蓝牙适配器,就可以在讲课时走到台下与学生互动,拉近师生间的距离,提高课堂效率。第三适合手机商,他们可将此应用绑定于手机,可以作为其一个卖点。手机和计算机的融合已是一种趋势,实现手机和计算机的融合对于娱乐互动和新媒体的推广也有一定的促进作用,让人们更好的享受移动新媒体所带来的娱乐功能[4][5] 。

 2. 2 研究的基本内容

 本毕业设计着重研究与解决手机和计算机之间通过蓝牙建立无线通信连接的问题,这也是本毕业设计的重点和难点。当实现手机和计算机之间的蓝牙通信连接后,将要设计实现手机模拟计算机鼠标、键盘的功能,如用手机的上下左右键实现鼠标的移动,手机的数字键模拟鼠标的单击双击及模拟键盘的常用按键。此外,本设计在此基础之上还要实现用手机控制电脑的部分常用软件,包括酷狗、暴风影音、IE浏览器、ppt等,实现的功能有用手机控制播放器的音量、播放/暂停、快进快退、视频音频移动、网页的新建与关闭、ppt的播放、换页与停止等,最后还会加上手机控制计算机关机、重启等功能。具体内容如下:1.深入学习蓝牙通信技术,熟练掌握蓝牙通信编程的规则、适用协议等;2.学习并掌握基于java技术的计算机常用功能的API,并开发出计算机端软件;3.学习并实践基于j2me技术的手机端应用软件的开发;4.在手机上添加常用的计算机控制功能。

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 3 页共 16 页 2. 3 需解决的问题

 发展蓝牙技术的初衷是为了用一种统一的无线通信技术,来取代各种数字化设备之间的相互连接的电缆。当人们能够实现用无线技术取代电缆后,就发现这是一个革命性的变化[6][7] 。目前蓝牙技术已经越来越成熟,手机和计算机的软硬件发展也越来越迅速,所以手机和计算机之间通过无线连接进行互动就越来越显得有必要,可问题是目前市场上还没有专门的软件,或者软件功能有限,不能实现用户想要的功能。因此,开发一款简单易用的手机遥控计算机的软件系统就显得十分有价值。而开发出这样一款软件就需要解决如下具体问题:1.解决手机和计算机之间通过蓝牙进行无线通信连接的问题;2.解决计算机端常用功能API正确调用的问题;3.解决手机按键模拟计算机鼠标功能的问题;4.解决手机按键模拟计算机键盘常用按键功能的问题;5.解决手机控制计算机常用软件及控制常用功能的问题。

 2.4 4 发展趋势

 蓝牙技术是很有发展前景的一项技术,它的成本底,可移动性强,产品小且多是电池供电,对人体危害小,可谓“绿色产品”。市场研究公司IC Insights 预测称,2010 年全球蓝牙模块出货量将增长到16 亿个。在2006年至2010年期间,蓝牙模块出货量将平均每年增长33%。2010年蓝牙模块的销售收入将从2006年的14.7亿美元增长到32亿美元以上。蓝牙技术在2000年勉强在市场上露面。到2006年,蓝牙模块的出货量达到了5.15 亿个[8] 。预计到2009,出货量将达到10亿件。通过蓝牙产品,蓝牙的应用也随之不断拓展,从手机、笔记本、耳机等这样的手持终端扩展到各行各业,如汽车、医疗、工业控制、办公应用、电子商务等等,所涉及的技术、功能、市场等要求越来越高,产业链也日益复杂,有望成为电子消费类产品的一个新的增长点,因而也日益为人们所关注和重视[9][10] 。所以说,蓝牙技术拥有非常好的前景是毋庸置疑的,而且在中国的发展前景会更加吸引人。虽然在发展的过程中会有一些难题出现,但蓝牙技术作为一项新技术,其前进的势头是不会改变的。我们应该抓住机遇,推广普及蓝牙技术的应用,加速实现信息化,加速实现现代化。勿庸置疑,“蓝牙”技术将对我们的生活带来巨大的变化,它在无形中延伸我们的双手,让我们能够触碰到更广阔的空间。今后,无线上网会越来越流行,人们的手机、掌上电脑等都会频繁的连接无线网络。最初,人们如果想上网,需要把电脑同有线电话连接进行上网,后来可以连接移动电话进行无线上网。现在正实现以移动电话为中心,各种设备连接成无线网络而实现无线上网技术[11] 。蓝牙技术在不断地完善,给组建无线办公场所、家电无线组网、工业无线控制、设备安全提供了技术支持[12] 。蓝牙在短距离的无线通信中显示了优越性,其应用范围也在不断扩展,相信以蓝牙技术为支撑的手机遥控计算机技术一定会有一个美好的明天!

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 4 页共 16 页 3 技术背景

 3 3. .1 1 编程语言

 3 3 .1.1 Java 语言

  Java是一种面向对象的程序设计语言,可以用来撰写跨平台的应用软件,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显着优势和广阔前景[13] 。

 Java编程语言的风格与C、C++语言十分相似。Java是一个纯面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,在C++语言中,指针、运算符重载、多重继承等容易引起错误,而java语言舍弃了这些内容,但增加了垃圾回收器功能,使不再被引用的对象所占据的内存空间能够被回收,这样程序员就不用再为内存管理而担忧。在Java SE 1.5 版本中,Java又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

 Java与一般的编译执行计算机语言和解释执行计算机语言是有一定差别的。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java程序的运行效率。但在 J2SE 1.4.2 发布后,Java的执行速度有了大幅提升[13] 。

 3 3 .1.2 2

 Java SE

 Java SE是Java平台标准版的简称(Java Platform, Standard Edition),用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。Java SE包括用于开发Java Web服务的类库,同时,Java SE为Java EE提供了基础。Java SE(Java Platform, Standard Edition,Java标准版)就是基于JDK和JRE的[13] 。

 3 3 .1.3 3

 Java ME

 Java ME以往称作J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。它和Java SE、Java EE一起构成Java技术的三大版本,并且同样是通过JCP(Java Community Process)制订的。

 Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。JAVA ME技术在1999年的JavaOne

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 5 页共 16 页 Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。

 开发Java ME程序一般不需要特别的开发工具, 开发者只需要装上Java SDK及下载免费的Sun Java Wireless Toolkit 2.xx系列开发包,就可以开始编写Java ME程序,编译及测试, 此外目前主要的IDE(Eclipse及NetBeans)都支持Java ME的开发,个别的手机开发商如Nokia 、Sony Ericsson、摩托罗拉、Android系统都有自己的SDK,供开发者再开发出兼容于他们的平台的程序[14] 。

 3 3. .2 2 蓝牙技术

 3.2 2. .1 1

 蓝牙技术概述

 蓝牙技术(Bluetooth)是一种使用无线电波的、短距离的通信技术,它的开发使有线传输的无线化成为了可能。它的传输速度为1Mbps,传输距离一般为10米左右,有的甚至能达到20至30米。使用“蓝牙”技术,能够使平板电脑、笔记本电脑以及移动电话等设备之间的通信变得十分方便,同时也能够使这些设备与internet之间的通信变得简洁,从而使这些通信设备与因特网之间的数据传输变得更加迅速高效,并为无线通信拓宽道路。因此,蓝牙技术使得现在一些我们常用的通信设备在不必通过有线传输介质的情况下就能联网,而且还能够实现无线上因特网,不仅如此,蓝牙的应用还可以拓宽到其他应用领域,如家电产品、电子产品、汽车等,从而可以组成一个巨大的无线网络。蓝牙系统由以下功能单元组成:无线基带单元、链路控制单元、链路管理单元、相关软件。蓝牙工作在全球通用的2.4GHZ (即工业、科学、医学)频段,其数据传输速率为1Mb/s,该技术采用时分双工传输方案来实现全双工传输[15] 。

 3.2 2. .2 2

 Java 蓝牙开发接口

 JSR82规范是专门针对蓝牙开发设计的应用程序编程接口,其中包含如下两个包:

 Javax.bluetooth:核心API

 Javax.obex:对象交换API

 Javax.bluetooth 包中的类和接口如下表所示:

 功能

 DiscoveryListener 接口

 定义了设备发现通知和服务发现通知的回调函数

 L2CAPConnection 接口

 定义了L2CAP连接客户端功能

 L2CAPConnectionNotifier 接口

 定义了L2CAP连接服务器功能

 ServiceRecord 接口

 定义了服务记录,包含了服务信息

 DataElement 类

 定义了服务属性可能用到的数据类型

 DeviceClass 类

 表示蓝牙规范中定义的设备类

 DiscoveryAgent 类

 服务代理类,同时支持设备与服务的发现

 LocalDevice 类

 定义了本地蓝牙设备

 RemoteDevice 类

 定义了远端蓝牙设备

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 6 页共 16 页 UUID 类

 在蓝牙中,每个服务和服务属性都有一个全球唯一的标识(UUID)

 BluetoothConnectionException 异常

 当蓝牙连接不能被成功创建时,会触发该异常

 BluetoothStateException 异常

 当蓝牙系统接收到当前状态想不能处理的请求时,会触发该异常

 ServiceRegistrationException 异常

 当向本地服务发现数据库中添加服务记录失败时,触发该异常

 3.3 开发平台 3.3 3. .1 1

 Eclipse

 Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。

 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。

 2007年6月,稳定版3.3发布;2008年6月发布代号为Ganymede的3.4版;2009年6月发布代号为Galileo的3.5版;2010年6月发布代号为Helios的3.6版[18] 。

 3.3 3. .2 2

 Netbeans NetBeans由Sun公司(2009年被甲骨文收购)在2000年创立,它是开放源运动以及开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans IDE是一个屡获殊荣的集成开发环境,可以方便的在Windows,Mac,Linux和Solaris中运行。NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等开发语言[18] 。

 NetBeans项目由一个活跃的开发社区提供支持, NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。

 4 系统功能分析及实现

 4 4. .1 1

 系统功能分析

 MPCPC系统在实现手机与计算机的无线连接后,主要实现以下功能:

 鼠标控制:用手机上的按键来控制计算机鼠标的各种动作,如鼠标上移、下移、左移和右移,鼠标的左击和右击,鼠标滚轮滑动等一系列动作。

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 7 页共 16 页 键盘控制:用手机按键来模拟键盘的上下左右、空格、回车、Tab、退格等按键。

 应用程序:应用程序包括电脑常用的应用程序,如酷狗、暴风影音、IE浏览器、PPT等,通过手机来控制音乐、视频的播放暂停,调节音量大小,浏览器页面的新建与关闭,幻灯片的播放、移动、结束播放等功能。

 常用功能:常用功能包括手机一键控制计算机的重启、关机等功能。[20]

 4 4. .2 2

 系统功能实现

 根据系统的功能,将MPCPC系统分为以下五个模块进行开发:即蓝牙功能模块,鼠标控制模块,键盘控制模块,应用程序模块和常用功能模块。

 4 4. .2 2. .1 1

 蓝牙功能模块

 该模块主要负责实现手机与计算机间蓝牙通信连接的建立。首先计算机端要先进行蓝牙服务的注册和发布,然后创建一个服务连接并等待手机端的连接请求;手机端要对周围蓝牙设备进行搜索,然后对搜索到的服务设备发出连接请求[19] 。

 计算机端主要代码:

 final UUID uuid = new UUID("27012f0c68af4fbf8dbe6bbaf7aa432a", false);

 final String name = "MPCPC Server";

 //服务器名称

 final String url = "btspp://localhost:" + uuid

 + ";name=" + name + ";authenticate=false;encrypt=false;";

 //服务连接URL 在蓝牙中,每个服务和服务属性都唯一地由"全球唯一标识符" (UUID)来校验。正如它的名字所暗示的,每一个这样的标识符都要在时空上保证唯一。UUID实例是不可改变的,只有被UUID标示的服务可以被发现[20] 。

 „„ local = LocalDevice.getLocalDevice();//取得本地蓝牙设备 local.setDiscoverable(DiscoveryAgent.GIAC);//服务器设置被发现的模式为 GIAC 当通过调用LocalDevice.setDiscoverable() 方法来设置设备为可被发现的模式时,必须指定查询访问码(IAC)。JABWT支持两种访问模式:

 DiscoveryAgent.LIAC 指定有限查询访问码。设备将在唯一的有限时间周期(典型为1分钟)里可被发现。经过有限的周期后,设备会自动地返回到无法发现的模式。

 DiscoveryAgent.GIAC 指定通用查询访问码。没有限制地被设置为可被发现模式在设备中长期驻存。

 „„ server = (StreamConnectionNotifier) Connector.open(url);// 创建一个服务连接

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 8 页共 16 页 conn = server.acceptAndOpen();//接受一个新的客户端连接 手机端主要代码:

 local = LocalDevice.getLocalDevice();//取得本地蓝牙设备 agent = local.getDiscoveryAgent();//取得本地蓝牙设备发现代理 agent.startInquiry(DiscoveryAgent.GIAC, this); //启动发现附近设备 设备发现以调用startInquiry()函数开始。在请求进行时,蓝牙发现代理会在适当的时候调用回调方法DeviceDiscovered()和inquiryCompleted()。

 „„ UUID[] uuids = new UUID[1]; uuids[0] = new UUID("27012f0c68af4fbf8dbe6bbaf7aa432a", false); agent.searchServices(null, uuids, device, this);//启动服务发现搜索 服务发现开始于对searchServices()的调用。当服务搜索进行时,蓝牙发现代理会在适当的时候回调servicesDiscovered()和 serviceSearchCompleted()方法。

 conn = (StreamConnection) Connector.open(url);

 //建立连接[20]

 4 4. .2 2. .2 2

 鼠标控制模块

 该模块主要负责模拟手机的鼠标控制功能,手机上2,8,4,6键代表上下左右,1代表左键单击,3代表右键单击,*键代表滚轮上滚, #键代表滚轮下滚, 0代表中键。下面以鼠标左键单击为例具体介绍一下其功能是如何实现的:

 手机端首先获取手机按键的keycode,然后在一个switch语句里进行判断 case 49:

 //数字键1的keycode是49

 remote.bluetooth.SendData("MLCLICK");

  //手机1键按下;

 break;

  „„ case 49:

 remote.bluetooth.SendData("SMLCLICK");

 //手机1键释放;

 break; 当keycode为49时,调用sendData函数向计算机端发送相应消息; 计算机端根据接收到的相应消息进行处理:

 if (cmd.equalsIgnoreCase("MLCLICK")) {

  mouse.mClick(MouseControl.LCLICK);

  } if (cmd.equalsIgnoreCase("SMLCLICK")) {

  mouse.mRelease(MouseControl.LCLICK);

  }

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 9 页共 16 页 „„ public void mClick(int button) {

 robot.mousePress(button); } public void mRelease(int button) {

  robot.mouseRelease(button); }[20]

 4 4. .2 2. .3 3

 键盘控制模块

 该模块主要负责模拟手机的键盘控制功能,2,8,4,6键代表光标上下左右移动,1代表回车, 3代表空格,7代表tab, 9代表退格。下面以键盘“上”键为例具体介绍一下其功能是如何实现的:

 手机端首先获取手机按键的keycode,然后在一个switch语句里进行判断 case 50:

 //手机上2键的keycode是50

 remote.bluetooth.SendData("K38");

  //手机2键按下

 break; „„ case 50:

 remote.bluetooth.SendData("SK38");

 //手机2键释放

 break; 当keycode为50时,调用sendData函数向计算机端发送相应消息; 计算机端根据接收到的相应消息进行处理:

 if (cmd.startsWith("K")) {

 tring scode = cmd.substring(1);

 keyboard.keyPress(Integer.parseInt(scode)); } if (cmd.startsWith("SK")) {

  String scode = cmd.substring(2);

  keyboard.keyRelease(Integer.parseInt(scode)); } „„ public void keyPress(int keyCode){

  robot.keyPress(keyCode); } public void keyRelease(int keyCode){

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 10 页共 16 页

  robot.keyRelease(keyCode); }[20]

 4 4. .2 2. .4 4

 应用程序模块

 该模块主要负责用手机控制部分常用的应用程序,包括酷狗、火狐浏览器、Windows Media Player、IE浏览器、暴风影音、PPT幻灯片,选择程序的相应功能按中键即可实现控制,被控制的应用程序要保证在前台运行,否则不能实现控制功能。

 对于以上列出的应用程序,在计算机端把这些应用程序和它们的常用功能的名称及其快捷键所对应的keycode存储在一个哈希表中,如“暴风影音”:

 <app name="暴风影音">

  <cmd keys="1" name="1. 播放/暂停">

 <key value="32"/>

  </cmd>

  <cmd keys="2" name="2. 停止">

 <key value="17"/>

 <key value="83"/>

  </cmd>

 „„ 手机端打开后发送一条消息:

 remote.bluetooth.SendData("applist"); „„ 计算机端接收后向手机端发送哈希表中的数据信息:

 if (cmd.equalsIgnoreCase("applist")) {

  try{

 util.SendAppList.startSending(this);

 }catch(Exception e){

  gui.InfoLabel.setText("Exception Occured " + e.toString());

 } } „„ 手机端通过接收计算机端的数据构建一个对应的哈希表,显示这些应用程序的名称,当单击某个应用程序后,如“暴风影音”,列出其功能列表,选择某个功能按手机中键后,发送相应快捷键的keycode,计算机接收到信息后做相应处理。

 手机端:

 String[]keys=(String[])(remote.commandsTable.getCommandsTable())[app].g

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 11 页共 16 页 et(this.getString(this.getSelectedIndex()));

 for (int x = 0; x < keys.length; x++) {

 remote.bluetooth.SendData("K" + keys[x]);

 }

 for (int x = 0; x < keys.length; x++) {

  remote.bluetooth.SendData("SK" + keys[x]);

 } „„ 此处计算机端处理程序与键盘控制模块处理程序类似。[20]

 4 4. .2 2. .5 5

 常用 功能模块

 目前的常用功能主要包括手机一键控制计算机的关机、重启功能。手机端软件在“实用工具”页面下会有“关机”和“重启”两个选项,单击任一选项会使计算机实现相应功能,即关机或重启。具体实现如下:

 手机端:

 public void commandListRunSelected(){

  try {

 bluetooth.SendData("run shutdown");

  } catch (IOException e) {

 // TODO Auto-generated catch block

 e.printStackTrace();

  }

  } public void commandListSendMessageSelected(){

  try {

 bluetooth.SendData("re start");

  } catch (IOException e) {

 // TODO Auto-generated catch block

 e.printStackTrace();

  } } 计算机端:

 if (cmd.startsWith("run")) {

 try {

  Runtime.getRuntime().exec("shutdown -s");

 } catch (Exception e) {

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 12 页共 16 页

 }

 } if (cmd.startsWith("re")) {

  try {

  Runtime.getRuntime().exec("shutdown -r");

  } catch (Exception e) {

  }

 }

 5 系统运行结果分析

 图 1 启动画面,软件初试启动时的界面

  图 2 选择应用模式,按选项进入相应功能 首先打开计算机端的软件,然后打开手机端软件,计算机端显示“等待连接”,手机端在搜索完蓝牙设备后显示搜索到的蓝牙设备名称(如图1);连接后进入“选择应用模式”界面(如图2),有鼠标模式、键盘模式和应用程序和实用工具四个选择。

  图 3 鼠标模式,此模式下手机模拟电脑鼠标功能

 图 4 键盘模式,此模式下手机模拟电脑键盘功能

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 13 页共 16 页 选择“鼠标模式”即可进行用手机按键模拟电脑鼠标的功能(如图3),此时手机端屏幕能实时显示鼠标周围的部分屏幕图像;选择“键盘模式” 即可进行用手机按键模拟电脑键盘的功能(如图4),此模式下可用手机编辑文档、玩赛车游戏等。

 图 5 应用程序(酷狗),手机控制酷狗软件

 图 6 应用程序(IE 浏览器),手机控制 IE 浏览器

 选择“应用程序”即可进入应用程序界面,目前包括的常用程序有酷狗(如图5)、火狐浏览器、Windows Media Player、IE浏览器(如图6)、暴风影音和PPT幻灯片。选择某个应用程序即可对其进行控制,但要保证该应用程序在前台运行。[20]

 6 结

 论

 目前本软件系统的开发工作以基本完成,顺利达到了初期开题时所要实现的目标。实现的功能有:手机按键模拟电脑鼠标,包括鼠标的上下左右移动,鼠标的左右键点击,中间滚轮的滑动、按键等;手机按键模拟电脑键盘的部分按键,包括上下左右键,空格键、退格键、tab键和回车键;以及用手机控制电脑的部分常用软件,包括酷狗、暴风影音、IE浏览器、ppt等,实现的功能有用手机控制播放器的音量、播放/暂停、快进快退、视频音频移动、网页的新建与关闭、ppt的播放、换页与停止等,还有手机一键控制计算机常用功能,即关机和重启等。

 本软件系统较深度研究了蓝牙的通信机制以及计算机相应控制功能的API,将手机与电脑用蓝牙连接的功能从只有传输文件扩展到更多的方面,更新了手机功能,创新了蓝牙应用,革新了电脑控制观念。此软件系统第一适合休闲,方便用户在使用时无线远程控制,不增加更多的遥控设置,也不用将电脑放在面前,远离辐射,如用电视般舒适地用电脑。第二适合教学,只要老师有手机在加一个蓝牙适配器即可。第三适合手机商,他们可将此应用绑定于手机,可以作为其一个卖点。手机和计算机的融合已是一种趋势,实现手机和计算机的融合对于娱乐互动和新媒体的推广也有一定的促进作用,让人们更好的享受移动新媒体所带来的娱乐功能。

 虽然目前本软件系统已经支持了一些功能,但为了更好地满足用户的需要,还需要进一步开发更多功能,向方便用户使用的方向,进行进一步的研究与开发,开发用户切

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 14 页共 16 页 实需要的功能,如扩大键盘功能的控制范围,使用手机打开电脑端软件时有更快捷的方式,而不是在模拟鼠标功能里打开,还有就是增加控制应用软件的数量和控制的功能,使用户使用起来更方便、控制范围更广。

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 15 页共 16 页

  致

 谢

 大学生活是人生中最美好的一段时光,在浙江传媒学院的四年生活给了我人生中最宝贵的经历,不管是学业上还是生活中,都是我人生中最精彩的一段。值此论文完成之际,我谨向我的导师以及其他教诲、关心和帮助过我的老师和同学们表示衷心的感谢和诚挚的祝福! 首先我要感谢我的导师林生佑副教授,是他把我领进了程序设计的大门,并一直指引着我稳步向前。从论文的选题开始、研究工作的开展到论文的最后完成,都倾注了林老师大量的心血,在本论文的撰写过程中,林老师提出了许多宝贵的意见。除此之外,林老师严谨认真的治学态度,积极乐观的生活态度,言传身教,对我都产生了深远的影响。在此,特向林老师致以最诚挚的敬意和最衷心的感谢。

 同时,我要感谢新媒体学院潘瑞芳教授,谢谢潘院长给我们提供了良好的学习环境,让我们能够更充分的利用教学资源,提高自己的专业水平。感谢班主任钱归平副教授,谢谢钱老师四年来对我们无微不至的关怀,无论是学习上,还是生活上,只要我们遇到困难,总有钱老师的身影,他不仅是我们学习上的好老师,更是我们生活中的好朋友。同时还要感谢张元老师、隋慧云老师、马同庆老师、张帆老师、张浩斌老师以及其他新媒体学院的老师们,谢谢他们的孜孜不倦和循循善诱,谢谢他们的精益求精和永不自满,让我有一种空杯心态,促使我的作品做得更好。

 再者,感谢新媒体学院学工办的杨波老师,谢谢他对我们平时学习生活中的关心和帮助,让我们能把大量的精力都投入到学习中来。我还要感谢这四年来关心和帮助过我的同学们,感谢你们给了我四年的友谊,我希望我也坚信我们的友谊会地久天长。

  还有,要衷心感谢我的父母,他们给予我最温暖的关怀,同我分享快乐与忧愁,给我创造了良好的生长环境和生活环境。没有他们的鼓励、支持,我不可能全身心的投入到学习中,没有他们无私的爱就不会有我的今天,所以在此我要把我最浓厚的爱献给我的父母。

 最后,对在百忙之中抽出时间评审论文和参加答辩的各位老师表示诚挚的感谢!

 浙江传媒学院本科毕业论文

 手机遥控计算机(MPCPC)系统的开发与实现 作者:刘俊杰

 第 16 页共 16 页

 参考文献 [1]袁跃祥. J2ME 的手机与计算机蓝牙通信系统设计[D].苏州大学本科生毕业设计,2009. [2]姚培华.“蓝牙”技术及其应用研究[J]. 科技信息,2008,36:234. [3]张慧. 基于蓝牙的通信软件实现分析[J]. 科技信息,2009, 36:315-316. [4]张金学. JavaMIDP 平台下蓝牙通信软件设计[J]. 科技广场,2011,7:66-69. [5]张红,孙启美,李锋. 基于蓝牙技术的手机与 PC 通信的实现[J]. 计算机时代,2007,6:62-63. [6]刘宇, 李建黎. 基于蓝牙技术的无线显示屏系统设计[J]. 单片机与嵌入式系统应用,2010,1:61-64. [7]兆雪. 蓝牙技术概况[J]. 民办教育研究,2009,10:89-92. [8]

 王彩峰,马永斌. 蓝牙技术及其应用前景分析[J]. 科技信息,2009,35:454,483. [9]陈晓湖. 蓝牙技术浅析及应用展望[J]. 才智,2008,19:157-158. [10]白云飞,王平,孙攀. 蓝牙通信模块的设计与实现[J]. 数字通信世界,2006,9:72-74. [11]黄明. 浅析蓝牙技术及其应用[J]. 鄂州大学学报,2009,9:19-21. [12]姚霁耘.

 基于蓝牙技术的手机遥控系统开发研究[J]. 电脑与电信,2011,8:49-51. [13](美)Y.Daniel Liang.Java 语言程序设计基础篇[M].机械工业出版社,2008 [14]王晓.J2ME 程序开发实用案例从入门到精通[M].清华大学出版社,2007 [15]刘雪峰, 蓝牙技术及其应用[J].国外电子元器件. 2002.5 [16] N. Sriskanthan*, F. Tan, A. Karande. Bluetooth based home automation system[J].

  Microprocessors & Microsystems. 2002.8:281-289

 [17]

 Morin, Thomas Q. Bluetooth[J].

 Boulevard. 2001.27:225-226 [18]李政仪.J2ME 手机游戏开发技术与实践[M].清华大学出版社,2010 [19]C. Enrique Ortiz.使用 Java 蓝牙无线通讯技术 API [Z].2006 [20]刘俊杰,林生佑,陶玲君,富来.手机遥控计算机(MPCPC)系统的开发与研究[J].计算机时代,2012,2:13-15.

相关热词搜索: 毕业论文