【Android论文栏目提醒】:网学会员,鉴于大家对Android论文十分关注,论文会员在此为大家搜集整理了“基于Android的蓝牙远程控制PC系统 - 期刊论文”一文,供大家参考学习!
网络出版时间:2012-10-30 15:26网络出版地址:http://www.cnki.net/kcms/detail/34.1205.TP.20121030.1526.004.html 收稿日期:2012-09-03 、 、 作者简介:马鸣1983-男,河南省南阳市人,助教,研究生,主要从事《移动开发》《C语言程序设计》《Cwinform 开 、 、 ,男,陕西省西安市人,讲师,研究生,主 发》《ASP.NET 基础》《ASP.NET 高级应用》等课程的教学工作;张华(1982-) 、 、 、 要从事《C语言程序设计》《C数据结构》《Cwinform 开发》《C windows 高级编程》等课程的教学工作。
基于
Android 的蓝牙远程控制 PC 系统 马鸣 张华 (南阳理工学院,河南 南阳 473004) 摘要:基于
Android 操作系统蓝牙的远程控制系统在一定程度上,既为人们提供了便利,又克服了传统的计算机交互模式。
提出了一个基于
Android 系统的远程访问和控制系统,该系统基于开放的蓝牙技术。
首先介绍了整个系统结构框架,然后分 析了各个模块的具体实现,最后实现了
Android 操作系统实际利用蓝牙通信,对其他设备的普遍访问和远程控制。
关键词:蓝牙通信;远程控制;
Android 中图分类号:TP311 文献标识码:A 文章编号:1009-3044201228- Design and Implementation of Remote Control System Via Bluetooth Based on
Android MA Ming ZHANG Hua Nanyang Institute of Technology Nanyang 473004 China Abstract: To a certain degree the remote control system which is based on the Bluetooth of
Android operating system provides people with a new and convenient computer interactive mode that overcomes the traditional mode. A remote access and control system is proposed in this paper which is based on the technology of Bluetooth. In this article firstly the system architecture is introduced then the realization of each module is analyzed. Using Bluetooth
Android mobile phone realizes the universal access and remote control on other devices. Key words: Bluetooth communication remote control
Android 1 前言 随着计算机技术和通信技术的飞速发展,人类的生活水平有了日新月异的变化,以人为本,舒适,便利,智能化已经成 为家居系统办公系统的重要理念。
这些力求创造安全舒适的生活办公环境的理念,成为当今开发商关注的重要卖点之一。
远 程控制软件产品被广泛应用于日常生活和工作中,不管是个人用于远程协助,还是企业用于远程管理,远程控制技术都能给 1 我们带来了极大的方便,因此远程控制软件的市场前景也相当乐观 。
而基于
Android 蓝牙的远程控制系统就是这种全新的 控制和计算模式的一种实现。
2 系统的相关技术分析 2.1 蓝牙技术 蓝牙是一个开放性的、短距离无线通信技术标准。
它可以用来在较短距离内取代目前多种线缆连接方案,穿透墙壁等障 碍,通过统一的短距离无线链路,在各种数字设备之间实现灵活、安全、低成本、小功耗的话音和数据通信。
蓝牙作为一种新兴的短距离无线通信技术已经在各个领域得到广泛应用,它提供低成本、低功耗、近距离的无线通信, 构成固定与移动设备通信环境中的个人网络,使得近距离内各种信息设备能够实现无缝资源共享2。
2.2 Java 无线蓝牙技术 任何蓝牙应用都有以下这些组件:堆栈初始化组件,设备管理组件,设备发现组件,服务发现组件和通讯组件。
Java 蓝牙 API 依赖 Java 通用连接框架,一直一来这成为 Java 蓝牙 API 应用的一个局限。
但是,人们建议将 GCF 加入到 J2SE 中。
Java 蓝牙 API 使得访问更多的系统成为可能3。
Java 蓝牙 API 定义了两个包: 另一个是用于对象交换协议的 javax.obex 一个是 Java 蓝牙 API 的核心 javax.bluetooth, 1(OBEX)。
,该控制中心是一个控制面板,它的作用类似于 根据 JSR 82 规范,所有潜在蓝牙系统都必须支持蓝牙控制中心(BCC) 4可以让用户或 OEM 给堆栈中的某些配置参数定义具体值得应用程序,特别是,它将应用于堆栈初始化中 。
3 系统的功能需求和设计3.1 系统的功能需求 基于
Android 蓝牙远程控制电脑系统,电脑端主要是先接受蓝牙数据,然后根据接受的数据只想相应的电脑操作。
而实现这些操作的基础就是蓝牙通信。
要完成蓝牙通行需要进行蓝牙的搜索、配对、连接和数据通信。
3.1.1
Android 客户端功能需求 蓝牙连接:用户可能匹配了多个台电脑。
每台电脑的蓝牙 MAC 地址各不相同。
因此本系统提供了选择连接功能。
蓝牙连接保持:由于在蓝牙的连接过程中可能会出现连接丢失的现象, 因此仅仅连接一次是远远不够的。
本模块负责保持蓝牙的连接稳定性。
数据发送:负责将操作捕获的动作信号发送至 PC 端(服务器端)。
操作捕获:用于捕捉用户对触摸板的常用操作,并转化为数据信号。
3.1.2 PC 控制端功能需求 蓝牙接收保持:作为服务器端,应一直监听客户端发来的信息,并确保无数据丢失现象。
数据接受分析:负责接受客户端发送来的动作信息,并将动作信息解析。
鼠标控制:将客户端发送来的动作信号解析后,在电脑上还原成客户端的动作操作。
3.2 系统的设计 系统整体分析与设计,系统总设计如图 1 所示:图1 系统总体设计图 24 系统的实现4.1 PC 控制端的实现 控制器软件首先要实现搜索周围蓝牙设备的功能。
通过搜索,过滤掉周围其他的蓝牙设备,找到需要控制的电脑。
根据 5蓝牙协议,蓝牙通信模型此采用 C/S 模型。
电脑作为服务器端,提供链接服务,等待
Android 端(客户端)的连接 。
一般服务发现是紧接着设备发现后进行的,服务发现的目的是搜索某个已发现的蓝牙设备当前提供哪些服务。
总之设备发现和服 6务发现的结果,是最终软件能显示出控制器所在范围内可控制电脑的设备列表,提供给用户做下一步的连接操作 。
设备连接通信编写一个独立的类实现,以下是该类主要的代码: private void analysisString code MyMouseController mmcnew MyMouseController System.out.println判断码是Integer.parseIntcode.subSequence0 1.toString switchInteger.parseIntcode.subSequence0 1.toString case 0: String Coordinatecode.substring1.split int widthInteger.parseIntCoordinate0 int heighInteger.parseIntCoordinate1 mmc.Movewidth heigh break case 1: String eventcode.substring1.split System.out.printlnevent 是event0 ifevent0.equalsvcevent0.equalsleftc mmc.Click ifevent0.equalsrightc mmc.RightClick ifevent0.equalspress mmc.Press ifevent0.equalsrelease mmc.Release break / 读取接收的数据/ private String readInputString InputStream DataIn byte b new byte10 int imsgdis.readb String msg new Stringb System.out.printlnmsg return msg 4.2
Android 客户端的实现 1 View 划动的数据获取 设置 i 计数器,i0 时,为第一次进行触摸操作,获取当前触摸屏坐标 x intevent.getXy intevent.getYii!0 时,新获取的坐标减去上次坐标为移动坐标 x intevent.getX y intevent.getYm x - x0n y - y0x0 intevent.getXy0 intevent.getY判断移动坐标 m,n 是否都为 0,若都为 0 代表无位移,即划动停止,设置计数器 i0。
32 按压事件的实现 当左 button 长按,代表按压开始,button 变为橙色,再次长按代表按压施放,button 恢复白色。
该功能如图 2 所示: 图2 按压左 Button 后的主操作界面 实现按压事件的关键代码如下: public boolean onLongClickView v ifcount20 button1.getBackground.setColorFilter0xFFFFA500 Mode.MULTIPLY ifcount21 button1.getBackground.setColorFilter0xFFFFFFFF Mode.MULTIPLY count1 return true 5 结束语 该系统设计实现了用
Android 移动设备取代传统鼠标的功能。
当用户运行位于
Android 操作系统上的应用的时候,可以搜索附近的蓝牙设备,然后用户可以选择一台进行连接,当连接完成后,电脑和
Android 移动设备之间建立了蓝牙通信的连接通道,之后用户可以通过控制器程序实现控制鼠标的操作。
参考文献:1郭克华. Java ME 移动开发实例精讲M.人民邮电出版社2000.50-5.2斯托林斯. 无线通信与网络M.人民邮电出版社2001.15-19.3黄丹丹. Java 与蓝牙技术在 DLP 投影系统中的应用J.计算机技术与发展2010.48-50.4谷晓 邱少明. Java 面向对象程序设计M.北京:清华大学出版社2009. 35-38.5张渊. eclipse 软件体系结构研究J.软件工程200282:40-43.6喻宗泉. 蓝牙技术的发展与研究J.通信学200682:48-50.7王映民.
Android 移动通信系统设计J.通信学2008.58-60. 4