蓝牙5.0与蓝牙4.2对比:
Speed * 2: 2Mbps
Range * 4:100m
Data * 8
应用:
- 配合wifi进行室内定位,精度可达1m以内;
- 通过蓝牙组网,可以范围无限远,如智能灯光控制系统
蓝牙协议栈
什么叫协议栈:实现蓝牙协议的代码。
协议栈分层:
协议栈共分为3层:
- 控制层(controller layer)
PHY: physical layer 物理层->射频相关RF,调制modulation与解调demodulation
LL: link layer 连接层->接受与发送的数据包入口
HCI: host controller interface-> 允许蓝牙芯片与其他的操作系统或者电脑通过USB或Firewire交互。 - 主协议栈层(Host protocol stack layer)
GAP: Generic attribute profile:对LL层的payload 进行解析resolve;如广播,扫描,发起连接等等。
ATT: Attribute 定义用户的命令和操作,attribute描述的是一条条的数据。
GATT: 规范ATT, 对ATT进行分组管理,与profile应用层互通
L2CAP: Logic link and control adaption protocol: 对LL的数据封装,数据走加密通道,连接间隔等
SMP:Secure manager protocol 连接加密和安全层 - 应用层(profile layer)
Public:SIG小组定义的蓝牙任务
Private:自定义蓝牙任务
蓝牙通信
角色:
- 主机:scanner ,扫描从机,发起连接
- 从机:advertiser,周期性发广播,等待连接
从机广播:
从机周期性发送广播包,每发次广播包叫广播事件,其他时间处于idle状态,降低功耗。
广播发出:每一个广播事件包括三个相同的广播包,分别从37、38、39的三个通道上同时发广播。每一个广播间隔后,重新发一个广播。