当前位置:网站首页>蓝牙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就可以。
边栏推荐
猜你喜欢

scikit-image图像处理笔记

淘宝客APP带自营商城本地生活CPS外卖优惠电影票话费更新渠道跟单生活特权V3

After docker is deployed, mysql cannot connect
盒子模型小练习

Day9 of Hegong Daqiong team vision team training - camera calibration

深入分析若依数据权限@datascope (注解+AOP+动态sql拼接) 【循序渐进,附分析过程】

2022杭电多校六 1007-Shinobu loves trip(同余方程)

Linux中安装Redis教程

export使用

LaTeX image captioning text column automatic line wrapping
随机推荐
在STM32中使用printf函数
ndk编译so库
## 简讲protobuf-从原理到使用
邮件管理 过滤邮件
盒子模型小练习
Jenkins详细配置
Writing OpenCV in VSCode
MySql面试题总结
LaTeX笔记
【2022 DSCTF决赛wp】
LaTeX Notes
NACOS Configuration Center Settings Profile
Freeswitch操作基本配置
香港国际珠宝展及香港国际钻石、宝石及珍珠展揭幕
The NDK compiler so libraries
技术分析模式(十一)如何交易头肩形态
D41_buffer pool
【C语言】结构体变量数据通过 void* 传入到函数中
超简单的白鹭egret项目添加图片详细教程
长度以及颜色单位基本概念