Bluetooth BR/EDR (传统蓝牙)协议栈整体架构:
Bluetooth Low Energy 低功耗蓝牙协议栈的体系结构如下:
Bluetooth Mesh协议栈架构:
Mesh是基于BLE协议基础上的一个协议,基本扩展了BLE的能力。通俗一點說就是蓝牙MESH是构建于BLE之上的网络协议。
广播连接的一个基本特性:
广播只能单方向只发送数据,要快速可靠双向通信,必须要建立连接(当然,你也可以即广播也扫描不建立连接实现双向通信,但这样效率不高)。那么BLE是如何建立连接呢?首先得知道啥时可连接广播。下图为Radio TX 或者RX 活跃时,则拉高对应的IO口, 然后用逻辑分析仪捕获的瞬间图。
由上图可以看到,可连接广播,在Radio层面上每次在一个信道上发送完后,会开一个短暂的RX,如果此时,有其他设备发送连接请求时,则瞬间两者就建立连接了。
BR/EDR与BLE的区别:
首先一个基本概念:
低功耗蓝牙采用了高斯频移键控(GFSK)。这里我们先抛开蓝牙的协议,单纯从Radio的角度看收发通信,Radio发送到空中的数据比较简单,要么是0,要么是1,接收端每次也只能在一小段(一个信道)频率上扫描。比方说在2402MHz这个频点上发送数据,发送的频率小于2402MHz负频代表发送0,发送的频率大于2402MHz代表发送1。
信道:
传统蓝牙BR/EDR,有79个窄信道。 而低功耗蓝牙,使用40个无线信道。3个广播信道(初级广播),37个数据信道。Radio每次发送数据只能往一个信道里面发送,大多数芯片的Radio(接收方)每次也只能扫描一个信道的数据。
BLE 的广播在没有引入扩展广播之前,是一个比较简单的概念。这里介绍用得最普遍的在1M PHY层上的广播。在没有建立连接之前,设备与设备之前只能通过广播发送数据,为了增加发送数据的可靠性,避免频点被一直干扰,所以BLE默认选择每次广播在37,38,39三个信道上遍历发送广播数据。
能量消耗:
低功耗是BLE的一大亮点。仅使用纽扣电池,BLE设备即可运行数月甚至数年。蓝牙智能的灵活配置还可以使应用程序更好地管理连接间隔(连接间隔),从而优化接收器的占空比。对于蓝牙BR / EDR,由于其较高的数据吞吐量,因此功耗会相应增加。
拓扑结构:
BR / EDR支持星形拓扑的Piconet,也支持Scatternet的Piconet。在Scatternet中,每个微微网都有一个主设备,而从属设备可以基于时分复用参与不同的微微网。
BLE 4.1版本支持“双模式”,该模式允许BLE设备同时扮演“中央”和“外围设备”两个角色。支持中心角色的设备可以启动与外围设备的连接,而支持中心角色的设备也可以用作外围设备以连接到其他中心设备。将来,它还将支持BluetoothSmart Mesh(5.2已经支持)
开发方式:
BLE开发非常灵活,开发人员可以借助蓝牙技术联盟使用的配置文件更灵活地自定义应用程序。无论开发人员想要构建哪种应用程序场景,灵活的配置文件定义都可以满足技术要求。
BR / EDR技术相对成熟,并且其开发是模块化的,因此通常只需要将模块集成到产品中即可。例如,在开发Beacon应用程序时应选择BLE,因为BR / EDR不支持Beacon应用程序
配对:
配对对于蓝牙BR / EDR是必需的,但对于BLE能则是选择性的。
简单的BLE应用程序可能不需要配对。例如 ibeacon 等应用
数据吞吐量:
BLE吞吐量约为1 Mbps(如规格中所述),但还取决于应用场景。
蓝牙BR / EDR吞吐量超过2Mbps,适用于高质量音频比特流或其他需要维持更高带宽连接的应用。
Profile:
通用属性配置文件(GATT)可以由应用程序或其他配置文件调用,以允许客户端与服务器进行交互。当前,有许多使用GATT构建的配置文件。
联网能力:
蓝牙技术联盟提供了三种基于BLE 的联网能力,RESTFul API,HTTP代理服务(HPS)和互联网协议支持配置文件(IPSP)的Internet访问方式。他们都需要网关设备进行连接。网关设备可以是任何可以访问Internet的设备,例如路由器,机顶盒,甚至是家里闲置的智能手机。 BLE的Internet功能使物联网更加可靠且易于实现。