前言
最近刚好一直在研究蓝牙相关的内容,所以想来和大家一起分享。首先我们依然以基础概念开始,因为一头扎进代码,只会让你不知所措!
BR/EDR和BLE
1)经典蓝牙(BR/EDR):
泛指支持蓝牙协议在 4.0 以下的模块,一般用于数据量比较大的传输,比如:语音、音乐等。所以像蓝牙音箱之类的,里面的芯片都支持经典蓝牙。
2)低功耗蓝牙(BLE):
指支持蓝牙协议 4.0 或更高的模块,也称为 BLE 模块,最大的特点是成本和功耗的降低,应用于实时性要求比较高的产品中,比如:手环,蓝牙灯等设备。目前在物联网应用中使用很广泛。
简单理解就是平时听音乐和打电话时用的就是经典蓝牙,像智能手环用的就是低功耗蓝牙(从一次电可以用很久)。
*注意: 分别工作在经典蓝牙模式和低功耗蓝牙模式的两个蓝牙模块是无法互相连接的。
下表是参数对比:
技术规范 | 典型蓝牙 | 低耗电蓝牙 |
---|---|---|
无线电频率 | 2.4 GHz | 2.4 GHz |
距离 | 10米/100米 | 30米 |
空中数据速率 | 1-3 Mb/s | 1 Mb/s |
应用吞吐量 | 0.7-2.1 Mb/s | 0.2 Mb/s |
节点/单元 | 7-16,777,184 | 未定义(理论最大值为2^32) |
安全 | 64/128-bit及用户自定义的应用层 | 128-bit AES及用户自定义的应用层 |
强健性 | 自动适应快速跳频,FEC,快速ACK | 自动适应快速跳频 |
延迟(非连接状态) | 100 ms | <6 ms |
发送数据的总时间 | 0.625 ms | 3 ms |
认证机构 | 蓝牙技术联盟(Bluetooth SIG) | 蓝牙技术联盟(Bluetooth SIG) |
语音能力 | 有 | 没有 |
网络拓扑 | 分散网 | 星状拓扑(Star)总线拓扑(Bus)网状拓扑(Mesh) |
耗电量 | 1(作为参考) | 0.01至0.5(视使用情况) |
最大操作电流 | <30 mA | <15 mA(最高运行时为15 mA) |
单模和双模
单模蓝牙模块:是指支持蓝牙某一种协议的模块;
双模蓝牙模块:是指同时支持经典蓝牙(BT)和低功耗蓝牙(BLE)协议的模块。
蓝牙协议栈
蓝牙协议栈依照其功能可分四层:
- 核心协议层(HCI、LMP、L2CAP、SDP)
- 线缆替换协议层(RFCOMM)
- 电话控制协议层(TCS-BIN)
- 选用协议层(PPP、TCP、IP、UDP、OBEX、IrMC、WAP、WAE)
蓝牙Profile
这里的Profile在维基百科上给出的翻译是”规范”,它是指蓝牙通信在那一种用途下应该使用的通信协议和相关的规范。Profile目的是要确保蓝牙设备间的互通性。但蓝牙产品无须实现所有的Profile。
比如:我们听音乐时,蓝牙要工作在A2DP 这个规范下;蓝牙串口模块,要工作在SPP这个规范。
可以理解为蓝牙大协议下的一些子协议。
iBeacon
iBeacon 是苹果公司推出的一项室内定位技术,可以让附近的手持电子设备检测到由一个iBeacon 信号发射器发出的蓝牙信号,从而大大提高室内精度,从原来的几百米,几十米,提高到一米以内的定位精度,它采用了基于蓝牙4.0的低功耗蓝牙技术(BLE), 主要是用作辅助室内定位的功能。这种技术目前也被用于商家推广!