手机遥控计算机(MPCPC)系统的开发与研究
刘俊杰,林生佑,陶玲君,富 来
【摘 要】研究了基于蓝牙通俗技术的手机遥控计算机(Mobile Phone Control Personal Computer)系统软件编程技术。软件分为计算机端和手机端两部分,计算机端用JavaSE作为开发语言,手机端用J2me作为开发语言,通过JSR82标准里的核心蓝牙包javax.bluetooth实现无线通信功能。该软件系统可改变用户控制计算机的方式,使计算机控制更加多样化,用户使用更方便、舒适。
【期刊名称】计算机时代 【年(卷),期】2012(000)002 【总页数】4
【关键词】手机;计算机;蓝牙通信;JavaSE;J2me;JSR82 【
文
献
来
源
】
https://www.zhangqiaokeyan.com/academic-journal-cn_computer-
era_thesis/0201241357031.html
0 引言
1998年,爱立信、IBM、Intel、诺基亚和东芝等公司联合推出了一项最新的无线网络技术,即蓝牙(Bluetooth)技术,随后这五家公司组建了一个特殊兴趣组织(SIG:Special Interest Group)来负责开发此技术以及协议。 蓝牙技术是一种低成本、短距离的无线通信技术,主要用途是为移动设备提供相互通信的能力。对于广大用户来说,蓝牙技术最大的好处就在于让用户在短距离内不用再被纷乱复杂的数据线影响,可以自由自在地享受数据传输的方便与快捷。现在大多数手机、笔记本电脑都支持蓝牙功能,即使PC端没有集成蓝牙装置,也
可通过USB口外接蓝牙适配器来拥有蓝牙功能。
JSR82标准是Java蓝牙无线技术API(JABWT)。JSR82定义了两个独立的可选包:核心蓝牙API和对象交换(OBEX)API。本文主要用到的是核心蓝牙包:javax.bluetooth。蓝牙手机和集成了蓝牙设备的计算机之间可以通过JSR82包来实现短距离无线通信。
1 项目背景简介
随着网络和无线通信技术的发展以及无线移动设备处理能力的不断增强,手机已经不再是一个单一的通信设备,它融合了上网、个人信息处理、移动办公、娱乐游戏等功能。各种无线移动通信终端正朝着多功能、智能化的方向发展。 目前使用电脑控制手机的软件较多,而使用手机控制电脑的软件较少,在绝大多数情况下用户必须坐在电脑前面使用电脑,这给使用电脑带来不便。借助我们开发的MPCPC(Mobile Phone Control Personal Computer)系统,手机可通过蓝牙遥控电脑,可以对电脑进行远程遥控操作,不必在束缚于电脑桌前,这有效减少了电脑对人的辐射。
2 系统功能分析
MPCPC系统主要实现以下功能:
鼠标控制:用手机上的按键来控制计算机鼠标的各种动作,如鼠标上移、下移、左移和右移,鼠标的左击和右击,鼠标滚轮滑动等一系列动作。
键盘控制:用手机按键来模拟键盘的上下左右、空格、回车、Tab、退格等按键。
应用程序:应用程序包括电脑常用的应用程序,如酷狗、暴风影音、IE浏览器、PPT等本系统可通过手机来控制音乐、视频的播放与停止,调节音量大小,浏
览器页面的新建与关闭,幻灯片的播放、移动、结束播放等。
3 系统功能实现
根据系统的功能,MPCPC系统被分为以下四个模块:蓝牙功能模块,鼠标控制模块,键盘控制模块,应用程序模块。 3.1 蓝牙功能模块
该模块主要负责建立手机与计算机间蓝牙通信的连接。首先计算机端要先进行蓝牙服务的注册和发布,然后创建一个服务连接并等待手机端的连接请求;手机端要对周围蓝牙设备进行搜索,然后对搜索到的服务设备发出连接请求。 计算机端主要代码:
final UUID uuid=new UUID(\
27012f0c68af4fbf8dbe6bbaf7aa432a\ name=\服务器名称
final String url=\://localhost:\ name+\服务连接URL
在蓝牙中,每个服务和服务属性都惟一地由\全球惟一标识符\(UUID)来校验。正如它的名字所暗示的,每一个这样的标识符都要在时空上保证唯一。UUID实例是不可改变的,只有被UUID标示的服务发现。 ……
local=LocalDevice.getLocalDevice();//取得本地蓝牙设备
local.setDiscoverable(DiscoveryAgent.GIAC);//服务器设置被发现的模式为 GIAC
当调用LocalDevice.setDiscoverable()方法来设置设备为可被发现的模式时,
手机遥控计算机(MPCPC)系统的开发与研究
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)