当前位置:网站首页>蓝牙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就可以。
边栏推荐
猜你喜欢
随机推荐
自营商城提高用户留存小技巧,商城对接小游戏分享
Hong Kong International Jewellery Show and Hong Kong International Diamond, Gem and Pearl Show kick off
概率与期望部分题解
武田公司2022财年第一季度业绩强劲;正稳步实现全年的管理层指引目标
(2022杭电多校六)1010-Planar graph(最小生成树)
MySQL:JDBC编程
腾讯实习总结
LaTeX笔记
h5页面回退到微信小程序并携带参数
八大排序之快速排序
关于Antd的Affix突然不好用了,或者Window的scroll监听不好用了
typescript62-泛型工具类型(record)
Rapid Medical超小体积且唯一可调的取栓器获得FDA核准
【FAQ】CCAPI Compatible EOS Camera List (Updated in August 2022)
Nacos配置服务的源码解析(全)
自媒体人一般会从哪里找素材呢?
Source code analysis of Nacos configuration service (full)
JS控制只能输入数字并且最多允许小数点两位
Unable to import torchvision. IO. Read_image
MyCat配置文件









