GAP Roles
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GAP Roles相关的知识,希望对你有一定的参考价值。
一、四种GAP角色
广播者:发送广播数据包,必须有发送器。
观察者:扫描广播者,报告广播信息给应用,必须有接收器。
外部设备:发送可连接的广播数据包,一旦被连接将作为从机,必须有发送和接收器。
中心设备:对外设发起连接,连接之后作为主机,必须有发送和接收器。
一个设备能同时支持多个GAP角色,比如,一个设备能同时作为广播者和外部设备。
二、模式和进程
模式:一个设备被配置成某种确定的运行方式
进程:单个执行动作且有限定的时间
在GAP内,有下列模式:
广播模式,
不可发现模式,
有限的可发现模式,
通用的可发现模式,
不可连接模式,
直接可连接模式,
间接可连接模式,
不可绑定模式,
可绑定模式。
在GAP内,有下列进程:
观察进程,
有限的发现进程
通用的发现进程
名称发现进程
自动连接建立进程
通用的连接建立进程
可选择的连接建立进程
直接连接建立进程
连接参数更新进程
终止连接进程
绑定进程
1、广播模式和观察进程
在没有接收器的设备中,广播数据不能使用私有地址和带符号数据。
2、可发现性
在GAP中,设备仅仅在外设角色下才是可发现的,试图发现这些设备就是中心设备角色。
一个外设可以工作在三个可发现模式之一:不可发现模式,有限的可发现模式,通用的可发现模式。广播数据中有2位用来标记可发现模式。这里的可发现性是对GAP来说的,并不是广播数据不能被观察者接收到。
不可发现模式是缺省模式,在此模式下两位标志也可不比包含在广播数据中。如果要变化成其他模式需要主机给控制器发送命令。
有限的可发现模式,仅仅能存在约30秒,在此模式下的设备很可能是有用户操作的设备,那么这个设备很可能是用户想连接的设备。在此模式下,广播间隔应该合理,以使用户界面能被快速填充,主机设备能节省时间,推荐在250ms-500ms。不可使用白名单。
通用的可发现模式,与有限可发现模式比较,此模式存在的时间无限制,同时广播间隔推荐为1.28S-2.56S。此模式下,设备被发现很慢,在设备列表中,有限可发现模式的设备排在前,通用的可发现模式设备排在后。
可发现进程,有限的发现进程能发现有限的可发现模式设备,忽视通用的可发现模式设备。通用的发现进程既能发现有限的可发现模式设备,也能发现通用的可发现模式设备。
3、可连接性
在GAP中,只有外设能使用可连接模式。中心设备使用连接建立进程来连接外设。链路层提供了两种可连接的广播包:ADV_IND和ADV_DIRECT_IND。两种不可连接的广播包:ADV_NONCONN_IND和ADV_SCAN_IND。缺省为不可连接模式,使用ADV_NONCONN_IND和ADV_SCAN_IND广播包。
直接可连接模式下,不能使用可发现模式,因为此广播包没有主机的参与。 模式存在时间最大为1.28S,之后应变换成间接可连接模式。广播包中包含外设地址和中心设备地址,因此使用此模式前,外设应该被连接过。
间接可连接模式,工作在连接不需要非常迅速同时降低功耗时,可以同时在可发现模式。
自动连接建立进程, 用于同时和大量外设建立连接。缺点是只能使用同一连接参数,不能连接使用私有地址的设备。基于此,连接的外设应尽可能相同连接参数。
通用连接建立进程, 使用被动扫描的方式发现全部设备。对于使用可解析的私有地址的设备,如果地址解析完成,主机停止扫描后,使用直接连接建立进程与之连接。
可选择的连接建立进程,不同于自动连接建立进程,此进程能使用不同的连接参数同时与大量设备连接。在确认外设可连接后,使用直接连接建立进程携对应参数与之连接。需要两个广播包才能建立连接,没能解决私有地址问题。
直接连接建立进程,用于与单个指定的设备建立连接,被通用连接建立进程和可选择的连接建立进程使用。
4、绑定
以上是关于GAP Roles的主要内容,如果未能解决你的问题,请参考以下文章