蓝牙4.0 vs 蓝牙4.1 vs 蓝牙4.2 vs 蓝牙5.0

蓝牙4.1 vs 蓝牙4,0    

 

1.提升数据传输率

相比蓝牙4.0,蓝牙4.1单包数据传输最大值从20字节上调到23字节,提升了15%的数据传输率。根据该规则,大家可以尝试修改单包数据payload的值,如果该芯片只支持BT4.0,那么修改传输23字节要么会编译报错,要么传输过程中会丢包。

 

2.主从共存

链路层Link layer拓扑结构做了更新,允许单设备主从同时共存(时间片轮转方式),以及一主对多从设备的连接拓扑。

 

3.支持32-Bit UUID

32-Bit UUID指的是广播包携带的UUID,并不是指我们所说的针对属性列表的16 bit and 128 bit UUID。可以通过广播的32-Bit UUID映射得到完整的128 Bit UUID从而使得广播包内有效广播数据长度更多。

 

蓝牙4.2 vs 蓝牙4.1

 

1.LE连接安全

从Spec定义上蓝牙4.0和4.1的配对加密环节都是基于AES-CCM加密,但是由于蓝牙4.1双方共享同一密钥,所以存在被破解风险和漏洞。蓝牙4.2的pairing环节,采用Diffie-Hellman Key Exchange密钥交换算法进行加密,每一个设备有一对密钥对,公钥和私钥,私钥自己保存,公钥公开给对方,数据交互时,一方通过自己的私钥和对方的公钥进行加密文件,接收方通过自己私钥和传输方的公钥进行解密,从而有效的防止中间人破解密钥的事件发生。

详细可以参考我写的另外一篇文章《面对支付: 蓝牙4.2/蓝牙5数据传输的安全性保障》。

 

2.隐私保护

蓝牙在广播过程中会携带自己的BD address (bluetooth device address)即为蓝牙唯一的MAC地址,在某些应用,比如物流追踪应用当中是非常有帮助的,可以根据BD address固定物流设备。

但是在某些应用不希望自己的BD address暴露在主端设备的监控下,蓝牙4.2给出了灵活的选择,蓝牙4.2规定,从机设备可以选择在广播模式下发送随机BD address,这样主端设备除了接该到设备之后才能获取其真实BD address,除此该设备广播模式的BD address为随机序列。

 

3.大数据传输

蓝牙4.1最大支持23字节单包数据传输,蓝牙4.2最大支持255字节单包数据传输,极大提升了数据传输率。详细可以参考我写的另外一篇文章《提升蓝牙4.2数据传输率的办法 - ATT_MTU》。

 

蓝牙5.0 vs 蓝牙4.2

 

蓝牙5的所有新特性我已经都有详细做介绍了,大家可以参考我之前写的文章。下面我就不一一细说。

 

1.远距离

得益于前向错误编码和模式映射,使得蓝牙数据在传输过程中,RX端对整个payload数据包解码纠错能力有不同提升(简单说即为提高RX端接收灵敏度),蓝牙5的传输距离才有显著的提升

 

2.长广播包

蓝牙4.x协议规定蓝牙广播数据包每包数据最大只支持31字节数据传输,广播信道限制在37,38,39三个信道。在原有的用于传输广播数据的PDU(ADV_IND、ADV_DIRECT_IND、ADV_NONCONN_IND以及ADV_SCAN_IND,称作legacy PDUs)的基础上,蓝牙5增加了扩展的PDU(ADV_EXT_IND、AUX_ADV_IND、AUX_SYNC_IND以及AUX_CHAIN_IND,称作extended advertising PDUs),同时也允许蓝牙在除开37,38,39三个通道之外的其他37个信道上发送长度介于0-255字节的数据

 

3.大数据传输

与蓝牙4.2相比,蓝牙5支持两种PHY,1M PHY和2MPHY,2M PHY的数据传输率是蓝牙5.0新增功能,在蓝牙4.2之前,只支持1Mbps PHY的速率。和蓝牙4.2一样,蓝牙5也支持单包255字节的数据传输,所以蓝牙的速率比起4.2提升了一倍。

 

 

小结:

目前市场上依然有大量蓝牙4.0/3.0/2.1/2.1+EDR产品存在,从自拍器,遥控器到各种智能设备,因其功能够用,价格低廉,受到快消类产品客户的亲昵,而工业类,汽车类应用,BT4.0的产品依然当道,究其原因,稳定,够用,供货好,当然价格不贵。但如果说蓝牙5之前蓝牙解决的是单点连接的可穿戴式设备与手机互联的问题,那么蓝牙5就是解决多点互联IoT物联网的问题。

拥抱未来,Bluetooth 5,你好。