基于蓝牙的遥控智能音乐播放器的实现

来源 :东方教育 | 被引量 : 0次 | 上传用户:lightingguo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文介绍了一款基于蓝牙、ARM 平台和Java虚拟机手持设备的遥控智能音乐播放器的具体实现。详细阐述了系统蓝牙遥控的实现;为了在客户端进行音乐播放,讨论了基于OBEX协议的音乐文件的下载功能模块的实现;设计实现了对客户端音乐播放进度的控制,并对客户端接收过程中遇到的蓝牙字符串乱码问题加以解决。
  关键词:音乐播放器;蓝牙;OBEX
  1.蓝牙遥控的实现
  蓝牙通信实现不同设备之间的数据共享与数据交换,提供的是近距离设备之间的通信。蓝牙链接的建立依据蓝牙设备所处的地位分为主动链接和被动链接。对于每一次蓝牙通信链接的建立,服务器总是出于被动链接的地位,服务器必须先行启动,时刻监听,只要有客户机请求,就立即处理并响应回传信息,但决不会主动提供服务。客户机可以随时提出请求,通过網络得到服务,也可以关机离开,一次请求与服务的过程是由客户机首先激发的。在客户端建立主动链接的过程中,需要首先进行设备发现和服务发现,然后进行数据传输。在服务器建立被动链接的过程中,需要首先选择传输协议,然后监听到来的链接请求,之后接收链接请求,建立链接,开始进行数据的传输。
  由于系统端口资源有限,对一个服务器应用程序不能独自占用一个端口号,而且独占端口会导致两个不同的server程序在同一个端口进行监听,出现端口冲突。为了解决这一问题,蓝牙协议在标准端口运行SDP服务解决。当服务器程序启动时会注册服务记录到SDP服务,SDP为其动态分配端口。当远程客户端链接到设备时,首先向服务器提供所搜索的服务的UUID,SDP server然后返回符合的服务列表,这样就避免了问题的发生。
  2.基于OBEX的客户端文件推送与音乐文件下载
  OBEX 传输协议定义了数据对象及两个设备用来交换这些对象的通信协议。OBEX 使应用程序能在 Bluetooth 技术协议栈及 IrDA栈上工作。对于Bluetooth设备,仅支持面向连接的 OBEX。蓝牙协议栈的RFCOMM协议可以仿效RS-232 串行端口的状态和串行电缆线设置,用于提供串行数据传输。通过提供串行端口仿真,RFCOMM 可以同时支持系统保留串行端口应用程序以及应用程序中的OBEX协议。因此,选用了基于RFCOMM的OBEX实现文件的传输。
  播放器服务器端在向进入服务区内的蓝牙设备发送文件之前,需要先判断该设备是否支持OBEX协议。若发现设备支持OBEX_FILE_PUSH服务并获得其端口号,则推送客户端给用户,若没有发现响应的端口则进行下一次的推送,直到所有被发现设备全部执行结束为止,客户端推送结束。服务器对进入服务范围内的蓝牙手持设备,发送广播信息,获取设备的MAC地址。而后根据MAC地址,使用SDP协议,查询手持设备上用于支持OBEX协议传输的RFCOMM所使用的channel号。通过该channel号,服务器与手持终端建立了面向连接的传输。服务器首先使用这个链接管道向手持终端发送提示信息,如果手持终端确认接受文件下载,那么服务器向管道写入文件数据流,直至传输完毕;如果用户选择拒绝接受,服务器将与该客户断开连接,选择下一个蓝牙设备进行发送。
  音乐下载功能的实现利用了文件推送模块。客户端链接管理线程收到下载音乐命令后通过OBEX协议对对应的音乐进行下载,为了实现代码的复用,对当前客户端的物理地址信息进行了标识,若搜索的设备地址信息与客户端匹配,则建立链接并发送对应的歌曲到手机客户端中。客户端推送和音乐下载过程中都用到OBEX推送。在实现的过程中首先通过系统调用fork( )建立子进程,在子进程中再通过系统调用执行/mnt/yaffs目录下的obex_test程序完成文件的具体推送。
  3.客户端歌曲播放进度的实现
  为了实现歌曲播放时间的动态显示,使用了java.util包下的Timer类和TimerTask类。首先通过timer = new Timer();初始化计时器对象。通过task = new ClockTask(this);初始化定时任务的对象实例。ClockTask扩展java.util包中的TimerTask类并且实现其中的run()方法,在run()方法中编写逻辑代码,ClockTask维持一个实例变量count,在每次run()运行的时候把count加1,这样就可以记录时间。为了实现暂停以及重新启动,在ClockTask中添加一个boolean类型的标记。
  通过timer.schedule(task, 0, 1000); 方法设定计时开始,每经过1s调用clocktask对象的run方法更新客户端界面歌曲当前时间。由此实现了歌曲的播放时间进度显示功能。
  4. 客户端接收蓝牙字符串乱码的解决
  服务器通过L2CAP协议传输给客户端信息的编码方式为UNICODE,为了实现传输中文。需要将客户端接收的信息进行处理。各种编码格式如下,
  UTF-8: 1-3字节可变;
  UNICODE: 2字节一个字符;
  GB2312: 2字節一个字符。
  为了区分不同的字符,在服务器端对发送信息做了进一步的处理,在各个字符之间使用"#"进行间隔,在客户端首先将接收字符串用"#"分割。对获得的每个字符单独处理,如字符长度为4则传输数据为整型数据,通过Java中静态的处理方法,将其转换为整形,并进一步追加到返回字符串中去,若本身为字符数据,则直接追加至返回字符串,由此实现了中文信息的传输。
  参考文献:
  [1]博创科技.UP-NETARM2410-S Linux 嵌入式系统实验指导书[M].北京: 博创兴业科
  [2]金纯、林金朝,蓝牙协议及其源代码分析. 国防工业出版社,2006年第 1 版.
  [3]孙琼.嵌入式Linux应用程序开发详解.人民邮电出版社,2006.
  [4]周立功等.ARM嵌入式系统基础教程.第1版.北京航空航天大学出版社.2005.
  [5]高建华,王殊. 基于 S3C2410 型微处理器和 UDAl341 型立体声音频编解码器的嵌入式音频系统设计. 国外电子与元器件,2006.
其他文献
摘要:完善的培训体系必须要切实考虑到员工的职业生涯发展,然后通过职业开发活动,创建科学的职业生涯通道,提供多样化的职业生涯阶梯,从而有利于员工和企业双方的职业开发,最终实现双赢的职业发展目标。“梯型”职业发展通道可以在不同时期,针对不同员工,选择合适的职业发展路径,这能带来最大的激励效果和最有效的人力资源开发利用。  关键词:培训;培训体系;职业生涯管理;职业生涯通道①  一、培训的现状分析  我
期刊
摘要:“没有疲劳的训练是无效的训练”然而训练后疲劳的消除是随之而来的更为重要的一步工作。本文结合激流回旋项目的运动生理代谢特点,运用运动营养学等相关知识,对于激流回旋运动员在训练期阶段的训练前、训练中、训练后的营养与补充进行相关研究探讨。使运动员身体得到较快恢复,为更好完成大运动量训练与建立有效训练负荷奠定营养基础。  关键词:激流回旋运动;营养恢复  前言:激流回旋运动是一项充满激情活力的运动项
期刊
摘要:党支部联合体是在保持党支部原有纵向机制基础上,着力强化教师学生支部间横向的项目式联合体工作。通过建立党支部联合体,分别在组织、培训、发展、实践拓展党建新阵地,以党员教育培养和专业实践为途径,以科研课题为载体,在实现师生自身价值的基础上凸显支部联合体参与公益、社会实践,强调对纵向支部的融合,对党员师生的多层次覆盖,师生互动、教学相长,真正实现同学习、同实践、同讨论、同服务、同受益。从而发挥新老
期刊
摘要:在社会中科学技术不断发展的今天,我国的科技水平也得到了一定的改善和提升,特别是在平面设计工作开展方面,我国更是在逐渐发展中取得了最大的优势。同时近年来,因为计算机技术也应用到这一工作之中,这一点导致这一设计工作的开展变得更加灵活,这样的情况都在根本上加快了平面设计工作自身的发展。但是在这一工作中,依然需要关注的就是,想要保证其发展,就需要其了解自身的特点,这样才能够更好的保证这一工作与科学技
期刊
摘要:客户服务質量是企业立足市场的重要资本,同时客户服务质量也是决定企业是否能够长远发展的重要因素。因此,就供电企业来说,其若想解决现阶段的客户服务质量,提升市场竞争力,就需要对客户服务质量工作进行足够的重视,并同时还要对日常服务工作中存在的种种问题进行积极的解决。基于此,本文著重就供电企业当前客户服务工作中存在的问题以及解决建议进行了阐述和分析,希望能够为供电企业提升客户服务质量提供一些意见上的
期刊
摘要:近年来,房地产建筑工程发展越来越快,需要的技术也越来越精湛,考虑到建设工程大多数是生产周期长、规模大、造价高、可变因素多,这就需要有一个完整的估价制度去保证工程建筑费用得到合理的分配和使用。我国的房地产评估业发展已初现雏形,在某些方面发挥着巨大的作用,但是在评估人员的素质,缺乏管理制度的具体标准等方面存在缺陷,然而在全球化进程不断加深的时代,国外很多著名的中介企业打入中国市场,对于中国来说是
期刊
摘要:近些年,随着社会中越来越多的破坏自然生态环境和虐待残杀动物行为的出现以及人们环保意识的增强,环境保护运动和动物保护运动进行的如火如荼。许多有识之士开始意识到了动物保护的重要性,并希望通过以立法的方式来赋予动物一些权利来解决残杀动物的问题。在这个过程之中,越来越多的伦理学以及法学、哲学的学者们开始思考人与自然、人与动物之间的关系。到底如何正确处理人与动物的关系?到底应不应该赋予动物以权力?赋予
期刊
摘要:合同管理和工程造价是我们的必修课,也是我觉得非常重要的课。通过一个学期的学习和认识,对它们有了一定的了解,通过知识点一点一点地串联起来,我发现其实它们之间有着一定的联系,正所谓自然界的万事万物都是相生相通的,更何况是同一专业的学科呢。  关键词:合同管理;施工方;工程建设  合同是伴随着经济社会的不断发展和人们对他人的不信任而产生的.随着经济社会的蓬勃发展,人民的生活水平也提高了,个体商户,
期刊
摘要:高校图书馆管理要有长足发展,跟上知识经济时代发展的步伐,首先须解放思想,更新观念。以“读者第一,服务育人”为宗旨,以千方百计满足读者需求作为图书馆管理的中心环节和价值走向,以创新理念和创新行为来加强图书馆管理,开辟图书馆管理发展的新途径。  关键词:高校;图书馆)管理)创新  21 世纪科学技术的飞速发展,信息化浪潮席卷全球,一个崭新的网络环境已经来到我们面前,作为高校办学的三大支柱之一(教
期刊
目前,在制革企业不断壮大发展的过程中,逐渐暴露出诸多问题,如生产计划制定缺乏数据支撑、没有完善的库存管理机制、产品质量无法跟踪和控制等。新一轮科技革命正引发产业深度变革,互联网+、大数据、云计算、人工智能等前沿科技日新月异,我国制革行业转型升级迎来机遇。企业正紧跟时代步伐,大力推进两化融合,加快应用智能制造装备,引进产品生命周期管理、客户关系管理、供应链管理等信息化系统,提升企业智能化运营水平。随
期刊