教学论文-浅析无线蓝牙技术在多媒体教学中的应用的论文.docx

文档编号:589428 上传时间:2022-07-04 格式:DOCX 页数:9 大小:16.77KB
下载 相关 举报
教学论文-浅析无线蓝牙技术在多媒体教学中的应用的论文.docx_第1页
第1页 / 共9页
教学论文-浅析无线蓝牙技术在多媒体教学中的应用的论文.docx_第2页
第2页 / 共9页
教学论文-浅析无线蓝牙技术在多媒体教学中的应用的论文.docx_第3页
第3页 / 共9页
点击查看更多>>
资源描述

1、浅析无线蓝牙技术在多媒体教学中的应用的论文论文关键词:蓝牙;远程控制;j2e;jabt 论文摘要:蓝牙无线通信具有无线性、低功耗等优点,非常适合于近距离的远程控制。讨论了在支持j2e的蓝牙手机设备上,用jabt蓝牙开发包编程与p幻灯片主设备建立通信连接,并在此基础上交换信息,实现对幻灯片翻页的控制,从而扩展了教师在课堂中的活动距离可达10左右,能更好地实现师生互动交流。 蓝牙是一种开放的、解决中短距离的无线通信技术,具有很强的设备间的兼容性和互操作性,并且能提供在10内具有蓝牙接口的不同设备之间的互联(10-100范围需要添加功率放大器),工作频段免费,因此蓝牙在短距离数据传输中有非常广泛的应

2、用前景。 在多媒体教学中,教师为了方便、快捷地通过和主机交互,来控制幻灯片的播放、翻页,往往只能在距离讲台和主机的一个小范围内移动,活动受到限制,教学效果不是很理想,为了改变这种现状,本文基于j2e平台和v6.0编程环境,设计并实现了幻灯片远程控制系统中的主机端服务器和手机端的客户程序,成功实现了蓝牙手机对主机中幻灯片的远程遥控播放,与当前市场上同类产品相比,只需要额外购买一款通用的usb接口蓝牙适配器,并结合大众化的支持jze的蓝牙手机即可,无需智能机。本系统既可以让教师离开枯燥的讲台实现远程控制,又可以实现10米范围内的学生互动交流,提高教学效果,有广泛的应用前景。 1、蓝牙技术规范 蓝牙

3、技术规范就是为了使符合该规范的各种应用之间能够互联。 要实现蓝牙设备之间的通信,不仅要有底层蓝牙硬件,还需要上层协议栈的支持。蓝牙bsig标准组织(bluetthspeialinterestgrup,bsig)发布的蓝牙规范就是蓝牙通信协议标准,规定了蓝牙软硬件应遵循的标准和达到的要求。根据蓝牙协议的功能,协议栈可分为3个部分:底层硬件模块、中间协议层和高层应用。具体蓝牙协议栈结构如图1。主机控制器接口(hstntrlinterfae,hi)是对不同连接方式的抽象,它提供了调用下层基带以及状态和控制寄存器等硬件的一致的命令接口,使不同的连接方式对主机的协议软件而言是透明的。规范的制订需要考虑并

4、达到不同蓝牙产品之间的互联性。蓝牙系统构成的基本网络单元称为微微网(pinet),一个微微网内包括一个主设备(aster)和多个从设备(slave),设备的主从关系是在蓝牙链路的建立过程中确定的,链路建立的发起者定义为主设备,其他响应者为从设备。 2、j2e蓝牙api j2e蓝牙api(javaappliatinfrbluetthirelesstlkit,jabt)属于j2e的蓝牙扩展部分,是蓝牙技术规范的第一个实现,由jsr82规范进行定义。jabt包括两个基本包,一个核心包为javax.bluetth,另一个为javax.bex,后者提供对象交换协议,之所以和蓝牙核心包分离开,是为了让be

5、x协议不依赖蓝牙硬件,比如在红外等支持对象交换协议的地方都可以使用javax.bex包。在具体应用中,核心包实现了蓝牙协议栈中的l2ap,sdp和rf等协议,主要应用于蓝牙设备管理、设备发现和服务查找。在幻灯片控制应用中,通过在主机中插入蓝牙适配器,就可以提供和手机间的蓝牙通信,数据交换。 3、基于蓝牙的应用架构 基于蓝牙无线通信的应用大都采用/s(lient/server)架构。客户端向服务器发送服务请求,服务器根据请求提供服务。具体服务可以选择在不同的协议层上来实现。在多媒体教学中,我们把播放幻灯片的主机作为服务器端,负责接收对幻灯片的控制请求,手机作为客户端,负责发送控制请求数据。 3.

6、1服务器处理流程 服务器端流程图如图2所示,服务器是发起蓝牙通信的一端,为主设备,手机为从设备。 3.1.1服务注册 由于服务器端采用v6.0开发环境,自然采用微软的蓝牙协议开发工具包,首先需要调用sastartup函数对网络进行初始化,定义一个基于rf的流套接字,绑定此套接字到一个本地蓝牙设备,随后注册并发布一个服务,此时需要提供一个uuid(在手机客户端仍然需要使用同一个quid来发现本服务),可以通过guidgen.exe工具自动生成,代码如下: skaddr_bthsa;sketserver;saddr_infskinf; server=sket(afbth,sk_strea,bthp

7、rt_rf-); bind(server,(nstskaddr*)≈sa,sizef(skaddr_bth); skinf.iprtl=bthprt_rf;skinf.iskettype=skstrea; saquerysetsvinf=0; svinf.dnaespae=ns_bth; svinf.lpservielassid=(lpguid)≈servie_uuid; sasetservie(≈svinf,rnrservie_register,0); 3.1.2启动服务器 当为一个本地蓝牙设备注册并发布一个服务后,就可以等待客户端的连接请求。其中aept函数为阻塞函数,一

8、直等到客户端连接上方可返回,所以本代码需要在单独的后台线程中运行,如果在界面线程中,则界面就会没有反应,不能和用户进行交互。返回的lient在与蓝牙客户端收发数据中需要使用,需要保存。 sketlient=aept(server,(lpskaddr)≈a,≈alen); 3.1.3接受手机客户端服务请求处理 使用一般的网络编程方式,调用rev函数读取客户端发送来的服务请求数据,本函数也为阻塞方式,也要放在单独线程中运行。当客户端断开连接时,函数返回,同时re为0;如果re。不为0,说明收到了客户端的有效数据,进行处理即可。 re=rev(lient,data,sizef(data)

9、,0); if(re=0)break;/客户端退出 /*对接受到得数据进行处理*/ 刀继续下次循环 3.1.4服务结束关闭连接 当手机客户端退出时,要关闭服务端所对应客户端的连接套接字,退出本服务所定义的线程。如果所有的客户端请求处理结束,服务器要退出,也需要关闭服务器的套接字,释放系统资源。 lsesket(lient);lsesket(server); 3.2客户端处理程序 手机客户端流程图如图3所示,采用j2e进行编写,能够实现跨平台,无论是否为智能手机都可以运行客户端程序,对手机设备的要求不高。 3.2.1设备发现 通过jabt中的disveryagent类和disverylisten

10、er接口实现设备发现,disveryagent类中的startinquiry)方法可将设备置为查询模式,同时指定一个事件监听器,监听查询结果的到来和查询结束两个事件,主要是,当有查询到的设备时,就发送deviedisvered这个事件,并调用deviedisvered()方法,当查询结束时,调用inquirypleted()方法。 3.2.2服务发现 服务发现允许你发现附近的蓝牙服务。disveryagent提供的方法可以用来发现蓝牙设备上的服务。在某个服务可以被发现以前,必须首先在蓝牙设备上注册或广播该服务。与设备发现类似也需要提供一个接口,接受服务查询结果和查询结束事件。 3.2.3与服务

11、器通讯请求服务 以下代码描述了服务协议属性检查: stringnnstring=agent.seletservie (uuid,serviererd.nauthentiate_nenrypt,false); if(nnstring=null)return r=(streannetin)nnetr.pen(nnstring); utputstreaut;inputstreain; ut=nn.pen0utputstrea);in=nn.peninputstrea(); /*按需发送通信数据*/ stringesg=;bytedata二esg.getbytes);ut.rit-e(data); 3

12、.3幻灯片控制请求的服务器端实现 微软的ffie套件,都提供了对应的api函数,不过需要依赖le编程接口。在使用v*6.0编程环境建立基于f的工程时,需要选中le支持,在ninitdialg)函数中需要调用afxieinit)对le进行初始化,并且在类向导中选中从lb类型库中添加ffieperpint的le自动化类,在弹出的文件选择对话框中选择/ffiell/sppt.lb文件,在确认类对话框中选中一ppliatin,-presentatin,_s1ide,vie等类, app.reatedispath(perpint.appliatin) presentatin=app.getativepr

13、esentatin); slidesh=presentatin.getslideshsettings); slidesh.run); app.setvisible(true); s1ideshind二presentatin.getslideshind(); vie二s1ideshind.getvie(); 可通过向vie对象发送next,previus,first和last消息实现具体的幻灯片翻页功能。 3.4多线程的使用 在一般的网络编程中,需要单独的一个非界面线程等待客户的连接到来,如若需要等待多个客户端,一般使用循环语句。当与客户端建立连接后,数据的读取和发送,可以选择异步i或阻塞方式,阻塞数据传输中,需额外创建两个线程分别实现数据的读取和发送。 4、结束语 本文就蓝牙在多媒体教学中的应用提出了相应的解决方案,进行了设计与实现。系统完成并经过测试运行稳定,按照这种设计,在对系统扩展后,完成对更多的教学类应用软件进行远程控制,比如教学中幻灯片的播放同时的音视频录制等,实现通用的基于蓝牙的无线主机控制软件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育资料 > 教学研究

启牛文库网为“电子文档交易平台”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。

本站是网络服务平台方,若您的权利被侵害,请立刻联系我们并提供证据,侵权客服QQ:709425133 欢迎举报。

©2012-2025 by www.wojuba.com. All Rights Reserved.

经营许可证编号:京ICP备14006015号