佛系学习,想学就学,不想学就不学。
core_v5.0 vol 3. Part C
GAP:Generic access profile,通用访问协议,定义了基本过程,包括设备发现,链路管理,配置,安全设置等。
LIAC:Limited Inquiry Access Code,受限查询接入码
GIAC:Generic Inquiry Access Code,通用查询接入码
UUID:Universal Unique Identifier,通用唯一标识符
Peripheral:外围设备
Central:中央设备
(1)User Interface:用户接口,蓝牙设备上显示蓝牙相关术语和参数名称、取值和数字表示的地方。
(2)BD_ADDR:Bluetooth Device Address,蓝牙设备地址
(3)Bluetooth Device Name,蓝牙设备名称
(4)Bluetooth Passkey,Bluetooth PIN,蓝牙配对秘钥
(5)Class of Device,设备类型,在设备发现过程中,BR/EBR物理传输上接收到的一个参数。
(6) Appearance Characteristic,外观特性
(1)广播者:Broadcaster Role,设备正在发送advertising events。
(2) 观察者:Observer Role,设备正在接收advertising events。
(3)外围设备:Peripheral Role,设备接受Link Layer连接(对应Link Layer的slave角色)。
(4)中心设备:Central Role,设备发起Link Layer连接(对应Link Layer的master角色)。
BR/EDR模式有四种:可发现、可连接、可绑定、 可同步。
(1)可发现模式:蓝牙设备响应远端设备查询请求的模式,包括不可发现模式和可发现模式。其中可发现模式包括通用可发现模式和受限可发现模式。
Non-discoverable Mode:不可发现模式。该模式下,设备不会进入INQUIRY_SCAN状态。
① 用户界面术语:non-discoverable 或 non-discoverable mode
Limited Discoverable Mode:受限可发现模式。该模式下,设备只会在有限的时间内,某个特殊事件或临时条件下可被发现。
① 用户界面术语:discoverable 或 discoverable mode
② 该模式可响应使用受限查询接入码(LIAC)和通用查询接入码(GIAC)进行查询的设备。LIAC和GIAC扫描可串行,可并行。
③ 并行:若相对于功耗和带宽而言,查询速度更重要时,建议至少每TGAP(105)进入一次 INQUIRY_SCAN状态,且进行隔行查询扫描。
④ 并行:若功耗或带宽比较重要,但不是特别严格时,建议至少每TGAP(102)进入一次INQUIRY_SCAN状态,且进行隔行查询扫描。
⑤ 并行:若功耗或带宽比较严格时,建议至少每TGAP(102)进入一次 INQUIRY_SCAN状态,且进行非隔行查询扫描。
⑥ 串行:每TGAP(102)至少进入一次 INQUIRY_SCAN状态,且每TGAP(101)至少扫描一次GIAC;通常每TGAP(102)进入多次 INQUIRY_SCAN状态,并每TGAP(101)至少扫描一次LIAC。
⑦ 当操作模式处于SCO或eSCO时,建议使用隔行扫描模式,以减少发现时间。
General Discoverable Mode:通用可发现模式,该模式下总会被发现。
① 用户界面术语:discoverable 或 discoverable mode
② 该模式可响应使用GIAC进行查询的设备,不响应使用LIAC进行查询的设备。
③ 若相对于功耗和带宽而言,查询速度更重要时,建议至少每TGAP(105)进入一次 INQUIRY_SCAN状态,且进行隔行查询扫描。
④ 若功耗或带宽比较重要,但是特别严格时,建议至少每TGAP(102)进入一次 INQUIRY_SCAN状态,且进行隔行查询扫描。
⑤ 若功耗或带宽特别严格时,建议至少每TGAP(102)进入一次 INQUIRY_SCAN状态,且进行非隔行查询扫描。
⑥ 至少每TGAP(102)进入一次 INQUIRY_SCAN状态,且至少每TGAP(101)扫描一次GIAC。
(2)可连接模式,蓝牙设备响应远端设备寻呼的模式,包括不可连接模式和可连接模式。
Non-connectable Mode:该模式下,设备不会进入PAGE_SCAN状态。
① 用户界面术语:non-connectable或non-connectable mode
Connectable Mode:该模式下,设备周期性地进入PAGE_SCAN状态。
① 用户界面术语:connectable或connectable mode
② 设备使用蓝牙设备地址BD_ADDR进行寻呼扫描。
③ 连接速度取决于功耗和可用带宽的权衡,由寻呼扫描间隔、寻呼扫描窗口以及隔行扫描参数决定。
④ 不同场景下寻呼扫描参数表格如下图所示
(3)可绑定模式,蓝牙设备响应远端设备发起的绑定请求,包括不可绑定模式和可绑定模式。
(4)可同步模式,蓝牙设备是否进入同步训练子状态,包括不可同步模式和同步模式。
Non-synchronizable Mode:该模式下设备不会进入同步训练(synchronization train)状态。
① 用户界面术语:non-synchronizable 或 non-synchronizable mode
Synchronizable Mode:该模式下设备可进入同步训练(synchronization train)状态。
① 用户界面术语:synchronizable 或 synchronizable mode
② 若同步训练使能,则每TGAP(Sync_Train_Interva)至少同步一次。
(1) 通用查询过程,用于获取通用发现设备或限制发现设备的地址、时钟、设备类型、寻呼扫描模式和扩展查询响应信息。
(2) 限制查询,用于获取限制发现设备的地址、时钟、设备类型、寻呼扫描模式和扩展查询响应信息。
(3) NAME DISCOVERY,该过程通过向已知可连接设备发送名字请求,从而用于获得设备名称。
(4) DEVICE DISCOVERY,用于获取可发现设备的地址、时钟、设备种类、寻呼扫描模式、名称以及扩展查询响应信息。
(5) 绑定,通过同一链路秘钥将两个设备绑定在一起。绑定分为通用绑定和专用绑定。
用户界面术语:Bluetooth authentication
链路秘钥在绑定过程中生成和交换。
执行该过程的设备都需要支持安全简单配对。
在执行该过程前,需要执行设备查找。发起绑定过程的设备发起限制查询过程,接受绑定的设备支持限制发现模式。
发起绑定过程的设备需要发起鉴权。
通用绑定:因业务访问需要建立信道连接时,发起的绑定过程。
① 若安全策略为available local service requires MITM Protection,则Authentication_Requirements参数MITM Protection Required设置为MITM Protection Required – General Bonding,否则设置为MITM Protection Not Required – General Bonding。
② 通用绑定过程:
专用绑定:仅仅为了配对。
① 若安全策略为available local service requires MITM Protection,则Authentication_Requirements参数MITM Protection Required设置为MITM Protection Required – Dedicated Bonding,否则设置为MITM Protection Not Required – Dedicated Bonding。
② 专用绑定过程:
LE模式和过程有5种:广播模式和观察过程、发现模式和过程、可连接模式和过程、可绑定模式和过程、周期性广播模式和过程。
(1)广播模式和观察过程:该模式和过程允许两个设备通过广播事件(advertising events)以单向无连接的方式进行通信。
Broadcast Mode:广播模式,该模式通过广播事件发送无连接数据。
① 可匿名发送不可连接和扫描的定向或非定向广播事件。
② 广播数据使用AD(Advertising Data)类型格式进行组装。LE Limited Discoverable Mode和LE General Discoverable Mode这两个标志位不需要设置。
Observation Procedure:观察过程,通过该过程设备可接收无连接数据。
① 可通过被动或主动扫描方式来接收广播事件。
② 可通过主动扫描方式来接收通过扫描广播事件发送的扫描响应数据。
③ 若收到了可解析的私有地址,则对该地址进行解析。
(2)发现模式和过程,一个设备要么处于不可发现模式,要么处于发现模式。发现模式分为限制发现模式和通用发现模式。
Non-Discoverable Mode:处于不可发现模式的设备不会被任何设备发现,也不会执行通用发现过程和限制发现过程。
① 处于不可发现模式的设备,可发送广播事件。
② 参数设置:广播过滤策略(advertising filter policy)为 “process scan and connection requests only from devices in the White List” 或“process scan and connection requests from all devices”;广播间隔(advertising intervals)。
Limited Discoverable Mode:当设备执行限制或通用发现过程,处于限制可发现模式的设置在一个限制时间段可被发现。
① 支持该模式的设备角色:外围设备。其余不支持。
② 该模式下的设备发送广播事件时,需填写Flags AD type 。
③ 为了更快的连接体验,AD type中需要填写TX Power Level AD type,Local Name AD type,Service UUIDs AD type,Slave Connection Interval Range AD type。
④ 参数设置:广播过滤策略(advertising filter policy)为 “process scan and connection requests from all devices”;广播间隔(advertising intervals)。
General Discoverable Mode:设备在很长的一段时间内可被发现。其余情况同限制可发现模式。
Limited Discovery Procedure:该过程用于接收来自限制可发现模式设备的设备地址、广播数据和扫描响应数据。
① 支持该过程的设备角色:中央设备。其余不支持。
② 建议在设备支持的所有物理信道上进行扫描。
③ 参数设置:scanner filter policy – process all advertising packets,scan interval ,scan window, active scanning。
④ Host检查广播数据中的Flags AD type。若该标志位存在,且LE Limited Discoverable Flag设置为1,则认为该设备为发现设备。
⑤ 广播数据中可能包含Service UUIDs AD type, TX Power Level AD type, Local Name AD type, Slave Connection Interval Range AD type等参数。
General Discovery Procedure:该过程用于接收来自限制可发现模式或通用可发现模式设备的设备地址、广播数据和扫描响应数据。
① Host检查广播数据中的Flags AD type。若该标志位存在,且LE Limited Discoverable Flag或LE General Discoverable Mode flag设置为1,则认为该设备为发现设备。
Name Discovery Procedure:用于获取远端可连接蓝牙设备的名称。执行该过程的步骤:
① Host发起建立连接;
② Host使用GATT Read Using Characteristic UUID过程读取设备名称;
③ GATT过程完成后,断开连接。
(3)连接模式和过程,包括3种模式和5种过程。
Connection parameter update procedure:该过程允许外围设备或中央设备更新LL层连接参数。
① 中央设备必须支持该过程,外围设备可支持该过程,其余不支持该过程。
② 若中央和外围都支持Connection Parameters Request Link Layer Control过程,则中央和外围可使用Connection Parameters Request Link Layer Control过程发起连接参数更新过程;
③ 若中央和外围并非都支持Connection Parameters Request Link Layer Control过程,则中央设备使用Link Layer Connection Update过程发起连接参数更新过程。
④ 若中央和外围并非都支持Connection Parameters Request Link Layer Control过程,则外围可使用L2CAP Connection Parameter Update Request命令发起连接参数更新过程 。
Terminate connection procedure
(4)绑定模式和过程。绑定,即设备双方通过交换和存储安全和身份信息,从而建立可信任的关系。
Non-Bondable Mode:该模式不接受绑定请求。
① 中心设备和外围设备都需要支持该模式。
② 若设备不支持配对,则认为该设备不可绑定。
③ 若设备支持安全管理配对,但Bonding_Flags设置为No Bonding,则不需要交换和存储绑定信息。
Bondable Mode
① 在绑定过程中,Bonding_Flags设置为Bonding。
Bonding Procedure
① 外围设备和中心设备可支持该过程,广播者和观察者不支持该过程。
(5)周期性广播模式和过程,该模式和过程允许两个和多个设备使用扩展性广播事件或周期性广播事件以非定向无连接的方式进行通信。