赞
踩
Bluetooth Low Energy (BLE) 是从蓝牙 4.0 开始引入的技术,又被称为 Bluetooth Smart。与经典的蓝牙相比,BLE 主要的特点是能够在维持相对低的功耗的同时实现通信。BLE因为其低功耗特性成为了物联网领域的一项重要技术,为大量的设备提供了长时间的运行期。
现代智能手机中的蓝牙芯片一般被设计为“双模”(Dual-mode),这意味着它可以同时支持经典蓝牙和BLE。像蓝牙耳机这种需要连续、低延迟、稳定的、高带宽的数据传输使用的就是经典蓝牙协议,而智能手环、智能灯泡、门锁等物联网设备使用的就是低功耗蓝牙协议。
传统蓝牙 | BLE | |
---|---|---|
信道 | 79个信道 | 40个信道(37/38/39为广播信道) |
发现/连接 | 查询 | 广播 |
连接延时 | 100ms | 6ms |
最大数据率 | 1-3Mbps | 1Mbps |
工作距离 | 10米 | 最远100米 |
最大输出功率 | 100mW | 10mW |
主要应用 | 无线播放、无线控制器 | 智能家居、穿戴设备 |
下图就是蓝牙协议的架构,这个架构参考了OSI七层模型但又没完全OSI模型的所有层次,不过为了方便介绍,这里还是以OSI模型的框架进行介绍。
从下往上来说。
Attention: Baseband和LM都有建立和断开链接的功能不过需要注意的是Baseband处理的是物理电路的建立和断开。它确保无线电频率上的通信信号得以传输和接收。在这一层,数据被打包成合适的帧格式,并且有一定的流量控制以确保有效传输。而LM是在逻辑层面上处理连接的建立、管理和断开。这包括初始的设备查询、配对、身份验证、加密等。LM协商连接的详细参数,例如连接间隔、超时时间、角色切换等。
上图是BLE协议的架构,这里的协议不多就直接从下往上的一个一个介绍
在BLE中设备可以分为两类:中心设备、周边设变。我们将智能手表,智能门锁这类体积较小功耗较低的设备称为周边设备。对于手机这类具有相对较强运算能力的设备称为中心设备。
在上面的传统蓝牙与BLR对比表中有写到BLE的连接方式是以广播的形式进行连接。周边设备在没有与中心设备连接时会持续对外进行广播,而广播的状态可以分为四种:
当中心设备接收到广播中周边设备的广播信号时,就会发送一个SCAN_REQ信号,中文直译就是发了一个扫描请求包,如果周边当前设备可以被扫描,并且接收到了这个扫描请求包之后,就会向扫描请求包的发送方返回一个SCAN_RSP包,这个包里面一般是含有设备的生产厂商、版本号这类设备信息。中心设备接收到这些信息后会大概判断,比如如果中心设备使用的是米家的APP,接收到周边设备返回的厂家信息发现是华为的设备可能就会忽视掉这个广播信息,而如果周边设备返回的信息显示是小米生态链中的设备就会发送一个CONNECT_REQ包,向周边设备发起连接,连接成功后,周边设备在与主设备断开连接之前不再发起广播连接其他设备。此时中心设备被称为主设备,被连接的周边设备称为从设备。
在设备连接成功后,刚开始设备之间的信息传输都是以明文的方式进行传输,接下里会进入配对阶段,在配对开始的时候两个设备都会生成一个短期的密钥。这种短期的密钥(Short Term Key, STK)生成方式有四种:
在确定好密钥后下一步进入了加密阶段,此时设备两个设备都有了相同的短期密钥,然后双方根据固定的算法生成一个长期密钥。之后两个设备就会将明文的数据通过长期密钥进行加密,加密之后再进行传输。下一步就是绑定阶段,再绑定阶段中设备会将长期密钥存储起来,下次连接时直接使用之前生成的长期密钥进行密文传输。
关于BLE协议初探这篇文章的内容到这里就结束了,之后会更新一些物联网设备蓝牙协议分析的实操。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。