当前位置:网站首页>蓝牙gap协议
蓝牙gap协议
2022-08-05 06:11:00 【aningxiaoxixi】
**
数据报文 **
(从 payload 里面的 advdata 开始才是 gap 层定义的,之前都是 ll 层定义的)
pdu type 传输的数据类型
0 普通广播数据
1定向广播数据 (数据传到某个指定设备)
2 不可连接的广播数据
payload 格式分析
adva表示广播者的地址
advdata 广播者数据
表示 data 里面的 data type
0 有限发现模式
1 通用发现模式
从上表,物理层表格可以看出
广播者 必须要有发送属性(可以理解为有发送器)
观察者必须要有接收属性 (可以理解为有接收器)
中心设备跟外围设备都要有 发送属性跟接收属性
广播事件
Non-connectable and non-scannable undirected event
不可链接的,不可扫描的,无向事件
规程
observation procedure 有2个方法
1 主动扫描:
观察者先通知广播者,再扫描广播者
2 被动扫描:
观察者只是扫描广播者
模式和规程
分为
1 不可发现模式
2 限制可发现模式
3 普通可发现模式
Connection modes and procedures 连接模式和规程
Non-Connectable Mode
不可连接模式Directed Connectable Mode
定向连接模式,
如果希望快速连接中央设备,外围设备可以使用该模式。
在该模式下,它发出ADV_DIRECT_ADV广播报文,直接发给指定的中央设备。
所以,该外围设备应该曾经与该中央设备建立过连接。
ADV_DIRECT_ADV广播报文的发送频率很快,该模式最多持续1.28S,之后控制器自动停止广播。Undirected Connectable Mode
无向连接模式。
如果一个外围设备无需快速建立连接,或者打算尽可能地省电,则可以使用该模式。
它发出ADV_IND广播报文。Auto Connection Establishment Procedure
自动连接建立规程。
中央设备使用该规程来设置控制器,从而向一个或多个外围设备,自动地建立连接。Host需要事先把想要连接的设备,写入“白名单”中。
它有个缺点:对所有的设备,都只能使用一套基本连接参数。General Connection Establishment Procedure
一般连接建立规程。
这是我们常用的规程,先扫描出设备,选中某一个,然后使用“直接连接建立规程”去连接它。Selective Connection Establishment Procedure
选择性连接建立规程。
Host先把想连接的设备放入Controller的“白名单”。正在广播的设备,只有在白名单上的才会被提交给Host。
Host决定是否连接该设备,并使用不同的参数去连接它。相比于“自动连接建立规程”,“选择性连接建立规程”可以使用不同的参数连接每一个设备。Direct Connection Establishment Procedure
定向连接建立规程,直接去连接指定的设备。Connection Parameter Update Procedure
连接参数更新规程。Terminate Connection Procedure
终止连接规程。
中央设备或外围设备都可以执行该规程,通过LL层向对方发出LL_TERMINATE_IND PDU就可以。
边栏推荐
猜你喜欢
随机推荐
【内推】新相微电子
【2022 DSCTF决赛wp】
Nacos cluster construction
VSCode编写OpenCV
LaTeX image captioning text column automatic line wrapping
Matplotlib绘图笔记
Matplotlib plotting notes
AH8669-AC380/VAC220V转降5V12V24V500MA内电源芯片IC方案
日本卫生设备行业协会:日本温水喷淋马桶座出货量达1亿套
After docker is deployed, mysql cannot connect
typescript62-泛型工具类型(record)
超简单的白鹭egret项目添加图片详细教程
数据库多表关联插入数据
(四)旋转物体检测数据roLabelImg转DOTA格式
UI刘海屏适配方式
技术分析模式(九)三重顶部和底部
h5页面回退到微信小程序并携带参数
自媒体人一般会从哪里找素材呢?
防抖函数和节流函数
女生做软件测试会不会成为一个趋势?