Bluetooth GAP介绍
目录
GAP Profile: Generic Access Profile ,该Profile保证不同的Bluetooth产品可以互相发现对方并建立连接
GAP定义了蓝牙设备如何发现和建立与其他设备的安全/不安全连接。
它处理一些一般模式的业务(如询问、命名和搜索)和一些安全性问题(如担保) ,同时还处理一些有关连接的业务(如链路建立、信道和连接建立) 。
GAP规定的是一些一般性的运行任务。因此,它具有强制性,并作为所有其它蓝牙应用规范的基础
1 GAP协议栈

GAP有如下四个目的
- Profile Role
- 可发现模式和过程
- 连接模式和过程
- 安全模式和过程
2 Profile Role
在BLE下,GAP Role有四种
- Broadcaster : 发送advertising events的设备(有Transmitter, 可能有Receiver)
- Observer : 接收advertising events的设备(可能有Transmitter, 有Receiver)
- Peripheral : 物理链路上接受连接的设备, 在LL层Connection State为Slave(有Transmitter和Receiver)
- Central : 物理链路上发起连接的设备, 在LL层Connection State为Master(有Transmitter和Receiver)
3 用户接口
用户可配置的参数如下
- Bluetooth Device Address : BD_ADDR
- Bluetooth Device Name : the user-friendly name
- Bluetooth Passkey : Bluetooth PIN
- Class of Device : 设备发现阶段用于指示设备类别和支持的设备类别
4 模式
发现模式(Discoverablity Modes)
- Non-discoverable Mode
- Discoverable Mode
- Limited discoverable Mode
- General discoverable Mode
连接模式(Connectability Modes)
- Non-connectable Mode
- Connectable Mode
配对模式(Bondable Modes)
- Non-bondable Mode
- Bondable Mode
5 安全
5.1 认证(Authentication)
认证过程,描述了两个蓝牙设备进行LMP认证和LMP配对的一般过程。过程如下:

5.2 安全模式
安全模式描述了Channel连接建立过程中的涉及的Secure问题
安全模式大体上可分为两种Legacy Security Modes(1、2、3)和Security Mode 4 ,
Legacy Security Modes用于Controller/Host不支持SSP(Secure Simple Pairing)
注意: 设备可能同时支持Security Mode 2(兼容不支持SSP设备)和Security Mode 4
详细有如下四种
- Security Mode 1 : Non-secure
- Security Mode 2 : Service level enforced security
- Security Mode 3 : Link level enforced security
- Security Mode 4 : Service level enforced security
6 Idle Mode Procedures
描述了发起方Inquiry和Discovery的过程
- General Inquiry
- Limited Inquiry
- Name Discovery
- Device Discovery
- Bonding
7 Establishment Procedures
进行下面过程之前需要Discovery过程提供远端设备如下信息
基本信息
- DB_ADDR、Device Access Code
- System Clock
- Page Scan Mode
附加信息
- The Class of device
- The Device name
- The supported Service Classes
有如下三种
- Link Establishment
- Channel Establishment
- Connection Establishment
8 BLE操作模式和过程
在LE物理层通道上可能同时存在多个模式和过程
- Broadcast mode and observation procedure
- Discovery modes and procedures
- Connection modes and procedures
- Bonding modes and procedures
====================== 华丽的分割线 =========================
笔者能力有限,对于GAP目前只能了解这么多
规范中有非常完整的描述
见Core System Package[Host volume] -Part C(Generic Access Profile)
Bluetooth GAP介绍的更多相关文章
- Bluetooth GATT介绍
目录 1. 介绍 2 内容 2.1 Configured Broadcast 2.2 GATT Profile Hierarchy 3 Service Interoperability Require ...
- Bluetooth ATT介绍
目录 1 介绍 2 详细内容 2.1 Attribute Type 2.2 Attribute Handle 2.3 Attribute Handle Grouping 2.4 Attribute V ...
- Bluetooth LMP介绍
目录 1. 介绍 2. 数据包格式(Packet Format) 3. Procedure Rules 4. 通用回应消息(General Response Messages) 5. 设备特性(Dev ...
- Bluetooth Baseband介绍
目录 1. 概述 1.1 Clock(时钟) 1.2 寻址方式 2. 物理信道(Physical Channels) 3. 物理链路(Physical Links) 4. 逻辑传输层(Logical ...
- Bluetooth HFP介绍
目录 1. 介绍 1.1 目的 1.2 使用场景 1.3 依赖关系 1.4 协议栈 1.5 角色 2. 应用层 3. 空白章节 4. 互操作性要求 4.1 介绍 4.2 Service Level C ...
- Bluetooth RFCOMM介绍
目录 1. 介绍 2. 服务概述 2.1 RS-232控制信号 2.2 Null Modem Emulation 2.3 多串口仿真 3. 服务接口描述 4. RFCOMM帧类型 5. RFCOMM帧 ...
- Bluetooth HCI介绍
目录 1. HCI功能 2. HCI Packet 1. HCI Command 2. HCI Event 3. HCI Data 3. HCI传输层 HCI, 主机控制接口(Host Control ...
- Bluetooth L2CAP介绍
目录 1. 通用操作 1. L2CAP Channel 2. 设备间操作 3. 层间操作 4. 操作模式 2. 数据包格式(Data Packet Format) 1. B-Frame 2. G-Fr ...
- Bluetooth SDP介绍
目录 1. 概念 2. 服务记录(Service Record) 3. 服务属性(Service Attribute) 4. 服务类(Service Class) 5. 服务查找 5.1 UUID 5 ...
随机推荐
- 分享Kali Linux 2016.2最新镜像201609
分享Kali Linux 2016.2最新镜像20160919 Kali Linux官方继9月9日发布Kali Linux 2016.2的第36周镜像W36后,9月19日发布了Kali Linux ...
- MVC ViewEngineResult实际上是一种设计
概述 MVC中, IView代表一个视图,最后是要表现为HTML或者其他的HttpResponse的应答流的: IViewEngine提供了类似工厂的作用或者提供器的作用,以返回一个视图. OO的视觉 ...
- android Intent.ACTION_SEND
ACTION_SEND intent 可以把自己的应用添加到系统的发送(分享)列表中. <intent-filter> <action android:name="andr ...
- linux eclipse cdt make error 127
不知道为啥,copy原来的eclipse环境到新的地方后,编译总是出错: make:*** error 127 解决方案是:属性Properties---C++编译 c++build---build ...
- Underscore.js 中 _.throttle 和 _.debounce 的差异
两个方法都是用来控制事件的频率的,在mousemove,resize等这种高频率触发事件中,控制其响应频率可以明显提高程序的流畅性,减少资源的占用. 通过分析其源代码: _.throttle方法源码 ...
- js html5推送 实例
<!DOCTYPE html> <html> <head> <title>Simple Webkit notification exampl ...
- silverlight 跨域访问 wcf
先介绍一下我的测试项目,我用flash和silverlight一同来调用一个webservice,一个flash客户端,一个silverlight客户端,一个web项目来host flash和silv ...
- 用edtftpj实现Java FTP客户端工具
edtftpj是一个java FTP工具包,使用非常方便,感觉比Apache的好用,但Apache更灵活.edtftpj有多种版本,分别是java..net和js版本.对于Java版的有一个免费版本. ...
- HTML5怎样在网页中使用摄像头功能
怎样在网页中使用摄像头,html5越来越多的使用到实际工作中,那么他怎样调用摄像头呢进行视频聊天,视频监控等活动呢,今天为大家抛砖引玉,教大家怎样实现怎样利用html5实现摄像头视频监控功能.废话不多 ...
- 如何"格式化"用过的磁带,让他被新磁带机重复利用
1. 2. 套用翁磊的话: 勾上表示和之前的磁带信息进行协商(但是会失败), 不勾则表示强行擦除.