前言
本文内容摘抄自前人笔记,暂略
蓝牙状态
经典蓝牙的基本状态如下:
- Page寻呼:主动对其它蓝牙设备发起连接
- Page Scan:可被其它蓝牙设备发起连接。(当设备处于Page Scan状态时,才能被发起Page的蓝牙设备连接)
- Inquiry扫描:主动搜索和发现周围的蓝牙设备。(通常由手机发起)
- Inquiry Scan:可被其它蓝牙设备搜索与发起连接。(当设备处于Inquiry Scan状态时,才能被发起Inquiry的蓝牙设备搜索)
- standby:蓝牙设备默认状态,此模式下设备处于低功耗状态
经典蓝牙不讲述广播概念,其广播过程可以理解为设备通过 Inquiry 和 Inquiry Scan 状态进行发现和建立连接的过程。
蓝牙连接
首次配对流程:
- 由手机发起Inquiry,搜索周围的蓝牙设备
- 蓝牙设备要处于Inquiry Scan状态,才能被手机搜索与发起连接
配对完成:手机和耳机都会记录配对信息,配对信息中包含对方的蓝牙地址
关键词Link Key
:Link Key 通常是在两个设备首次配对时生成的,用于身份验证和加密通信,便于后续回连
回连流程
即 Page 和 Pagescan
- 手机发起Page,设备处于Pagescan状态,即为手机回连设备
- 设备发起Page,手机处于Pagescan状态,即为设备回连手机
1 | 通常,手机蓝牙打开后,本身即在Inquiryscan、Pagescan状态来回切换 |
能够实现回连的前提下,是设备、手机双方都保存有Link Key
如果有任何一方取消配对或者清除配对记录,则无法回连,需要重新 Inquiry
TWS连接
inquiry inquiry scan
page
page scan
通常手机才会去 inquiry 扫描周围的设备
TWS配对时,两个设备分别在page和page scan来回切换,当有一个处于page,一个处于page scan时,则可以建立连接
TWS配对慢时,可能是因为状态切换周期过长,没卡上时间
TWS之使用公共地址
配置使用公共地址,核心是强配对状态,特点有如下:
- 可进行任意的主从角色切换,用于 主机设备关机、主机信号不好、主机电量相对较低等情况
主从切换
TWS之不使用公共地址
主从角色、手机介入
思考与拓展
杰理SDK之蓝牙连接相关代码
c表示page,设备主动进行TWS Page
cp表示tws状态回来切换配对中;小p表示设备处于tws_page_scan
I表示可搜索可发现连接
大P表示可被手机回连,即 page scan
C表示设备主动Page手机
Link Key是什么?
Link Key 通常是在两个设备首次配对时生成的,并且在后续的连接中用于快速建立信任关系
作用:身份验证、加密通信
TWS的MAC地址,使用公共地址和不使用公共地址的区别
local bt_addr common remote