论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 教育论文 >> 教育理论论文 >> 正文 会员中心
 教育理论论文   基础教育论文   中等教育论文   高等教育论文   职业教育论文   心理学论文   学科教育论文   素质教育   教学管理
 德育管理   体育论文   地理论文   教育期刊
浅析无线蓝牙技术在多媒体教学中的应用
论文关键词:蓝牙;远程控制;j2me ; jab wt
  论文摘要:蓝牙无线通信具有无线性、低功耗等优点,非常适合于近距离的远程控制。讨论了在支持j2me的蓝牙手机设备上,用jabwt蓝牙开发包编程与pc幻灯片主设备建立通信连接,并在此基础上交换信息,实现对幻灯片翻页的控制,从而扩展了教师在课堂中的活动距离可达10m左右,能更好地实现师生互动交流。
    蓝牙是一种开放的、解决中短距离的无线通信技术,具有很强的设备间的兼容性和互操作性,并且能提供在10m内具有蓝牙接口的不同设备之间的互联(10-100m范围需要添加功率放大器),工作频段免费,因此蓝牙在短距离数据传输中有非常广泛的应用前景。
    在多媒体教学中,教师为了方便、快捷地通过和主机交互,来控制幻灯片的播放、翻页,往往只能在距离讲台和主机的一个小范围内移动,活动受到限制,教学效果不是很理想,为了改变这种现状,本文基于j2me平台和vc"6.0编程环境,设计并实现了幻灯片远程控制系统中的主机端服务器和手机端的客户程序,成功实现了蓝牙手机对主机中幻灯片的远程遥控播放,与当前市场上同类产品相比,只需要额外购买一款通用的usb接口蓝牙适配器,并结合大众化的支持jzme的蓝牙手机即可,无需智能机。本系统既可以让教师离开枯燥的讲台实现远程控制,又可以实现10米范围内的学生互动交流,提高教学效果,有广泛的应用前景。
  1、蓝牙技术规范
    蓝牙技术规范就是为了使符合该规范的各种应用之间能够互联。www.11665.cOM要实现蓝牙设备之间的通信,不仅要有底层蓝牙硬件,还需要上层协议栈的支持。蓝牙bsig标准组织(bluetoothspecial interest group , bsig)发布的蓝牙规范就是蓝牙通信协议标准,规定了蓝牙软硬件应遵循的标准和达到的要求。根据蓝牙协议的功能,协议栈可分为3个部分:底层硬件模块、中间协议层和高层应用。具体蓝牙协议栈结构如图1。主机控制器接口(host control interface,hci)是对不同连接方式的抽象,它提供了调用下层基带以及状态和控制寄存器等硬件的一致的命令接口,使不同的连接方式对主机的协议软件而言是透明的。规范的制订需要考虑并达到不同蓝牙产品之间的互联性。蓝牙系统构成的基本网络单元称为微微网((piconet),一个微微网内包括一个主设备(master)和多个从设备(slave ),设备的主从关系是在蓝牙链路的建立过程中确定的,链路建立的发起者定义为主设备,其他响应者为从设备。
  
  2、j2me蓝牙api
    j2me蓝牙api  (java application for bluetooth wirelesstoolkit , jab wt)属于j2me的蓝牙扩展部分,是蓝牙技术规范的第一个实现,由jsr82规范进行定义。jabwt包括两个基本包,一个核心包为javax.bluetooth,另一个为javax.obex,后者提供对象交换协议,之所以和蓝牙核心包分离开,是为了让obex协议不依赖蓝牙硬件,比如在红外等支持对象交换协议的地方都可以使用javax.obex包。在具体应用中,核心包实现了蓝牙协议栈中的l2cap,sdp和rfcomm等协议,主要应用于蓝牙设备管理、设备发现和服务查找。在幻灯片控制应用中,通过在主机中插入蓝牙适配器,就可以提供和手机间的蓝牙通信,数据交换。
  3、基于蓝牙的应用架构
    基于蓝牙无线通信的应用大都采用c/s ( client/server)架构。客户端向服务器发送服务请求,服务器根据请求提供服务。具体服务可以选择在不同的协议层上来实现。在多媒体教学中,我们把播放幻灯片的主机作为服务器端,负责接收对幻灯片的控制请求,手机作为客户端,负责发送控制请求数据。
  3.1服务器处理流程

    服务器端流程图如图2所示,服务器是发起蓝牙通信的一端,为主设备,手机为从设备。
  3.1.1服务注册
    由于服务器端采用vc’"6.0开发环境,自然采用微软的蓝牙协议开发工具包,首先需要调用wsastartup函数对网络进行初始化,定义一个基于rfcomm的流套接字,绑定此套接字到一个本地蓝牙设备,随后注册并发布一个服务,此时需要提供一个uuid(在手机客户端仍然需要使用同一个quid来发现本服务),可以通过guidgen.exe工具自动生成,代码如下:
sockaddr_bth sa;socket server;csaddr_info sockinfo;
    server =socket ( af bth , sock_stream , bthproto_rf-comm);
    bind(server,(const sockaddr*)&sa,sizeof(sockaddr_bth));
      sockinfo.iprotocol=bthproto_ rfcomm; sockinfo.isockettype=sock stream;
    wsaqueryset svcinfo= } 0};
    svcinfo.dwnamespace=ns_bth ;
    svcinfo.lpserviceclassid=(lpguid)&service_ uuid;
    wsasetservice ( &svcinfo , rnrservice_register , 0 );
  3.1.2启动服务器
    当为一个本地蓝牙设备注册并发布一个服务后,就可以等待客户端的连接请求。其中accept函数为阻塞函数,一直等到客户端连接上方可返回,所以本代码需要在单独的后台线程中运行,如果在界面线程中,则界面就会没有反应,不能和用户进行交互。返回的client在与蓝牙客户端收发数据中需要使用,需要保存。
    socket client =accept     (server, (lpsockaddr)  &ca,&ca len);
  
  3.1.3接受手机客户端服务请求处理
    使用一般的网络编程方式,调用recv函数读取客户端发送来的服务请求数据,本函数也为阻塞方式,也要放在单独线程中运行。当客户端断开连接时,函数返回,同时rec为0;如果re。不为0,说明收到了客户端的有效数据,进行处理即可。
      rec=recv (client,data,sizeof(data),0);
    if ( rec<=0 )break ; //客户端退出
    /*对接受到得数据进行处理*/
    刀继续下次循环

  3.1.4服务结束关闭连接
    当手机客户端退出时,要关闭服务端所对应客户端的连接套接字,退出本服务所定义的线程。如果所有的客户端请求处理结束,服务器要退出,也需要关闭服务器的套接字,释放系统资源。
    closesocket(client);…closesocket(server);
  3.2客户端处理程序
    手机客户端流程图如图3所示,采用j2me进行编写,能够实现跨平台,无论是否为智能手机都可以运行客户端程序,对手机设备的要求不高。
  3.2.1设备发现

    通过jab wt中的discoveryagent类和discoverylistener接口实现设备发现,discoveryagent类中的startinquiry)方法可将设备置为查询模式,同时指定一个事件监听器,监听查询结果的到来和查询结束两个事件,主要是,当有查询到的设备时,就发送devicediscovered这个事件,并调用devicediscovered()方法,当查询结束时,调用inquirycompleted()方法。
  3.2.2服务发现
    服务发现允许你发现附近的蓝牙服务。discoveryagent提供的方法可以用来发现蓝牙设备上的服务。在某个服务可以被发现以前,必须首先在蓝牙设备上注册或广播该服务。与设备发现类似也需要提供一个接口,接受服务查询结果和查询结束事件。
  3.2.3与服务器通讯请求服务
    以下代码描述了服务协议属性检查:
    string connstring=agent.selectservice
    ( uuid , servicerecord.noauthenticate_noencrypt , false );
    if(connstring==null) return
    corm=( streamconnection ) connector.open ( connstring );
    outputstream out; inputstream in;
    out=conn.open0utputstream);in=conn.openinputstream();
    /*按需发送通信数据*/
    string mesg=" " " " ";byte]data二mesg.getbytes);out.writ-e (data );
  3.3幻灯片控制请求的服务器端实现
    微软的office套件,都提供了对应的api函数,不过需要依赖ole编程接口。在使用vc’*6.0编程环境建立基于mfc的工程时,需要选中ole支持,在oninitdialog)函数中需要调用afxoieinit)对ole进行初始化,并且在类向导中选中从olb类型库中添加office powerpoint的ole自动化类,在弹出的文件选择对话框中选择…/officel l/msppt.olb文件,在确认类对话框中选中一pplication,-  presentation,_  s1ide,view等类,
    app.createdispatch ( "powerpoint.application")
    presentation=app.getactivepresentation);
          slideshow=presentation.getslideshowsettings);
          slideshow.run);
          app.setvisible (true );
    s1ideshowwindow二presentation.getslideshowwindow();
    view二s1ideshowwindow.getview();
    可通过向view对象发送next , previous , first和last消息实现具体的幻灯片翻页功能。
  3.4多线程的使用
    在一般的网络编程中,需要单独的一个非界面线程等待客户的连接到来,如若需要等待多个客户端,一般使用循环语句。当与客户端建立连接后,数据的读取和发送,可以选择异步io或阻塞方式,阻塞数据传输中,需额外创建两个线程分别实现数据的读取和发送。
  4、结束语
    本文就蓝牙在多媒体教学中的应用提出了相应的解决方案,进行了设计与实现。系统完成并经过测试运行稳定,按照这种设计,在对系统扩展后,完成对更多的教学类应用软件进行远程控制,比如教学中幻灯片的播放同时的音视频录制等,实现通用的基于蓝牙的无线主机控制软件。
  • 上一个教育论文:
  • 下一个教育论文:
  •  作者:高需 张华 [标签: 无线 技术 多媒体 中的 应用 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    浅析配音在动画片中的重要性
    浅析盾构掘进质量控制要点
    浅析中苏政治体制改革
    浅析人本主义语境下的广告创意
    浅析体育事业单位预算绩效管理
    浅析如何培养高中生语文学习的兴趣
    浅析PE基金尽职调查过程中的若干问题
    浅析《跳弦》的声乐创作理念与曲式特征
    浅析初一学生英语学习掉队问题
    浅析聊斋文化对《河父海母》艺术风格的影响
    浅析中国奶粉产业发展现状及未来发展之道
    浅析高职院校普通化学课程有效教学
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有