1、第3章蓝牙技术1 1第第 3 章章 蓝蓝 牙牙 技技 术术3.1 蓝牙技术概述蓝牙技术概述3.2 蓝牙协议体系蓝牙协议体系3.3 蓝牙状态和编址蓝牙状态和编址3.4 蓝牙数据分组蓝牙数据分组3.5 蓝牙模块蓝牙模块3.6 蓝牙应用与开发蓝牙应用与开发小结小结 第3章蓝牙技术2 2第3章蓝牙技术3 3第3章蓝牙技术4 4第3章蓝牙技术5 53.1 蓝牙技术概述蓝牙技术概述3.1.1 技术规范技术规范蓝牙技术从产生至今,共发展了六个规范版本,分别是V1.1、V1.2、V2.0、V2.1、V3.0和V4.0。V1.1规范:1998年最早期版本。传输率约在748 kb/s810 kb/s,容易受同频率
2、产品干扰,通信质量较差。V1.2规范:兼容V1.1,与V1.1具有相同的传输速率,但增加了抗干扰跳频功能。第3章蓝牙技术6 6V2.0规范:V1.2的改良提升版,传输率约在1.8 Mb/s2.1 Mb/s,可同时传输语音、图片和文件。V2.1规范:2004年版本,在装置配对流程和短距离的配对方面作了改善,可在两个支持蓝牙的手机之间互相进行配对与通信传输,具备更佳的省电效果。V3.0规范:2009年版本。该规范通常被称为蓝牙高速传输技术,使蓝牙传输拓展到更大的文件,传输速率更高,功耗更低。第3章蓝牙技术7 7V4.0规范:2010年版本。它包括三个子规范,即传统蓝牙技术、高速蓝牙和新的蓝牙低功耗
3、技术。该版本改进之处主要体现在电池续航时间、节能和设备种类上,有效传输距离也提升为60 m。第3章蓝牙技术8 8以上每个规范版本均可以按通信距离再分为Class A和Class B:Class A:传输功率高、传输距离远,但成本高、耗电量大,不适合作为个人通信产品,多用于部分商业特殊应用场合,通信距离大约在80 m100 m距离之间。Class B:目前最流行的制式,通信距离大约在8 m30 m之间,视产品的设计而定,多用于手机、蓝牙耳机、蓝牙适配器等个人通信产品,耗电量和体积较小,方便携带。第3章蓝牙技术9 93.1.2 基本概念基本概念蓝牙技术涉及面广,技术复杂,本节将介绍蓝牙技术的几个基
4、本概念。主/从设备:蓝牙通常采用点对点的配对连接方式,主动提出通信要求的设备是主设备(主机),被动进行通信的设备为从设备(从机)。蓝牙设备状态:蓝牙设备有待机和连接两种主要状态,处于连接状态的蓝牙设备可有激活、保持、呼吸和休眠4种状态。第3章蓝牙技术1010对等网络Ad-hoc:蓝牙设备在规定的范围和数量限制下,可以自动建立相互之间的联系,而不需要一个接入点或者服务器,这种网络称为Ad-hoc网络。由于网络中的每台设备在物理上都是完全相同的,因此又称为对等网。跳频扩频技术(FHSS):收、发信机之间按照固定的数字算法产生相同的伪随机码,发射机通过伪随机码的调制,使载波工作的中心频率不断跳跃改变
5、,只有匹配接收机知道发射机的跳频方式,可以有效排除噪音和其他干扰信号,正确地接收数据。第3章蓝牙技术1111时隙:蓝牙采用跳频扩频技术,跳频频率为1600跳/秒,即每个跳频点上停留的时间为625 s,这625 s就是蓝牙的一个时隙,在实际工作中可以分为单、多时隙。蓝牙时钟:蓝牙时钟是蓝牙设备内部的系统时钟,是每一个蓝牙设备必须包含的,决定了收/发器的时序和跳频。蓝牙时钟频率为3.2 kHz,该时钟不会被调整或关掉。第3章蓝牙技术12123.2 蓝牙协议体系蓝牙协议体系蓝牙系统遵循蓝牙协议体系,采用分层的结构。本节将详细讲解蓝牙协议体系,以及蓝牙系统的软、硬件实现。蓝牙协议采用分层结构,遵循开放
6、系统互连OSI(Open System Interconnection)参考模型,按照各层协议在整个蓝牙协议体系中所处的位置,蓝牙体系可分为底层协议、中间层协议和高端应用层协议三大类,如图3-1所示。第3章蓝牙技术1313图3-1 蓝牙协议体系第3章蓝牙技术1414在图3-1中,蓝牙的协议体系层次之间的关系如下所述:底层协议与中间层协议共同组成核心协议(Core),绝大部分蓝牙设备都要实现这些协议。高端应用层协议又称应用规范(Profiles),是在核心协议基础上构成的面向应用的协议。还有一个主机控制接口(Host Controller Interface,HCI),由基带控制器、连接管理器、
7、控制和事件寄存器等组成,是蓝牙协议中软、硬件之间的接口。第3章蓝牙技术15151.蓝牙底层协议蓝牙底层协议用于实现蓝牙信息数据流的传输链路,是蓝牙协议体系的基础,主要包括下述几个单元:射频(RF)协议:主要定义频段与信道安排、发射/接收机特性等。它通过2.4 GHz频段规范物理层无线传输技术,实现数据流的过滤和传输。第3章蓝牙技术1616基带(BB)协议:为基带数据分组提供同步定向连接(Synchronous Connection Orented,SCO)和异步无连接(Asynchronous Connectionless,ACL)两种物理链路,对不同数据类型都会分配一个特殊信道,用于传递连接
8、管理和控制信息等。链路管理协议(LMP):主要负责蓝牙设备间连接的建立、拆除和安全控制,控制无线设备的节能模式和工作周期,以及微微网内各设备单元的连接状态。第3章蓝牙技术17172.蓝牙中间层协议蓝牙中间层协议完成数据帧的分解与重组、服务质量控制、组提取等功能,为上层应用服务,并提供与底层协议的接口,主要包括下述几个单元:蓝牙主机控制器接口(HCI)协议:位于L2CAP和LMP之间,为上层协议提供进入LMP和BB的统一接口和方式。HCI传输层包括USB、RS232、UART和PC卡。第3章蓝牙技术1818逻辑链路控制与适配协议(L2CAP):主要完成数据的拆装、服务质量控制,协议的复用、分组的
9、分割和重组及组管理等功能。串口仿真协议(RFCOMM):又称线缆替换协议,仿真RS232的控制和数据信号,可实现设备间的串行通信,为使用串行线传送机制的上层协议提供服务。第3章蓝牙技术1919电话控制协议(TelCtrl):包括二进制电话控制协议(TCS-BIN)和AT命令集电话控制命令。其中,TCS-BIN是在蓝牙设备间建立语音和数据呼叫的控制信令。服务发现协议(SDP):为上层应用程序提供一种机制来发现可用的服务,是所有用户模式的基础。第3章蓝牙技术2020蓝牙高端应用层协议高端应用层位于蓝牙协议体系的最上部分,主要包括下述几个单元:对象交换协议(OBEX):只定义传输对象,而不指定特定的
10、传输数据类型,可以是从文件到电子商务卡、从命令到数据库等任何类型。网络访问协议:包括PPP、TCP、IP和UDP协议,用于实现蓝牙设备的拨号上网,或通过网络接入点访问因特网和本地局域网。第3章蓝牙技术2121无线应用协议(WAP):支持移动电话浏览网页、收取电子邮件和其他基于因特网的协议,可在数字蜂窝电话和其他小型无线终端上实现因特网业务。无线应用环境(WAE):可提供用于WAP电话和个人数字助理PDA所需的各种应用软件。音频协议(AUDIO):可在一个或多个蓝牙设备之间传递音频数据,并通过在基带上直接传输SCO分组实现。第3章蓝牙技术22223.3 蓝牙状态和编址蓝牙状态和编址蓝牙技术主要用
11、于点对点的文件传输,可通过配对连接过程实现。主设备搜索周围蓝牙从设备地址,发起配对连接,输入配对口令,通过后则可建立连接。在建立连接的过程中,蓝牙设备的状态也不断发生变化。本节将讲解蓝牙设备的状态和编址。第3章蓝牙技术23233.3.1 蓝牙状态蓝牙状态蓝牙设备主要运行在待机(Standby)和连接(Connection)两种状态。从待机到连接状态,需经历寻呼、寻呼扫描、查询、查询扫描、主响应、从响应、查询相应7个子状态。第3章蓝牙技术24241.待机状态待机状态是蓝牙单元的默认状态,除本地时钟以低功率模式驱动外,其他功能都处于闲置状态。设备每隔1.28 s就周期性地“侦听”信息,一旦设备被唤
12、醒便处于连接状态,将在预先设定的32个跳频频率上接听信息。跳频数目因地区而异,多数国家都采用32个跳频频率。第3章蓝牙技术25252.连接状态在连接建立后,蓝牙设备可以处于激活(Active)、保持(Hold)、呼吸(Sniff)和休眠(Park)4种模式。其中,后3种为节能状态,按照电源能耗由低到高依次为休眠、保持和呼吸。蓝牙的4种连接状态如表3-1所示,4种状态之间是可以相互转化的。第3章蓝牙技术2626第3章蓝牙技术27273.状态转换蓝牙设备由待机到连接状态所经历的7个子状态的详细描述如表3-2所示。第3章蓝牙技术2828第3章蓝牙技术2929各个子状态之间可以相互转换,状态转换过程如
13、图3-2所示。图3-2 状态转换过程第3章蓝牙技术3030从图3-2中可以看出,蓝牙从待机到连接状态需经历下述步骤:(1)主设备使用识别码(GIAC/DIAC)查询一定范围内的蓝牙设备。(2)处于查询扫描状态的蓝牙设备侦听到查询信息后,会发送自己的地址和时钟信息(FHS数据包)给主设备,进入查询响应状态。(3)主设备在发现范围内的蓝牙设备之后,寻呼这些设备。第3章蓝牙技术3131(4)处于寻呼扫描状态的从设备被该主设备寻呼到,用自己的设备访问码作为响应,进入从响应状态。(5)主设备接收到来自从设备的响应之后,传送自己的FHS数据包作为响应,进入主响应状态。(6)从设备收到该FHS数据包后,主设
14、备和从设备即进入连接状态。第3章蓝牙技术32323.3.2 蓝牙编址蓝牙编址蓝牙有4种基本类型的设备地址:BD_ADDR、AM_ADDR、PM_ADDR、AR_ADDR。其中:BD_ADDR:48位的蓝牙设备地址。AM_ADDR:3位激活状态成员地址。PM_ADDR:8位休眠状态成员地址。AR_ADDR:访问请求地址,休眠状态的从单元通过它向主单元发送访问消息。第3章蓝牙技术33331.蓝牙设备地址每个蓝牙设备都有一个唯一的48位蓝牙设备地址BD_ADDR(Bluetooth Device Address)。BD_ADDR由3段构成:LAP(低24位地址段)。NAP(16位无效地址段)。UAP
15、(高8位地址段)。NAP和UAP合在一起构成了24位地址,用作生产厂商的唯一标识码,由蓝牙权威部门分配给不同的厂商。LAP在各厂商内部分配。第3章蓝牙技术34342.从节点地址从节点地址不是唯一的,从节点的状态不同,分配的地址也不同,有下述三种:AM_ADDR:处于激活状态下的从节点地址,该地址位于主节点发送的数据分组的分组头中。利用节点有无激活地址能把主节点和任何一个从节点区别开。第3章蓝牙技术3535PM_ADDR:处于休眠状态的成员地址,也使用3位二进制数描述8个节点的地址。从节点处于休眠状态时就能获得一个休眠成员地址PM_ADDR。通过BD_ADDR或PM_ADDR均能识别处于休眠状态
16、下的从节点。AR_ADDR:从节点除了激活地址、休眠地址外,还有一个访问请求地址AR_ADDR。当从节点进入休眠状态时,将分配一个状态请求地址,用来向主节点发送一个状态请求消息,使休眠从节点能够在访问窗口内确定“从主时隙”。第3章蓝牙技术36363.4 蓝牙数据分组蓝牙数据分组在蓝牙的信道中,数据是以分组的形式进行传输的,即将信息进行分组打包,时间划分为时隙,每个时隙内只发送一个数据包。蓝牙的数据包与纠错机制之间有密切的联系。本节将介绍蓝牙的数据分组技术,包括分组格式和分组类型。第3章蓝牙技术37373.4.1 分组格式分组格式每个数据分组可以仅由识别码组成,也可以由识别码和分组头组成,或者由
17、识别码、分组头和有效载荷组成。识别码和分组头的长度是固定的,有效载荷的长度可以在02745比特之间变化。标准的数据分组格式如图3-3所示。图3-3 蓝牙数据分组格式第3章蓝牙技术3838其中:识别码:用于数据同步、DC偏移补偿和身份识别。分组头:包含了链路控制(LC)信息。有效载荷:携带上层的语音和数据字段。第3章蓝牙技术39391)识别码蓝牙数据分组可以有多种不同的数据类型,识别码是每个数据分组的必要组成部分。在同一个网中发送的所有分组都有相同的信道识别码,因此可以对信道上交换的所有分组进行识别,过滤从其他网中接收到的数据包。识别码也可用于寻呼和查询过程,这种情况下的识别码可单独作为信令信息
18、,而不需要分组头和载荷。识别码的格式如图3-4所示。第3章蓝牙技术4040图3-4 识别码格式第3章蓝牙技术4141蓝牙设备单元在不同的工作模式下使用不同的识别码,识别码共有下述3种类型:信道识别码CAC:用于标识一个微微网。设备识别码DAC:用于指定的信令过程,比如寻呼和寻呼应答。查询识别码IAC:用于查询,分为通用查询识别码和专用查询识别码两种,前者用于检测指定范围内的其他微微网设备;后者用于检测指定范围内的专用蓝牙设备。第3章蓝牙技术42422)分组头数据包的分组头部分包含了数据包确认、乱序数据包重排的数据包编号、流控、从单元地址和报头错误检查等链路控制信息,由6个字段组成,共有18位。
19、分组头格式如图3-5所示。图3-5 分组头格式第3章蓝牙技术4343为了降低开销,它采用前向纠错编码方法(FEC),在特殊情况下,分组头的第一位在序列中发3次,即利用1/3比例前向纠错编码来提高发送的可靠性,形成54比特的头序列。分组头各位的描述如表3-3所示。第3章蓝牙技术4444第3章蓝牙技术45453)有效载荷有效载荷部分携带了上层的语音和数据字段。针对不同的数据链路,蓝牙分组的有效载荷可以分为语音段载荷和数据段载荷。其中,ACL数据分组只有数据段载荷;SCO数据分组只有语音段载荷;DV分组则同时含有语音段载荷和数据段载荷。数据段载荷的一般格式如图3-6所示。第3章蓝牙技术4646图3-
20、6 数据段载荷格式第3章蓝牙技术4747从图3-6可以看出,数据段载荷由有效载荷头、有效载荷体和CRC码3部分组成。有效载荷头用于指示逻辑信道、逻辑信道上的流量控制和载荷的长度,根据分组所占的时隙大小,其长度也有所不同,分别为1个或2个字节。CRC码用于数据错误检测和错误纠正。与数据段载荷不同的是,语音段载荷无有效载荷头和CRC码,只有有效载荷体。第3章蓝牙技术48483.4.2 分组类型分组类型不同链路的不同分组类型由分组头中的TYPE位唯一区分,可分为5种公共分组(为两种链接方式所通用)、4种SCO分组和7种ACL分组3大类。其中,SCO分组用于同步SCO链接,ACL分组用于异步ACL链接
21、方式。16种分组类型的详细描述如表3-4所示。第3章蓝牙技术4949第3章蓝牙技术5050第3章蓝牙技术51513.5 蓝牙模块蓝牙模块蓝牙模块又叫蓝牙内嵌模块、蓝牙模组,是蓝牙无线传输技术的重要实现。在实际的蓝牙应用与开发中,一般不需关注具体的协议实现,只需结合项目任务选择合适的蓝牙模块即可。本节将详细介绍蓝牙模块的实现、选型,以及与本书配套的蓝牙模块的内部结构、管脚图和外围电路。第3章蓝牙技术52523.5.1 蓝牙实现蓝牙实现目前多数蓝牙芯片的底层硬件采用单芯片结构,利用片上系统技术将硬件模块集嵌在单个芯片上,同时配有微处理器(CPU)、静态随机存储器(SRAM)、闪存(Flash RO
22、M)、通用异步收/发器(UART)、通用串行接口(USB)、语音编/译码器(CODEC)、蓝牙测试模块等。一个典型的单芯片蓝牙硬件模块结构图如图3-7所示。第3章蓝牙技术5353图3-7 单芯片蓝牙硬件模块结构第3章蓝牙技术5454蓝牙芯片可以集成到各种数字化智能终端中,方式有下述两种:单微控制器方式:所有蓝牙协议与用户应用程序都集成到一个模块中,整个处理过程由一个微处理器来完成。双微控制器方式:蓝牙底层与中高层协议分别由主机控制器和主机来实现。在蓝牙芯片的基础上,添加微带天线、晶振、Flash、电源电路等,并根据应用需求开发所需的应用协议、应用程序和接口驱动程序,即可构成蓝牙模块,实现某些特
23、定用途。第3章蓝牙技术55553.5.2 选型选型1.蓝牙模块性能指标蓝牙模块的性能指标主要有下述几个:发射功率:标准的CLASS1模块发射功率为20 dBm,即100 mW;标准的CLASS2模块发射功率小于6 dBm,即小于4 mW。在发射功率参数确定后,实际发射效率与射频电路、天线效率相关。第3章蓝牙技术5656接收灵敏度:蓝牙模块接收灵敏度小于-80 dBm,适当增加前置放大器,可提高灵敏度。通信距离:CLASS1模块的标准通信距离(指在天线相互可视的情况下)为100 m,CLASS2模块通信距离为10 m。实际蓝牙模块的通信距离与发射功率、接收灵敏度及应用环境密切相关。功耗与电流:蓝
24、牙模块的功耗大小与工作模式相关,在查找、通信和等待时,功耗是不同的。不同的固件,因其参数设置不同,功耗也会不同。第3章蓝牙技术57572.蓝牙模块种类蓝牙模块的种类很多,可从应用、芯片、技术、性能、生产厂家等多个角度区分:按应用分,有手机蓝牙模块、蓝牙耳机模块、蓝牙语音模块、蓝牙串口模块等。按技术分,有蓝牙数据模块、蓝牙语音模块、蓝牙远程控制模块。按采用的芯片分,有ROM版模块、EXT版模块及FLASH版模块。按性能分,有CLASS1蓝牙模块和CLASS2蓝牙模块。按生产厂家分,有市场上有CSR(现已被三星电子收购)、Brandcom、Eriosson、Philips等,目前市场上大部分产品是
25、前两家公司的方案。第3章蓝牙技术58583.蓝牙模块选择在选择蓝牙模块时,除了要考虑性能指标外,还要综合考虑成本、体积、外围电路复杂度、应用需求等因素。与本书配套的蓝牙模块选择的是BLK-MD-BC04-B(以下称本模块),主要用于短距离无线数据传输,具有成本低、体积小、功耗低、收/发灵敏度高的优点。第3章蓝牙技术59593.5.3 硬件电路硬件电路1.概述本模块采用英国CSR公司BlueCore4-Ext芯片,遵循V2.1+EDR蓝牙规范,支持UART、USB、SPI、PCM、SPDIF(SONY/PHILIPS Digital Interface Format)等接口及SPP(Serial
26、 Port Profiles)蓝牙串口协议,只需配备少许的外围元件就能实现蓝牙的功能。其主要特点如下:第3章蓝牙技术6060第3章蓝牙技术6161本模块主要用于短距离的数据无线传输领域,可避免繁琐的线缆连接,能直接替代串口线,可以方便地和PC的蓝牙设备相连,也可以用于两个模块之间的数据互通,广泛用于蓝牙无线数据传输、工业遥控和遥测、POS系统、无线键盘和鼠标、楼宇自动化和安防、门禁系统、智能家居等领域。2.管脚图本模块的管脚图如图3-8所示。第3章蓝牙技术6262图3-8 蓝牙模块管脚图第3章蓝牙技术6363第3章蓝牙技术6464第3章蓝牙技术65653.内部结构本模块的结构框图如图3-9所示
27、。图3-9 蓝牙模块功能框图第3章蓝牙技术6666从图3-9可以看出,本模块内部含有天线、2.4 GHz射频模块(Radio)、RAM、DSP(基带数字信号处理芯片)、MCU、晶振(蓝牙时钟),I/O接口等,支持FLASH存储、音频输入/输出(Audio In/Out)、UART/USB、SPI、PIO、PCM等功能。4.外围电路在实验开发板中本模块的外围电路如图3-10所示。第3章蓝牙技术6767图3-10 本模块外围电路第3章蓝牙技术68683.6 蓝牙应用与开发蓝牙应用与开发在实际开发中,蓝牙模块往往已经实现了蓝牙协议栈,并提供一系列指令用于设置和操作;而对用户而言,只需要有蓝牙的基本概
28、念,并掌握这些指令即可进行蓝牙的应用开发。实践中,蓝牙模块大多支持AT指令集。本节将讲解本模块的AT指令结构、使用方法和应用示例。第3章蓝牙技术69693.6.1 AT指令概述指令概述AT即Attention(注意、注意力),AT指令的每条命令以字母“AT”开头,因此得名。20世纪90年代初,AT指令仅被用于Modem操作,之后主要的移动电话生产厂商共同为GSM研制了一整套AT指令,并在此基础上将其发展,加入GSM07.05标准以及GSM07.07标准,成为了完全标准化和比较健全的指令集。第3章蓝牙技术7070早期的AT指令集多用于GSM、GPRS模块(例如本书配套的GPRS模块),用于配置和
29、执行相应操作。由于其简单和标准化,目前越来越多的模块也开始支持AT指令集,例如本教材配套的蓝牙、WiFi模块均支持AT指令集。AT指令以AT开头,以回车、换行字符(rn)结尾,不区分大小写。AT指令的响应在数据包中,每个指令执行成功与否都有相应的返回。其他的一些非预期信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可作相应的处理。第3章蓝牙技术71713.6.2 AT指令示例指令示例【示例3-1】AT指令示例。硬件电路:在图3-10中,将JP12的1与3、2与4用跳线短接,即本模块与PC相连,用超级串口工具可以方便地查看AT指令的执行结果;JP13的1与2短接,即硬件设
30、置为主/从方式;JP14的1与2短接,即从机模式。第3章蓝牙技术72721)查询/设置本模块名称在图3-11中,左下方白框显示的是PC发给本模块的AT指令,其上方白框显示的是本模块发送给PC的应答。首先查询本模块的名称,得到应答BOLUTEK;然后将其改为BC04-B。两条AT指令之间由回车符隔开(rn)。第3章蓝牙技术7373图3-11 查询/设置本模块名称第3章蓝牙技术74742)查询/设置串口通信波特率在图3-12中,首先查询本模块的波特率,得到应答为4,即波特率为9600 b/s;若要将其改为115 200 b/s,则需将参数值设置为8。第3章蓝牙技术7575图3-12 查询/设置串口
31、通信波特率第3章蓝牙技术76763)查询串口通信模式和工作状态在图3-13中,首先查询本模块的通信模式,得到应答,即1位停止位,无校验,由于在超级串口中无停止位和校验位的下拉菜单,修改本模块的通信模式后与PC的通信模式不匹配,将无法继续正常通信,AT指令将无效,因此不作修改;然后查询本模块的工作状态,得到应答为3,即模块处于配对状态。第3章蓝牙技术7777图3-13 查询串口通信模式和工作状态第3章蓝牙技术78783.6.3 蓝牙初始化蓝牙初始化蓝牙设备进行互联之前,应先使用AT指令对其进行初始化。初始化指令一般包含下述内容:第3章蓝牙技术7979第3章蓝牙技术8080下述内容用于实现任务描述
32、3.D.1,采用AT指令实现蓝牙模块连接前的初始化设置。硬件电路同示例3-1,将本模块和PC相连,通过串口发送AT指令控制本模块完成连接前的相关设置;采用硬件设置主/从方式,本模块作为从机。在超级串口上发送的AT指令和接收到的应答情况如图3-14所示。第3章蓝牙技术8181第3章蓝牙技术8282第3章蓝牙技术8383图3-14(a)使用AT指令依次完成了下述内容:将本模块名称设置为BC04-B,查询本模块的48位设备地址,开启indiction上行指令,设置蓝牙设备类型,设置蓝牙查询访问码为GIAC,以便被周围所有的蓝牙设备查询。图3-14(b)使用AT指令依次完成了下述内容:设置寻呼扫描,查
33、询扫描参数,设置自动搜索远端蓝牙设备,查询蓝牙配对列表(无配对列表),设置配对码为123456,设置任意蓝牙地址连接模式。第3章蓝牙技术84843.6.4 蓝牙配对测试蓝牙配对测试AT指令可用于完成蓝牙模块进行连接前的相关设置,一旦蓝牙设备之间配对连接,即进入数据透传方式,AT指令将不再起控制作用,只相当于两个设备之间的字符串通信。使用蓝牙模块与PC或手机进行通信时,PC和手机的蓝牙一般作为主机,蓝牙模块作为从机。下述内容用于实现任务描述3.D.2,实现蓝牙模块和手机之间的配对连接,进行数据收/发测试。第3章蓝牙技术8585为方便查看AT指令和相关的应答情况,本例仍将模块与PC相连,通过超级串
34、口发送和显示相关的AT指令。硬件电路同描述3.D.1,具体实现步骤如下:1)蓝牙连接前的初始化设置本模块连接前的初始化步骤同描述3.D.1。第3章蓝牙技术86862)安卓蓝牙串口助手安装安装蓝牙串口助手vPRO到安卓手机(需自带蓝牙模块)。安装完毕后,首次进入时的欢迎页面如图3-15(a)所示,勾选“以后不再提示”,点击“进入蓝牙串口助手”按钮,进入界面如图3-15(b)所示,该界面左上角显示“蓝牙未连接”。第3章蓝牙技术8787第3章蓝牙技术88883)配对连接点击“连接设备”按钮,弹出如图3-16(a)所示的界面,在其中点击“扫描新设备”按钮,得到如图3-16(b)所示的界面,在其他设备中
35、显示出了搜索到的周围的蓝牙设备。第3章蓝牙技术8989第3章蓝牙技术9090BC04-B为名称,00:15:FF:F3:84:24为蓝牙设备地址,与步骤1)中查询到的地址完全吻合,即为本模块。选中BC04-B,点击“连接设备”按钮,进入如图3-17所示的界面 第3章蓝牙技术9191图3-17 配对请求界面第3章蓝牙技术9292输入步骤1)中设置的配对码为123456,点击“确定”按钮,即进入如图3-18(a)所示的界面,其中,左上角显示“已连接到BC04-B”。此时,本模块和手机已成功连接,在超级串口上则会显示应答信息(参见图3-19前3行)。在超级串口中再输入AT指令将不会得到相应的应答,输
36、入的指令将原样显示在手机串口助手的接收区。在超级串口中发送3次“AT+PIN”指令,经数据透传后显示在手机的蓝牙串口助手接收区中,如图3-18(b)所示。第3章蓝牙技术9393第3章蓝牙技术9494由于蓝牙的有效通信距离较短,因此当蓝牙模块和手机之间超过一定(依不同的蓝牙模块而变)距离时,连接会自动断开,在超级串口上会显示如图3-19后3行所示的信息。第3章蓝牙技术9595图3-19 连接和断开应答第3章蓝牙技术9696通过本章的学习,学生应该了解:蓝牙技术从产生发展至今,共发展了六个规范版本,分别是V1.1、V1.2、V2.0、V2.1、V3.0和V4.0。蓝牙通常采用点对点的配对连接方式,
37、主动提出通信要求的设备是主设备(主机),被动进行通信的设备为从设备(从机)。第3章蓝牙技术9797蓝牙协议采用分层结构,遵循开放系统互连OSI(Open System Interconnection)参考模型,按照各层协议在整个蓝牙协议体系中所处的位置,蓝牙体系可分为底层协议、中间层协议和高端应用层协议三大类。连接建立后,蓝牙设备可以处于激活(Active)、保持(Hold)、呼吸(Sniff)和休眠(Park)4种模式。第3章蓝牙技术9898蓝牙模块又叫蓝牙内嵌模块、蓝牙模组,是蓝牙无线传输技术的重要实现。蓝牙模块的AT指令主要分为Command(下行命令)和Indication(上报指令)。其中,下行命令是PC发给蓝牙模块的;上报指令是蓝牙模块发给PC的。