摘要: 摘自文档 1. pairing: 苹果手机无法主动发起SMP配对流程,可通过以下两种方式发起配对流程: (1)从端主动发起配对流程; (2)从端在收到主端ATT指令后,返回SMP FAIL(错误码看SIG规范)给苹果手机,则苹果会重新发起配对流程。 2. Connection Parameters: 苹果的连接间隔默认为30ms,如果要更新,需要满足如下要求,且最小可以申请到20ms,如果... 阅读全文
posted @ 2019-04-24 19:05 unrulife 阅读(4999) 评论(0) 推荐(0) 编辑
摘要: 以蓝牙4.0为例说明: BLE包格式有:广播包、扫描包、初始化连接包、链路层控制包(LL层数据包)、逻辑链路控制和自适应协议数据包(即L2CAP数据包)等; 其中广播包又分为:定向广播包和非定向广播包; 逻辑链路控制和自适应协议数据包又分为:ATT指令包、信令指令包、SMP包; 1. 首先,所有的包都符合如下格式: 2. 广播包: 3. 非定向广播包: 4. 定向广播包: 5. 扫描包: ... 阅读全文
posted @ 2019-04-24 18:15 unrulife 阅读(11342) 评论(1) 推荐(1) 编辑
摘要: 一直搞不太清楚蓝牙BLE协议,不知道LL层和L2CAP层是如何划分的,后来博士给我讲了讲就理解了,写下来,做个记录: 1. 我们知道,除了蓝牙5.1新出的CTE,所有的BLE都是如下类型的包: 对于连接后的通讯包,PDU的最前面两个字节为header,header的最前两个bit为LLID,蓝牙BL 阅读全文
posted @ 2019-04-24 17:53 unrulife 阅读(5049) 评论(4) 推荐(0) 编辑
摘要: 一、基础知识: 我没找到蓝牙5.0的ATT数据格式图片,在蓝牙4.0的基础上做修改吧,如下图所示: 二、测试与分析: 参数设置: data length = 251字节,MTU = 247字节, GAP Event Length = 500ms, PHY = 2Mbps, connection event length extension = enable,Connection I... 阅读全文
posted @ 2019-04-24 16:57 unrulife 阅读(2228) 评论(0) 推荐(0) 编辑
摘要: 一、基础知识: 【1】Data Length:物理层发送一包数据的最大值; 【2】MTU: ATT层发送一次数据长度的最大值; 【3】GAP Event Length:一个connection event中多包持续最大时间,相应的限制了每个连接间隔中间的最大包数; 【4】PHY : 物理层发送速率, 阅读全文
posted @ 2019-04-24 15:11 unrulife 阅读(10189) 评论(7) 推荐(0) 编辑