购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 短距离的蓝牙设备连接技术

除了Wi-Fi以外,另一种已经被多数人熟知的家庭无线连接技术是蓝牙。我们日常使用的智能手机同时支持Wi-Fi和蓝牙,在大多数人的理解中,Wi-Fi用于上网浏览、看在线视频、网上购物等,蓝牙则用于短距离通信的数据传输,例如无线耳机和无线键盘等。以下将介绍蓝牙的历史发展、关键技术,以及与Wi-Fi技术之间的比较。

蓝牙的英文名称是“Bluetooth”,是10世纪丹麦国王哈拉尔德的别名,他的功绩是把当时的瑞典、芬兰与丹麦统一起来。而把蓝牙这个名称引入通信协议是Jim Kardach在1997年提出来的。他期望蓝牙技术能成为全球通信协议的统一标准。

和Wi-Fi的技术标准一样,蓝牙工作在免许可证的2.4GHz频段,即蓝牙是工作在2400~2483.5MHz的电磁波,由Bluetooth SIG (蓝牙特别兴趣组)来定义相关的标准,实现固定设备、移动设备等之间的短距离数据传输,例如前面提到的无线耳机和键盘,以及笔记本电脑、游戏手柄、手表、媒体播放器等。

蓝牙与Wi-Fi相比,Wi-Fi一般需要通过接入点设备(AP)来建立无线网络,从而完成设备间的通信,而蓝牙则通常是两个设备之间的直接通信,如图2-12所示。因此Wi-Fi的终端设备是通过AP来完成互联网的连接和访问,而蓝牙则提供了设备之间简单的较低速率的应用通信。Wi-Fi和蓝牙技术在实际场景中各司其职,在短距离通信中有不同的应用场景。

图2-12 Wi-Fi和蓝牙的通信方式

1. 蓝牙技术发展

1998年5月,爱立信、诺基亚、东芝、IBM与英特尔5家公司在联合开展短距离无线通信技术的标准化活动中提出了蓝牙技术,希望能提供成本低、距离短的无线传输技术。他们成立了蓝牙特别兴趣组(Special Interest Group,SIG)来推动技术标准的研究和发展。根据各家公司所长,英特尔来负责芯片和传输软件,爱立信负责无线射频和移动电话软件,而IBM和东芝负责计算机接口规格的开发。在1999年,蓝牙特别兴趣组的5家公司又与微软、摩托罗拉、3COM、朗讯共同发起并成立了蓝牙技术推广组织,从而在全球快速推进了蓝牙技术的研究以及应用产品的开发。

蓝牙的1.1版本在2002年被IEEE批准为802.15.1标准。它是在蓝牙1.0和1.0B的基础上修正发展而来的。接着在2005年蓝牙的1.2版本也被IEEE批准,它的速率提升到了721kbit/s,增加了自适应跳频扩频(Adaptive Frequency Hopping,AFH)来提高射频的抗干扰性。

2010年7月,蓝牙技术联盟正式采纳蓝牙4.0核心规范(又称为Bluetooth Smart),它将三种蓝牙的规格都合成一个,即包含了经典蓝牙技术、高速蓝牙技术和蓝牙低功耗协议。经典蓝牙包括了原来的旧蓝牙协议。这三种技术可以进行组合,也可以单独应用在产品中。蓝牙4.0规范中非常重要的特性是低功耗的支持,使用电池的设备在待机情况下能持续运行数年。另外蓝牙4.0支持3 ms的低延迟、100 m以上的超长距离传输以及AES-128加密等新功能,把蓝牙的应用范围推向了更广的领域,是蓝牙技术在传感器网络、计步器、心率监视器等方面得到拓展的关键版本。

接着在2013年12月,蓝牙技术联盟宣布正式采用蓝牙核心规范4.1版本,它包括对LTE和批量数据交换率共存的支持,以及允许设备同时支持多重角色使得网络部署更加灵活,例如一个相同的低功耗蓝牙(Bluetooth Low Energy,BLE)设备既可以在一个网络中作主设备,同时可以在另一个网络中作从设备。蓝牙4.1版本是以物联网为目标对4.0版本的更新,没有硬件上的变动,使得批量数据的传输性能得到提升,并面向消费者增加了更多的可用性功能。蓝牙4.1支持IPv6。另外蓝牙4.1支持多个用户设备连接到同一个蓝牙设备上。

在2014年12月2日,蓝牙的4.2版本发布,这是硬件更新的版本,它为物联网提供了新的关键功能,数据传输速率提高了2.5倍,并且降低了数据传输的错误率。蓝牙4.2最大的变化是支持了基于IPv6的低功耗无线局域网技术(6LowPan),支持多个蓝牙设备通过一个终端连接到互联网。另外蓝牙4.2在安全隐私保护方面有了更好的措施,例如蓝牙设备只会连接接受信任的终端,而如果是陌生的设备连接请求则需要用户的明确许可,使得用户可以避免在不经意的情况下暴露自己的位置信息或者留下使用记录。

IEEE 802.15系列的标准

在IEEE标准方面,除了蓝牙的802.15.1标准,IEEE有其他相关的IEEE 802.15系列规范,例如1999年定义的IEEE 802.15.2的目标是为了让2.4GHz (包含IEEE 802.11的Wi-Fi设备)的无线设备能相互共存;IEEE 802.15.3与蓝牙兼容,提出了更高的数据传输率,以及低成本和低电能消耗的标准;IEEE 802.15.4是针对低数据传输率的设备,保证有严格的功耗要求,但无线连接简单,适用于对数据速率要求不高的工业控制和家庭网络连接,后面提到的ZigBee技术会详细讨论这个标准。

2016年年底,蓝牙技术联盟SIG正式推出新的核心规范版本“蓝牙5”,这是2016年物联网技术发展中的重要事件。蓝牙5的传输距离提升为原来的4倍,传输速度提升为原来的2倍,广播数据传输量提升为原来的7倍。这些更新在保持原来低功耗的基础上提升了性能,减少了与其他无线技术在使用上的干扰,使蓝牙设备在物联网环境中能够更好地与其他无线设备共存。蓝牙5的广播包的数据长度从之前4.2版本的37字节增长到257字节,在蓝牙4.2版本的基础上提升了6倍。这种变化可以使得蓝牙5更好地在物联网领域得到应用。

对于低功耗蓝牙设备,蓝牙核心规范4.2版本的输出功率范围为-20~+10dBm,但在蓝牙5版本中规定输出功率范围为-20~+20dBm,最大输出功率得到了很大的提高,可以有效地提高发射信号的覆盖范围。

另外蓝牙5对于低功耗设备增加了可选的2Mbit/s的传输速度调制方案,比原先的1Mbit/s传输速度提高了一倍。

蓝牙5的推出是在短距离无线通信中对Wi-Fi技术的挑战,Wi-Fi的特点是较高的频宽和较长的室内距离,以及较多同时支持的设备连接数量,而传统蓝牙的优势是相对Wi-Fi而言有较低的功耗,体积小和成本低,支持设备之间的短距离数据传输。通过提升传输距离和性能,蓝牙可以被拓展到Wi-Fi的应用领域。当然Wi-Fi技术的演进也没有止步不前,Wi-Fi联盟推出了采用IEEE 802.11ah的“Wi-Fi Halow”,目的是在功耗和电池续航上进行改善。Wi-Fi HaLow把Wi-Fi的2.4GHz扩展到了900MHz频段,支持传感器和可穿戴设备等应用所必需的低功率互联。因为频段的调整,Wi-Fi HaLow的传送距离几乎是目前Wi-Fi的一倍,使得Wi-Fi不仅能更远地传送信号,而且能在各种障碍物的环境下提供更加可靠的连接。

蓝牙仍然使用2.4GHz频段。因为有很多设备在2.4GHz频段工作,信号已经非常拥堵,因此使用双频段AP设备的用户可以优先选择5GHz频段的Wi-Fi。但蓝牙5的传输距离比Wi-Fi更有优势。如果对蓝牙5和Wi-Fi进行比较,用户可以利用Wi-Fi的5GHz频段来支持流量大的业务,例如视频、游戏等,而在其他智能家居业务使用蓝牙5。

2. 蓝牙关键技术

讨论所有的无线技术,首先是频段定义。如前面所说,蓝牙工作在2.4GHz的ISM频段,厂家不需要通过申请就能使用这个频段进行数据收发。但蓝牙的频谱天然就和Wi-Fi 2.4GHz频段冲突,对于Wi-Fi来说,蓝牙设备工作时的电磁波是噪声干扰。如果厂家要设计同时支持蓝牙和Wi-Fi的产品,必然要有相应的电磁隔离措施。

蓝牙的物理信道分为两组,分别是广播信道和数据信道。在连接建立之前,支持蓝牙的设备首先通过广播信道来交换数据,当设备发送出去一个广播包后,它就会在相同的信道上监听其他设备的连接请求包或者通过扫描来检测请求包。当收到其他设备的连接请求包之后,两个设备开始建立连接。在连接成功建立之后,设备之间就可以通过数据信道进行交互了。

传统的蓝牙技术支持32个广播信道和79个数据信道,要传输的数据被分割成蓝牙格式的数据包,然后通过这些信道分别进行传输。在79个数据信道,每个频道的频宽是1MHz,第一个频道从2402MHz开始,每1MHz占一个频道,在2480MHz结束。蓝牙4.0采用2MHz的频宽,这样可以支持40个频道。

BLE支持3个广播信道和37个数据信道,每一个频道是2MHz。广播信道从32个减少到3个,目的是为了减少大量广播数据的发送,从而支持更低功耗的系统运行,这也使得BLE扫描其他设备然后建立连接的时间远低于传统蓝牙的连接时间。如果广播信道减少到1个,那么该信道在广播数据的时候很容易变成瓶颈,信道被大量的广播数据包堵塞,从而降低了设备的工作效率,所以选择3个广播信道也是权衡效率和功耗后的结果。

蓝牙发射功率分成三个等级,100mW(20dBm)、2.5mW(4dBm)和1mW (0dBm)。蓝牙支持4~20dBm范围内的功率控制,这样蓝牙的数据传输距离为10~100 m。蓝牙采用高斯频移键控(Gaussian Frequency-Shift Keying,GFSK),设备以基础速率(Basic Rate)运行,瞬时速率可以达1Mbit/s。

高斯频移键控调制在移动通信、航空与航海通信等领域中得到了广泛的应用。在调制过程中,输入的数据经过高斯低通滤波器预调制滤波后,再进行FSK调制。整个调制过程幅度保持不变,但通过改变高斯低通滤波器的3 dB带宽能对已调信号的频谱进行控制,这样高斯频移键控调制就具有恒幅包络、功率谱集中、频谱较窄等无线通信系统所希望的特性。高斯频移键控分为直接调制和正交调制,直接调制是在数字信号经过高斯低通滤波后,直接对射频载波进行模拟调频,而正交调制通过间接的方式进行调制,它先将数字信号进行高斯低通滤波,然后做适当的相位积分运算,接着分成同相和正交两部分,让载波的同相和正交分量相乘,再合成高斯频移键控的信号。

2009年以前广泛应用的是蓝牙2.0+增强数据率(Enhanced Data Rate,EDR)标准,可以采用π/4-DQPSK和8DPSK调制,分别能够达到2Mbit/s和3Mbit/s。

蓝牙支持主从架构的数据通信方式。1个主设备可以最多和相同网络中的7个从设备进行通信。所有的从设备都共享主设备的时钟,即以312.5μs为间隔运行的基础时钟。两个时钟周期构成了一个625μs的时隙。主设备从双数的时隙进行数据发送,而从设备从单数的时隙进行数据发送。蓝牙技术支持1、3或5个时隙进行组合来完成较大数据包的发送。

蓝牙采用的是时分双工技术,它的时隙通道既支持实时的同步定向连接,又支持非实时的不定向连接。例如支持一个异步数据通道,或一个并发的同步语音通道,或一个同时传送异步数据和同步语音的通道,每一个语音通道支持64 kbit/s的同步语音,异步通道支持的最大速率为721 kbit/s。

和其他通信系统一样,蓝牙的通信协议也采用层次结构,从底层到上层分别如下。

1)蓝牙核心协议:包括基带(Base Band)协议、链路管理协议(Link Manager Protocol, LMP)、逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol, L2CAP)、服务发现协议(Service Discovery Protocol, SDP)等。

2)电缆替代协议:串口仿真(Radio Freqency Communication,RFCOMM)协议。

3)传送控制协议:TCS Binary 2、AT命令集等。

4)应用协议:根据实际产品的需求,可以包含PPP、UDP/TCP/IP、OBEX、vCard/vCarl、lrMC、WAP等。

蓝牙核心协议中基带层的作用是在各个蓝牙节点之间建立物理射频电路来实现数据的传送,它起到了链路控制和链路管理的作用,另外还管理异步和同步链路、寻呼、查询接入以及查询蓝牙设备等功能。基带收发器利用时分复用(TDD)的方式来发送和接收数据。协议可以支持同步面向连接(Synchronous Connection-Oriented,SCO)业务和无连接(ACL)业务,通常ACL用于分组数据业务,而SCO分组包括语音或者语音和数据的组合业务。不管是音频信息的传送,还是数据分组业务的传输,报文中都包含了前向纠错(Forward Error Correction,FEC)或者循环冗余校验(Cyclic Redundancy Check,CRC),而且可以进行报文加密。

链路管理协议负责建立和解除主从设备单元之间的连接、鉴权和加密功能,控制无线设备的功率、蓝牙节点的连接状态,以及控制主从设备单元的工作模式,例如P ARK、HOLD、SN IFF等模式。

L2CAP位于基带层之上,向上层提供服务。L2CAP只支持ACL连接,不支持SCO连接。L2CAP的主要作用是实现数据的封装和解封装、基带与高层协议之间的适配、支持协议复用和数据分段等操作、支持数据重传等。

L2CAP和LMP都相当于OSI的第二层,即数据链路层的协议。从功能上来看,L2CAP是LMP之上的控制和适配协议。L2CAP向RFCOMM和SDP等层提供面向连接和无连接的业务。而LMP不负责业务数据的传递,基带的数据可以跳过LMP,直接通过L2CAP向高层协议传送数据。

SDP是蓝牙业务中所有用户模式的基础,是协议中实现业务功能的关键部分。蓝牙系统通过SDP来查找附近可能存在的蓝牙设备,如果找到了附近蓝牙设备所能提供的服务,用户就可以选择使用其中一个或多个服务,从而在蓝牙设备之间建立相应的连接。SDP支持3种服务查询方式,即通过服务种类来查询服务、通过服务特征属性来查询服务、通过服务浏览方式来查询服务。SDP上层可以有文件传输、网络接入、无绳电话、同步模式等各种应用。根据不同的信息类型和业务类型,通过SDP实现各设备单元之间的SDP层连接。

在底层协议中,除了核心协议以外,还定义了主机控制接口(Host Controller Interface, HCI),它可以位于L2CAP之下或者L2CAP之上,目的是为基带控制器、链路管理器、硬件状态和控制寄存器提供命令接口。主机和主机控制器之间的通信是以包的形式进行的,有数据、命令和事件三种包。当主机与基带之间进行命令传递的时候,主机向主机控制器发送命令包,主机控制器执行命令,并且向主机发出一个命令完成事件包或者先发送命令状态事件包,等命令执行完毕后再向主机发出命令完成事件包。

电缆替代协议是基于ETSI07.10规范的串口仿真协议,主要目的是为了替换原先电缆的应用,使得原先运行在串行接口上的应用程序能直接移植到蓝牙链路上进行工作,而不需要做任何改动。

蓝牙通过多种工作模式来支持低功耗的通信。激活(Active)模式是蓝牙的正常工作方式,然后是呼吸(Sniff)模式、保持(Hold)模式和休眠(Park)模式三种低功耗模式。Sniff模式是从设备被周期性地激活,相比另外两种低功耗模式,它的功耗最高,但它对主设备的响应最快。Hold模式是从设备停止监听主设备过来的数据包,但仍然保留它的激活状态下的成员地址。Park模式下的从设备保持与主设备之间的同步,但是从设备不保留激活状态下的成员地址,所以Park模式的功耗是三种模式中最低的,但是对主设备的响应也是最慢的。

3. 蓝牙组网功能

在讨论Wi-Fi技术的时候,Wi-Fi网状(Mesh)网络的产生是为了提高家庭Wi-Fi的覆盖范围和组网的灵活性,让终端设备即使在偏僻角落也能通过Wi-Fi网络接入互联网或与其他设备通信。

随着蓝牙产品这几年在工业和家庭中得到大量使用,以及物联网(后面章节讨论)的快速发展,支持蓝牙设备之间的互相通信以及数据需要经过多个蓝牙设备转发的需求越来越突出,楼宇自动化、无线传感器网络等都是应用的场景。蓝牙技术联盟在2017年7月19日正式宣布支持蓝牙的Mesh网络。

在蓝牙的Mesh网络中,信息通过广播的方式迅速传送给各个设备,采用了和有线以太网以及Wi-Fi网络设备不一样的通信方式。以太网通过VLAN来隔离广播数据包在全网络中的传送,Wi-Fi也限制了广播包的数量和类型,原因都是因为广播包增加额外的网络负荷,以及增加了设备的处理开销。但是另一方面,广播包的传送不需要通过设备的路由表来进行检索和判断,当前设备直接把广播包转发给下一个设备。对于像低功耗和产品设计简单的蓝牙设备,处理广播包的开销要比路由表维护简单得多,这是蓝牙支持广播包的原因。当然蓝牙技术对于广播包的转发也设了各种限定条件,这样可以避免大量效率低下的信息传送。广播的数据包通过多个路径传送给目的设备,带来的好处是网络本身的冗余性和可靠性得到保障,即任何一个蓝牙设备出现故障也不会影响整个网络的数据传输。

另外值得提及的是蓝牙Mesh网络的安全性。Mesh网络的发布随着物联网的发展应运而生,万物互联的设备的安全性就变得异常重要。如果设备发送的消息遭到截获和修改,或者设备中的个人信息泄露等,都会对家庭或个人产生不可预计的影响。所以蓝牙Mesh网络的安全性就得到了高度关注。下面是蓝牙标准的安全性及设备的安全管理。

1)首先所有传输的消息都需要加密和认证,避免信息被恶意截获和攻击。这些信息用128位的AES-CCM进行加密和认证。

在第6章会继续介绍蓝牙的安全特性,这里简要对AES-CCM做个说明。AES是一种分组加密算法。CCM (Counter with CBC-MAC)模式基于AES加密算法,提供了数据的加密和认证,它属于对称私钥加密模式。CCM是Cipher Block Chaining Message Authentication Code (CBC-MAC)和Counter模式(CTR)的组合。在数据加密过程中,CBC计算明文数据,产生一个消息认证码,然后CTR把明文数据与认证码放在一起进行加密传输。解密的时候,CTR对密文进行解密,并恢复认证码,然后CBC根据明文计算消息认证码,如果两个消息认证码相同,则认证成功,否则说明数据在传输过程中被修改或破坏了,数据将被丢弃。

2)在发送的每个消息上加上不同序列号(Sequence Number)来预防重放攻击(Replay Attack)。

3)利用扰码的手段对发送的信息进行模糊处理。这样当黑客通过抓包工具截获数据报文的时候,不能直接从数据中获取用户信息。

4)网络层和应用层分别有各自独立的两组密钥,网络层密钥(Network Key)和应用层密钥(Application Key)。这也是蓝牙Mesh和其他网络互联技术不同的地方。在同一个网络中,不同的设备使用相同的网络层密钥来加密和解密,这样可以在同一个网络中安全地进行数据的传输。但是不同领域的设备不一定能够解析出互相的应用层信息,因为它们彼此不一定会有相应的应用层的密钥。这种设计是将网络层加密解密和应用层加密解密隔离开来,使得传送信息的安全性和解析信息的安全性互相独立。

5)使用特定的验证算法对需要添加到网络的设备进行配置。在蓝牙Mesh网络中使用椭圆曲线(Elliptic Curve)Diffie-Hallman非对称加密和带外认证的方式来安全地添加设备。

6)通过特定的密钥更新程序将Mesh网络中不授信的设备列入黑名单,确保它们不会在Mesh网络中和其他设备进行通信。

蓝牙发布Mesh一周年的时候,已经有超过65种采用Mesh网络功能的产品获得认证,超出了人们的预期。

除了Mesh网络以外,蓝牙也支持建立临时的对等网络(Ad hoc Connection)。Ad hoc网络的特点是自组织和无中心,网络拓扑是动态变化的,网络中的各个节点是平等的,它们既是终端节点,又可以进行路由转发。在蓝牙的Ad hoc网络连接中,节点分为主设备和从设备。主设备是主动发起连接请求的设备,响应方为从设备。几个蓝牙设备连接成一个微微网(Piconet),而多个微微网则可以组成散射网(Scatternet)。一个散射网最多可以由10个微微网组成。如果主设备断开连接,则微微网也就不能保持通信,剩下的从设备不能自己重新组网。 /fgfbu0FXd0VxvkNKO9Sl1d7iCixIgiB5fL2CRWcpjDe+mRMYoBPeyFn159fMFXr

点击中间区域
呼出菜单
上一章
目录
下一章
×