- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 基于红外和蓝牙协议的网络开发
主讲教师:贾震斌
本章学习建议
本章学习的重点是掌握基于J2ME的蓝牙无线传输技术规范JSR 82及其在编程中的应用,关键是通过实例程序理解J2ME中蓝牙应用程序设计的基本步骤;
需要注意的是JSR 82并未实现蓝牙设备初始化的规范,这需要设备本身实现该功能。
本章对于蓝牙开发概念及方法的介绍都是非常初步的,对于程序开发者来说仅在本章教材中的知识甚至可以说是不完备,因此需要具有通过网络等途径查找相关资料的能力。
本章学习目标
了解手持移动设备无线数据传输主要技术特点;
了解蓝牙无线数据传输技术的特点;
掌握基于J2ME的蓝牙编程技术规范JSR 82;
了解红外无线传输技术的特点;
掌握J2ME中蓝牙编程基本步骤。
本章目录
9.1 无线数据传输概述
9.1 蓝牙技术通信
9.3 红外技术通信
9.4 蓝牙技术实例
9.5 本意小结
9.6 思考与习题
9.1 无线数据传输概述
9.1.1 红外数据传输概述
红外线是波长在750nm至1mm之间的电磁波,波长较短,穿越障碍物能力差,适用于短距离对点对点无线数据传输;
红外数据传输就是通过红外线来传输数据,是一种广泛使用的无线连接技术;
设备需要安装可以接收和发送红外线的装置才具有红外传输能力,也就是所谓的红外接口;
红外数据传输具有点对点、小角度、短距离、安全性等特点
红外数据传输的主要有距离短、点对点直线不能有障碍物等缺点
红外数据传输广泛应用于移动计算和通信设备中,可以实现手机与手机、手机与电脑等同样具有红外接口设备间信息交流会
红外通信技术的主流标准是IrDA(红外数据协会)标准,波长范围在850nm—900nm之间,有4Mb/s、16Mb/s等传输速率
红外数据传输的特点
红外数据传输具有点对点、小角度、短距离、安全性、高速率等特点
9.1.2 蓝牙技术通信
蓝牙(Bluetooth)技术是一种支持短距离通信(一般是10m之内)的无线通信技术,目前广泛应用于移动电话、PDA、无线耳机、笔记本电脑等设备之间进行近距离无线信息交换
蓝牙的标准是IEEE 902.15,工作频率为2.4GHz,带宽为1Mb/s
JSR 82规范定义了Java APIs(JABWT),这是J2ME关于蓝牙编程技术的重要规范,包括了编程主要步骤、类和对象的说明,WTK的Documentation中已经包括这个文档,务必要认真阅读
9.2 蓝牙技术通信
在J2ME中,专门定义两个Java蓝牙技术包:
Java蓝牙技术包:javax.bluetooth
对象交换协议包:javax.obex(OBEX)
蓝牙控制中心(BBC,即Bluetooth Control Center)是一种控制面板,主要让用户给设备栈配置参数 。
任何蓝牙应用都有以下组件:
堆栈初始化组件
设备管理组件
设备发现组件
服务发现组件
通信组件
蓝牙编程的主要规范
初始化蓝牙设备:JSR82中不包含这部分内容,是由蓝牙设备商提供;
获得蓝牙设备本身的信息,依靠JSR82的LocalDevice设备管理类,继承于javax.bluetooth.LocalDevice,可以获得包括设备类型和服务类型等信息;
获得邻近区域蓝牙设备信息:依靠JSR82的RemoteDevice设备管理类,可以获得包括邻近设备地址和名称的信息;
在蓝牙服务设备上注册或广播某种服务,以便客户端能发现某种服务;
发现并访问其他邻近蓝牙设备:无线设备需要这样一种机制,由DiscoveryAgent类和DiscoveryListener接口提供这种机制;
进行通信的蓝牙设备应共享某种相同的通信协议才能通信,使用蓝牙接口框架建立连接传输数据。
第1步 初始化蓝牙设备
JSR 82规范中不包含这部分内容,是由蓝牙设备商提供相关的类库,用于在蓝牙设备启动时对蓝牙设备栈初始化,设置蓝牙设备所用的串口号、波特率、是否允许被其他蓝牙设备连接、是否允许被其他蓝牙设备发现等功能。
蓝牙设备的栈是一个保存控制蓝牙设备参数的数据结构,不同的设备商提供的初始化栈的类库并不完全相同,这里用Atinav JAVA Bluetooth SDK来初始化一个栈,以便说明初始化代码的具体形式:
import javax.bluetooth.*;
import javax.microedition.io.*;
import com.atinav.bbc.*;
BBC.setPortName(“COM1”);
BBC.setBaudRate(57600);
BBC.setConnectable(true);
BBC.setDiscoverable(DiscoveryAgent.GIAC);
第2步 获取蓝牙设备本身信息
依靠JSR82的Loc
文档评论(0)