【Android论文栏目提醒】:网学会员--在 Android论文编辑为广大网友搜集整理了:基于Android的蓝牙远程控制PC系统 - 期刊论文绩等信息,祝愿广大网友取得需要的信息,参考学习。
ISSN 1009-3044 E-mail: kfyjcccc.net.cnComputer 28 期 2012 年 10 月第 8 卷第Knowledge and Technology 电脑知识与技术 http://www.dnzs.net.cn Computer Knowledge and Technology 电脑知识与技术Vol.8 No.28 October 2012. Tel:86-551-5690963 5690964基于
Android 的蓝牙远程控制 PC 系统马鸣 张华(南阳理工学院,河南 南阳 473004) 摘要:基于
Android 操作系统蓝牙的远程控制系统在一定程度上, 既为人们提供了便利, 又克服了传统的计算机交互模 式。
提出了一个基于
Android 系统的远程访问和控制系统, 该系统基于开放的蓝牙技术。
首先介绍了整个系统结构框架, 然后分析了各个模块的具体实现, 最后实现了
Android 操作系统实际利用蓝牙通信,对其他设备的普遍访问和远程控制。
关键词:蓝牙通信;远程控制;
Android 中图分类号:TP311 文献标识码:A 文章编号:1009-3044201228-6833-03 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
Android1 概述 随着计算机技术和通信技术的飞速发展,人类的生活水平有了日新月异的变化, 以人为本,舒适,便利,智能化已经成为家居系统办公系统的重要理念。
这些力求创造安全舒适的生活办公环境的理念, 成为当今开发商关注的重要卖点之一。
远程控制软件产品被广泛应用于日常生活和工作中, 不管是个人用于远程协助,还是企业用于远程管理, 远程控制技术都能给我们带来了极大的方便,因此远程控制软件的市场前景也相当乐观1。
而基于
Android 蓝牙的远程控制系统就是这种全新的控制和计算模式的一种实现。
2 系统的相关技术分析2.1 蓝牙技术 蓝牙是一个开放性的、短距离无线通信技术标准。
它可以用来在较短距离内取代目前多种线缆连接方案, 穿透墙壁等障碍,通过统一的短距离无线链路,在各种数字设备之间实现灵活、安全、低成本、小功耗的话音和数据通信。
蓝牙作为一种新兴的短距离无线通信技术已经在各个领域得到广泛应用, 它提供低成本、低功耗、近距离的无线通信,构成固定与移动设备通信环境中的个人网络,使得近距离内各种信息设备能够实现无缝资源共享2。
2.2 Java 无线蓝牙技术 任何蓝牙应用都有以下这些组件: 堆栈初始化组件, 设备管理组件, 设备发现组件,服务发现组件和通讯组件。
Java 蓝牙 API 依赖 Java 通用连接框架, 一直一来这成为 Java 蓝牙 API 应用的一个局限。
但是, 人们建议将 GCF 加入到 J2SE 中。
Java 蓝牙 API 使得访问更多的系统成为可能3。
一个是 Java 蓝牙 API 的核心 javax.bluetooth, Java 蓝牙 API 定义了两个包: 另一个是用于对象交换协议的 javax.obex (OBEX) 。
根据 JSR 82 规范,所有潜在蓝牙系统都必须支持蓝牙控制中心 , (BCC) 该控制中心是一个控制面板, 它的作用类似于可以让用收稿日期:2012-09-03作者简介:马鸣1983-男,河南南阳人,助教,研究生,主要从事《移动开发》《C语言程序设计》 、 《Cwinform 开发》 、 《ASP.NET 基 、 、 础》《ASP.NET 高级应用》 张华 等课程的教学工作; (1982-) 男, , 陕西西安人, 讲师,研究生,主要从事《C语言程序设 计》、 《C数据结构》、 《Cwinform 开发》 《C windows 高级编程》 、 等课程的教学工作。
本栏目责任编辑:梁 书 计算机工程应用技术 6833Computer Knowledge and Technology 电脑知识与技术 第 8 卷第 28 期 2012 年 10 月户或 OEM 给堆栈中的某些配置参数定义具体值得应用程序, 特别是,它将应用于堆栈初始化中4。
3 系统的功能需求和设计3.1 系统的功能需求 基于
Android 蓝牙远程控制电脑系统,电脑端主要是先接受蓝牙数据,然后根据接受的数据只想相应的电脑操作。
而实现这些操作的基础就是蓝牙通信。
要完成蓝牙通行需要进行蓝牙的搜索、 配对、连接和数据通信。
3.1.1
Android 客户端功能需求 蓝牙连接:用户可能匹配了多个台电脑。
每台电脑的蓝牙 MAC 地址各不相同。
因此本系统提供了选择连接功能。
蓝牙连接保持:由于在蓝牙的连接过程中可能会出现连接丢失的现象,因此仅仅连接一次是远远不够的。
本模块负责保持蓝牙的连接稳定性。
数据发送:负责将操作捕获的动作信号发送至 PC 端(服务器端)。
操作捕获:用于捕捉用户对触摸板的常用操作,并转化为数据信号。
3.1.2 PC 控制端功能需求 蓝牙接收保持:作为服务器端,应一直监听客户端发来的信息,并确保无数据丢失现象。
数据接受分析:负责接受客户端发送来的动作信息,并将动作信息解析。
鼠标控制:将客户端发送来的动作信号解析后,在电脑上还原成客户端的动作操作。
3.2 系统的设计 系统整体分析与设计,系统总设计如图 1 所示: 图 1 系统总体设计图4 系统的实现4.1 PC 控制端的实现 控制器软件首先要实现搜索周围蓝牙设备的功能。
通过搜索, 过滤掉周围其他的蓝牙设备, 找到需要控制的电脑。
根据蓝牙协议,蓝牙通信模型此采用 C/S 模型。
电脑作为服务器端,提供链接服务,等待
Android 端(客户端)的连接5。
一般服务发现是紧接着设备发现后进行的,服务发现的目的是搜索某个已发现的蓝牙设备当前提供哪些服务。
总之设备发现和服务发现的结果, 是最终软件能显示出控制器所在范围内可控制电脑的设备列表, 提供给用户做下一步的连接操作6。
6834 计算机工程应用技术 本栏目责任编辑:梁 书第 8 卷第 28 期 2012 年 10 月 Computer Knowledge and Technology 电脑知识与技术 设备连接通信编写一个独立的类实现, 以下是该类主要的代码: 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 划动的数据获取 i0 设置 i 计数器, 时, 为第一次进行触摸操作, 获取当前触摸屏坐标 x intevent.getXy intevent.getY ii!0 时,新获取的坐标减去上次坐标为移动坐标 x intevent.getX y intevent.getYm x - x0n y - y0x0 intevent.getXy0 int nevent.getY判断移动坐标 m, 是否都为 0, 若都为 0 代表无位移,即划动停止,设置计数器 i0。
2 按压事件的实现 当左 button 长按,代表按压开始,button 变为橙色,再次长按代表按压施放, button 恢复白色。
该功能如图 2 所示: 图 2 按压左 Button 后的主操作界面 (下转第 6852 页)本栏目责任编辑:梁 书 计算机工程应用技术 6835Computer Knowledge and Technology 电脑知识与技术 第 8 卷第 28 期 2012 年 10 月通常可以这样:首先,评议方通过阅读设计方案, 整理汇总出的要求设计方进行解释说明的疑点, 并以书面形式交给设计方(这里我们很强调 , “书面”因为口头上的交流容易造成遗漏, 日后也无法对证,还有就是“书面”会让表达更严谨,有利于提高工作效率)。
同时,评议方也可以提出自己的需求, 或者修改意见。
接下来, 设计方同样要以书面形式对疑点进行逐一解答, 对评议组提出的需求和修改意见进行逐一响应。
然后, 甲方组织现场答疑会, 做更全面详实的沟通 (答疑会一定要做 ) “会议纪要”。
最后,评议组对答疑情况进行汇总,由设计方确认后, 要求设计方在指定时间内交出优化方案。
这里我们要特别提醒: 评议组成员一定要尽量包括 “本单位各部门的代表” 。
这是因为,他们是最终用户,我们的设计都要能够满足他们的实际需求尽可能提供一个良好的用户体验。
但是, 一个经常遇到的问题是, 除了负责基建的部门,本单位的其他部门往往并不重视自己对项目的参与权——在设计的时候表示 , “怎么都可以” 等建设好了, 正式进驻了,就开始埋怨“你们怎么这样设计 ”的? ——必须要改,费时、费工、费钱!所以作为甲方的项目负责人, 应该还要养成经常向 “本单位各部门的代表”汇报工作进度的习惯,以避免事后挨骂,更重要的是避免不必要的人力、 物力和时间的浪费。
虽然方案设计主要工作是在方案实施之前, 但还需要伴随着方案的实施与时俱进。
实践证明, 无论事先考虑有多周详,正式开工以后,还是会出现实施有困难的情况, 有的需要坚持,有的需要调整, 一切也都需要论证。
5 总结 以上是本人对新建园区弱电工程在方案设计方面的经验和教训的总结。
所罗列的是本人映像较为深刻的部分,并不十分全面。
仅希望本文能对那些正在或即将进行新园区弱电建设的单位有所帮助。
参考文献:1 陶新林.弱电工程布线设计与施工所需注意的几个问题J.智能建筑与城市信息201010.2 丁峰.校园弱电系统中管道的设计和施工J.网络与信息201012.3 张洪忠.校园弱电系统建设的基本策略J.中国现代教育装备20108.(上接第 6835页) 实现按压事件的关键代码如下: 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. 6852 计算机工程应用技术 本栏目责任编辑:梁 书