什么是蓝牙蓝牙技术体系及相关术语.docx
《什么是蓝牙蓝牙技术体系及相关术语.docx》由会员分享,可在线阅读,更多相关《什么是蓝牙蓝牙技术体系及相关术语.docx(13页珍藏版)》请在冰豆网上搜索。
![什么是蓝牙蓝牙技术体系及相关术语.docx](https://file1.bdocx.com/fileroot1/2022-11/23/2529fa8a-2ed2-45f7-a7b4-2f4bee8c1cad/2529fa8a-2ed2-45f7-a7b4-2f4bee8c1cad1.gif)
什么是蓝牙蓝牙技术体系及相关术语
什么是蓝牙,蓝牙技术体系及相关术语
什么是蓝牙,蓝牙技术体系及相关术语
我想现在很多人都已经用上了蓝牙设备,如蓝牙耳机、蓝牙适配器、蓝牙键盘等,图13—1和图13-2所示分别为蓝牙键盘和蓝牙耳机。
这些在以前似乎还显得遥远的技术,现在已经融入了生活的各个角落,例如,进入商场,随便一款稍好一点的手机,都带着蓝牙功能;走在街上,身边经过的人总会有几个戴着蓝牙耳机。
1什么是蓝牙
蓝牙这个名称来自于10世纪的一位丹麦国王HaraldBlatand,Blatand在英文里的意思可以被解释为Bluetooth(蓝牙)。
在行业协会筹备阶段,需要一个极具有表现力的名字来命名这项高新技术。
行业组织人员在经过一夜关于欧洲历史和未来无限技术发展的讨论后,有些人认为用Blatand国王的名字命名再合适不过了。
Blatand国王将现在的挪威、瑞典和丹麦统一起来;他的口齿伶俐,善于交际,就如同这项即将面世的技术,技术将被定义为允许不同工业领域之间协调工作,保持着个各系统领域之间的良好交流,例如计算机、手机和汽车行业之间的工作。
于是名字就这么定了下来。
蓝牙的创始人是瑞典爱立信公司,爱立信早在1994年就与其他设备生产商联系,并激发了他们对该项技术的浓厚哭趣。
1998年2月,5个跨国大公司,包括爱立信、诺基亚、IBM、东芝及Intel组成了一个特殊兴趣小组(SIG),他们共同的目标是建立一个全球性的小范围无线通信技术,即现在的蓝牙,图标如图13-3所示。
图13-3
蓝牙是一种支持设备短距离通信(一般在lOm内)的无线电技术。
能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。
利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与Internet之间的通信,从而使数据传输变得更加迅速高效,为无线通信拓宽道路。
蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHzISM(即工业、科学、医学)频段。
其数据速率为lMbit/s。
采用时分双工传输方案实现全双工传输。
Bluetooth无线技术是当今市场上支持范围最广泛、功能最丰富且安全的无线标准。
全球范围内的资格认证程序可以测试成员的产品是否符合标准。
自1999年发布Bluetooth规格以来,总共有超过4000家公司成为Bluetooth特别兴趣小组(SIG)的成员。
蓝牙技术体系及相关术语
1.蓝牙技术版本
截止到2010年6月,算上正在使用及已经研发和公布的技术,当前蓝牙共有6个版本Vl.l/1.2/2.0/2.1/3.0/4.0,具体内容如下:
(1)1.1为最早期版本,传输率约在748kbit/s~810kbit/s,因是早期设计,容易受到同频率的产品干扰,影响通信质量。
(2)版本1.2同样是只有748kbit/s~810kbit/s的传输率,但加上了(改善Software)抗干扰跳频功能。
(3)无论是1.1还是1.2版本的蓝牙产品,本身基本上可以支持Stereo音效的传输要求,但只能够支持单工的方式工作,且音带频率响应不太足够,并不能完全满足实际需要。
(4)版本2.0是1.2的改良提升版,传输率约在1.8Mbit/s~2.lMbit/s,开始支持双工的工作方式。
也就是说,在做语音通信使用的同时还可以传输文档、图片、音乐等文件。
(5)为了改善蓝牙Bluetooth2.O+EDR标准技术存在的问题,蓝牙SIG组织(SpecialInterestGroup)推出了Bluetooth2.1+EDR版本的蓝牙技术。
蓝牙2.1版除了改善装置配对沆程外,还加入了SniffSubrating的功能,透过设定在两个装置之间互相确认信号的发送间隔来达到节省功耗的目的。
(6)2009年4月21日,蓝牙技术联盟(BluetoothSIG)正式颁布了新一代标准规范BluetoothCoreSpecificationVersion3.0HighSpeed(蓝牙核心规范3.0版高速)。
蓝牙3.0的核,心是GenericAlternateMAC/PHY(AMP),这是一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。
作为新版规范,蓝牙3.0的传输速度自然会更高,而秘密就在802.11无线协议上。
通过集成802.11PAL(协议适应层),蓝牙3.0的数据传输率提高到了大约24Mbit/s(即可在需要的时候调用802.11Wi-Fi用于实现高速数据传输),是蓝牙2.0的8倍,可以轻松用于录像机至高清电视、PC至PMP、UMPC至打印机之间的资料传输。
(7)蓝牙4.0包括3个子规范,即传统蓝牙技术、高速蓝牙和新的蓝牙低功耗技术。
蓝牙4.0的改进之处主要体现在3个方面,即电池续航时间、节能和设备种类上。
此外,蓝牙4.0的有效传输距离乜有所提升。
当前,蓝牙的有效传输距离为lOm(约30英尺),而蓝牙4.0的有效传输距离可达到60m(约200英尺)。
SIG表示,蓝牙4.0完整规范将于2010年6月30日完成,而基于蓝牙4.0的设备有望于2010年年底或2011年初上市。
2.蓝牙通信距离
根据通信距离的远近,蓝牙技术分为Classl/Class2/Class3这3个级别。
其中,Classl是用在大功率/远距离的蓝牙产品上,但因成本高和耗电量大,不适合做个人通信产品之用(手机/蓝牙耳机/蓝牙Dongle等),所以多用在部分商业特殊用途上,通信距离大约在80~lOOm之间。
Class2是目前最流行的制式,通信距离大约在8~30m之间,根据产品的设计而定,多用于手机内/蓝牙耳机/蓝牙Dongle的个人通信产品上,耗电量和体积较小,方便携带。
至于Class3由于支持距离太短,目前已经很少采用。
3.蓝牙协议框架
蓝牙协议包括多层协议栈,详细内容如图13-4所示。
底层模块是蓝牙技术的核心模块,所有嵌入蓝牙技术的设备都必须包括底层模块。
它主要由链路管理层LMP(LinkManagerProtocol)、基带层BB(BaseBand)和射频RF(RodioFraquency)组成。
其功能如下:
无线连接层(RF)通过2.4GHz无须申请的ISM频段实现数据流的过滤和传输;它主要定义了工作在此频段的蓝牙接收机应满足的需求;基带层(BB)提供了两种不同的物理链路,即同步面向连接链路SCO(SynchronousConnectionOriented)和异步无连接链路ACL(AsynchronousConnectionLess),负责跳频和蓝牙数据及信息帧的传输,且对所有类型的数据包提供了不同层次冒的前向纠错码FEC(FrequencyErrorCorrection)或循环冗余度差错校验CRC(CyclicRedundancyCheck);LMP层负责两个或多个设备链路的建立和拆除及链路的安全和控制,如鉴权和加密、控制和协商基带包的大小等,它为上层软件模块提供了不同的访问入口;蓝牙主机控制器按口HCI(HostControllerInterface)由基带控制器、连接管理器、控制和事件寄存器等组成,它是蓝牙协议中软、硬件之间的接口,提供了一个调用下层BB、LMP、状态和控制寄存器等硬件的统一命令,上、下两个模块接口之间的消息和数据的传递必须通过HCI的解析才能进行。
HCI层以上的协议软件实体运行在主机上,而HCI以下的功能由蓝牙设备来完成,二者之间通过传输层进行交互。
蓝牙技术整体框架以HCI(HostControllerInterface)为界,区分为硬件模块以及上层软件协议两部分。
在蓝牙协议栈中,HCI以上部分通常用软件实现,包括逻辑链路控制和适配协议12CAP、串行仿真RFCOMM、链路管理协议(HMP)、电话替代协议和选用协议;而HCI以下部分则用硬件实现,包括基带协议和链路管理协议(LMP),这部分也叫做蓝牙协议体系结构中的底层硬件模块。
由于篇幅有限,这里不再讨论这些具体的协议,有兴趣的朋友可以上蓝牙官方网站www.bluetooth.org查询具体资料。
4.蓝牙通信的主从关系及配对
蓝牙技术规定每一对设备之间进行蓝牙通信时,必须一个为主角色,另一个为从角色,才能进衍通信,通信时必须由主端进行查找,发起配对,连接成功后,双方即可收发数据。
理论上,一个蓝牙主端设备可同时与7个蓝牙从端设备进行通信。
一个具备蓝牙通信功能的设备,可以在两个角色间切换,平时工作在从模式,等待其他主设备来连接,需要时,转换为主模式,向其他设备发起呼叫。
一个蓝牙设备以主模式发起呼叫时,需要知道对方的蓝牙地址、配对密码等信息,配对完成后,可直接发起呼叫。
5.蓝牙配对及认证过程
蓝牙设备通过初始配对过程建立安全连接。
在此期间,一个或两个设备需要输入PIN码,内部算法利用该代码生成安全密钥,安全密钥随后用于验证将来任何时候的设备连接。
6.PIN码
个人识别码(PIN)是一个4位或更多位的字母数字代码,该代码将临时与产品相关联,以便进行一次安全配对。
产品所有者只能出于配对目的与信任的个人和信任的产品共享PIN码。
不输入此PIN码,则不能进行配对。
如果无法配对,则无法建立正常蓝牙通信,也就无法使用蓝牙耳机、蓝牙GPS等。
7.蓝牙安全模式
在其产品中使用Bluetooth无线技术的产品厂商可以采取几种方法来实现安全性。
对于两台设备之间的Bluetooth访问,共有3种安全模式。
安全模式1:
无安全模式。
安全模式2:
服务级安全模式。
安全模式3:
设备级安全模式。
尽管产品厂商会决定采用哪种安全模式,但对于笔记本电脑之类的产品,如图13-5所示,用户是可以根据需要自行定义的。
需要强调的是,设备和服务也有不同的安全级别。
对于设备有两级:
“信任设备”和“不信任设备”。
信任设备与另一方设备一经配对,便可无限制地访问所有服务。
对于服务,定义了3个安全级别:
需要授权和验证的服务、只需要验证的服务以及对所有设备都公开的服务。
8.其他术语表13-1所示为常会提及的蓝牙术语.供大家参考。
13.1.3适配器的选择
蓝牙适配器就是为了各种数码产品能适用蓝牙设备的接口转换器。
总线类型可分为ISA总线、PCI总线和USB总线。
ISA总线以16位传送数据,标称速度能够达到lOMbit/s。
PCI总线以32位传送数据,速度较快。
目前市面上大多是lOMbit/s和lOOMbiUs的PCI总线。
随着USB接口的逐渐普及以及即插即用的特点,现有的蓝牙适配器基本上都为USB总线,即蓝牙USB适配器。
作为蓝牙适配器,和前面提及的无线网卡一样,对于芯片,也有很多厂商推出了不同的芯片。
不过这些芯片的种类和数量要远超于无线Wi-Fi的数量,想想这世界上带有蓝牙功能的手机、PDA、笔记本的使用人数,仅是手机这一项,数量就已经很夸张了。
不过现在提及的蓝牙适配器,暂时仅限用于电脑主机的外接蓝牙适配器,主要以USB接口为主。
其外型如图13-6和图13-7所示,一般都很小巧。
图13-6图13-7
提到蓝牙适配器的选择就会涉及蓝牙芯片,不过目前市面上绝大部分外置蓝牙适配器都采用CSR芯片,所以这里就以目前最为流行的CSR蓝牙芯片为例进行简单说明。
图13-8所示为CSR公司标志,图13-9所示为CSR的蓝牙芯片。
图13-10所示为在Windows下的BlueSoleil查看当前的蓝牙适配器属性,显示其使用的正是CSR芯片。
图13-8图13-9图13-10
感兴趣的读者可以到CSR官方网站上了解更多内容。
官方网站:
13.1.4蓝牙(驱动)工具安装
对于实际工作中来说,在使用蓝牙设备之前,需要先安装蓝牙驱动(工具),这样才能够识别出蓝牙适配器,并使用其与其他蓝牙外设进行正常工作。
我想很多读者可能除了手机上的蓝牙外,对于笔记本上的蓝牙适配器如何使用还是不太了解,所以下面以实例来讲述一下蓝牙工具的安装及使用。
1.在Windows下安装蓝牙工具
Windows下除了系统自带的蓝牙驱动之外,其实使用最广泛的是由IVT公司开发的蓝牙软件产品BlueSoleil。
BlueSoleil可以让计算机享受蓝牙的便捷。
凭借3MB/s的数据交换量,用户可以畅听音质好的音乐并无线使用蓝牙鼠标和键盘。
凭借独特的蓝牙AV/Mono数据频道协同工作方式,BlueSoleil支持用户同时通过普通的蓝牙立体声仿真耳机听音乐和打电话,或者轻松地转换这两种模式,新加入的Skype2.X程序可以方便地让你通过普通的蓝牙耳机接/打电话。
通过使用蓝牙适配器,BlueSoleil可以实现多台电脑组网并且无线交互信息。
BlueSoleil还可以实现电脑和其他蓝牙设备快速稳定的连接,比如移动手机、头戴式耳机、个人掌上电脑、局域网接入设备、打印机、数玛相机、电脑的外设设备等,可以说是Windows下必备的蓝牙工具了。
截至本书出版前最新版本为IVT_BlueSole11_6.4.275.0。
此外,IVT_BlueSoleil同时提供Windows及Linux两个安装版本。
安装步骤很简单,基本上一直单击“下一步”按钮即可,不过要注意的是,在安装此BlueSoleil6最新版前,先拔下蓝牙适配器,卸载BlueSoleil的旧版本。
官方网站:
图13-11所示为Windows下BlueSoleil的工作界面。
2.在Linux下安装蓝牙工具
若BackTrack4Linux下没有蓝牙工具或者需要升级到最新版本,可以使用如下命令实现:
按【Enter】键后,就能看到图13-12所示的内容,由于当前已经是最新的版本,所以无须下载最新的安装包。
13.1.5蓝牙设备配对操作
为了让大家更好地学习蓝牙的相关知识,首先来了解蓝牙设备的配对操作。
不过作为手机与蓝牙耳机的配对,笔记本电脑与智能手机之间的配对应该是较为常见的配置操作,相关的资料也很多。
那么为了让读者掌握到不同操作系统的蓝牙配置,下面就以两台分别安装了Windows2003和Ubuntu操作系统的笔记本电脑之间的蓝牙连接为例,来演示蓝牙设备间配对的操作。
先启用蓝牙适配器(载入蓝牙驱动)。
先在Windows2003下安装好上面提到的BlueSoleil,并准备好蓝牙适配器,如图
13-13所示,将蓝牙适配器插入笔记本电脑的对应接口。
囝此时,在系统的任务栏上会显示“发现蓝牙硬件”的提示,如图13-14所示。
图13-13图13-14
@然后在任务栏的蓝牙图标上右击,在弹出的快捷菜单中选择“启动蓝牙”命令,如
图13-15所示。
启动完成后,再在此图标上右击,可以看到此时出现了完整的快捷
菜单,选择“显示经典界面”命令,如图13-16所示。
图13-15图13-16
@然后就可以看到图13-17所示的界面,这是Windows2003下BlueSoleil的主界面,
出现该界面意味着蓝牙适配器己经正常载入。
类似地,在另一台安装了Ubuntu9.10桌面版操作系统的笔记本电脑上,也插入蓝矛适配器,并在任务栏上启用蓝牙功能。
图13-17
搜索开启蓝牙功能的设备。
既然蓝牙适配器已经成功载入,那么接下来就开始搜索蓝牙设备了。
在默认情况下,操作系统下的蓝牙功能是自动进入被搜索模式的,也就是“可被搜索到”这个选项被选中。
当然,也可以根据实际需要取消这个选项从而使得笔记本电脑的蓝牙不可见。
具体操作随着操作系统及蓝牙工具的不同,也将会有细节上的不同,请大家仔细查看对应的说明文档。
图13-18所示为Windows2003下的蓝牙配置工具BlueSoleil中的“我的设备属性”对话框,在“可访问性”选项卡中,“允许其他设备发现该设备”复选框被勾选,意味着当前的蓝牙设备是可被搜索到的,取消勾选则其他设备便无法发现该设备。
@一般来说,当便携式设备进入搜索模式后,会出现指示灯一闪一闪的情况。
下面以Ubuntu为例,此时就可以在Ubuntu系统任务栏上单击蓝牙标志,在其菜单中选择“设置新的设备”命令,如图13-19所示。
图13-18图13-19
弹出图13~20所示的向导页面.单击“前进”按钮继续下一步。
稍等片刻,就能看到找到了两个蓝牙设备,如图13-21所示,在设备搜索界面中会在类型中给出定义。
其中,名为mckh3e8b4flbc6是一台计算机,也就是要连接的安装Windows2003系统的笔记本电脑。
图13-20图13-21
④此时,若希望看到蓝牙设备的MAC地址,也可以在Shell下使用hcitool命令进行蓝牙设备扫描,就能够看到当前可搜索蓝牙设备对应的MAC,如图13-22所示。
关于hcitool命令将在后面进行详细讲解。
图13-22
使用蓝牙适配器进行设备间配对。
前面提到蓝牙设备的互联需要进行配对,所谓配对就是建立一个相互信任的桥梁。
在蓝牙设备配对中,并不需要输入账户,只需要被连接方输A确的PIN码,就能够建立合法的蓝牙连接。
④在图13-21中选择搜索到的名为mckh3e8b4flbc6的设备,然后单击该页面下方的“前进”按钮,如图13-23所示,当前的Ubuntu9.10系统就会自动生成一个随机PrN码,并要求对方设备输入该PIN码以建立合法的可信连接。
@当然,若用户希望使用简单的固定PIN码,而非随机码,也可以在图13-21中单击“PIN选项”按钮,在弹出的图13-24所示的对话框中选择诸如0000、1111、1234等固定PIN码。
这类PIN码一般都是诸如蓝牙耳机、蓝牙GPS模块等设备固定使用的,都是由厂商出厂之前直接设置好的,在其产品说明书中都会有说明。
图13-23囹13-24
当Ubuntu下出现图13-23所示的内容后,此时在Windows2003下的蓝牙配置工具BlueSoleil上就会出现图l3-25所示的对话框,上面告知Windows2003用户当前有设备试图进行配对,此时直接输入事先制定好的PIN码,单击“确定”按钮即可。
@若PIN码不正确会有提示,但只要成功配对,就能看到图13-26所示的内容,图中出现了一个计算机图标,且该图标与中心建立了一条关联线路,这就表示已经成功配对了。
同时主界面下方的状态栏上也会有“已连接”的提示。
图13-25
与此同时,在Ubuntu9.10系统上也会出现图13-27所示的提示页面,告知蓝牙设备之间的配对已经完成。
与耳机建立通信并查看效果。
囝既然已经成功配对,此时就可以在BlueSoleil的主界面上方单击“蓝牙个人局域网”图标,可以直接双击建立连接,或者右击建立连接,查看状态、属性等。
图13-28所示为右键连接。
@一旦连接成功,就会看到在BlueSoleil主界面中出现了一条不断闪动的双向链路,如图13-29所示。
此时,蓝牙设备图标及Windows系统任务栏右下角蓝牙图标的颜色会从原来的篮色变成绿色。
图13-28图13-29
@现在,在Ubuntu下随意选择一个文件并右击,在弹出的快捷菜单中选择“发送到”命令,就能够看到图13-30所示的内容,在“发送作为”下拉列表中选择“蓝牙(OBEXPush)”,然后在“发送到”下拉列表中选择目标为已经建立关联的名为mckh3e8b4flbc6的主机设备,单击“发送”按钮。
此时,在Windows2003下的BlueSoleil上就能够看到图13-31所示的对话框,提示当前名为ZerOne-0的设备正试图建立蓝牙信息交互,单击“是”按钮来接受这一请求。
图13-30图13-31
当Windows用户接受请求后,在Ubuntu下就会出现图13-32所示的文件传输界面,可以看到传输速度为77KB/s,这个速度和蓝牙设备间距离、蓝牙协议版本等都有关系。
这样,就成功地建立了不同类型操作系统间的蓝牙连接,并能够通过该连接分享和传输诸如图片、MP3、文档等各类文件,这样的蓝牙局域网传输技术优点很明显。
不但可以不需要路由器的支持,也可以在最节省电量的情况下实现文件共享,同时在距离上还能够保证lOm甚至更远范围内的图13-32有效传输。
类似地,当使用蓝牙耳机时,再也不用像以前那样被耳机线的距离所困扰。
可以从容地戴着耳机离开电脑,去隔壁的房间忙其他事情,也可以戴着蓝牙耳机躺在床上,甚至可以坐在隔壁客厅玩游戏,而耳机里传来的却是自己笔记本电脑上喜欢的音乐。
而这只是蓝牙耳机,若是与手机配对,还可以互传文件、图片、音乐等,甚至还可以连游戏,现在觉得蓝牙是不是很方便?
那接下来就看看带来方便的同时,背后的安全问题。
13.2基本的蓝牙黑客技术
本节开始接触基本的蓝牙黑客技术,为了使谟者快速掌握,大家可以考虑使用BackTrack4Linux或者WiFiway等专用操作系统进行本节内容的学习和测试。
13.2.1识别及激活蓝牙设备
虽然蓝牙适配器有很多种,大小也各不相同,不过目前市面上的外置蓝牙适配器均以USB接口为主。
在识别及激活蓝牙设备前,需要在笔记本电脑上插入USB接口的外置蓝牙适配器,正确插入USB外置蓝牙适配器的效果如图13-33和图13-34所示。
图13-33图13-34
在正确插入USB外置蓝牙适配器后,就可以使用Linux系统下内置的hciconfig命令对蓝牙适配器的插入状态进行查询了,具体命令如下:
戮鬻鬻鬻蒸鬻鬻鬻黉囊l攀鬻纛鎏鬻篱荔鬻鏊蒸鬻鬻攀霪攀鋈鬻蘩黎豢鬻蕤l黍鬓鬻鬻蘩繁蒸l麟一般都会先输入hciconfig来查看是否有蓝牙设备插入,按【Enterl键后即可看到当前已经识别出来的蓝牙适配器,图13-35所示为hci0。
注意:
此时在hci0后面的BDAddress处显示为“00:
00:
00:
00:
00:
00”,这就意味着该蓝牙适配器驱动并未载入。
图13-35
在确认识别出蓝牙适配器后,就可以将蓝牙适配器载入,具体命令如下:
参数解释:
●hci0:
此为蓝牙适配器名称,一般都为hci0,若有多个蓝牙适配器,则第二个就是
hcil,以此类推。
●up:
与ifconfig类似,up就是载入该设备,若是down,就是卸载该设备。
在激活蓝牙适配器后,就能够看到图13-36所示的内容,其中,在BDAddress赴可以清楚地看到具体的MAC,这就表示系统已经正确识别并载入了该蓝牙适配器的驱动。
13.2.2查看蓝牙设备相关内容
hciconfig所能提供的功能有很多,在Linux下可以使用-help参数或者使用man命令来查看这些支持的功能,例如:
参数解释:
●hci0:
这里指的是当前已经载入的蓝牙设备。
●class:
支持级别、内容。
按【Enter]键后就能看到图13-37所示的内容,不过在DeviceClass和ServiceClasses等处并没有显示出很详细的内容。
图13-37
对于有的蓝牙适配器,hciconfig可以轻松地将其提取出来。
如图13-38所示,可以看到在ServiceClasses处显示为Rendering,Information,而在DeviceClass处显示为Computer,Laptop。
13,2.3扫描蓝牙设备
为了便于蓝牙设备的连