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 ...
随机推荐
- CodeForces 300C --数论
A - A Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- asp.net控件开发基础(1)(转)原文更多内容
asp.net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思. wrox网站上有本 ...
- mvc-1mvc和类(1)
简单的控制器结构 var Controller = {}; //创建一个users控制器 (Controller.users = function ($) { var nameClick = func ...
- git将本地仓库上传到远程仓库
在已有的Git库中搭建新库,并且将本地的git仓库,上传到远程服务器的git库中,从而开始一个新的项目 首先,在本地新建文件夹abc,进入到abc里面,然后git init.这样就在本地初始化了一个g ...
- UVa1401 Remember the Word(DP+Trie树)
题目给定一个字符串集合有几种方式拼成一个字符串. dp[i]表示stri...strlen-1的方案数 dp[len]=1 dp[i]=∑dp[j](stri...strj-1∈SET) 用集合的字符 ...
- SPOJ287 Smart Network Administrator(最大流)
题目大概是说,一个村庄有n间房子,房子间有m条双向路相连.1号房子有网络,有k间房子要通过与1号房子相连联网,且一条路上不能有同样颜色的线缆,问最少要用几种颜色的线缆. 二分枚举颜色个数,建立容量网络 ...
- OGRE: "OgreOverlaySystem.h": No such file or directory
这两天学习OGRE,遇到"OgreOverlaySystem.h": No such file or directory的错误. 这是由于OGRE提供的例子过老,和SDK版本不一致 ...
- setTimeout()和setInterval() 何时被调用执行
定义 setTimeout()和setInterval()经常被用来处理延时和定时任务.setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则可以在每隔 ...
- wp7 HubTile
在最新的Windows Phone Toolkit中我们可以看到HubTile这个控件,首先先了解下什么是HubTile,简单来说,就是允许你给你的应用程序添加些生动或富有意义的瓦片(Tile).Hu ...
- python 获取类的属性
如果不清楚一个对象是否拥有某个属性,可以使用内置函数hasattr 访问一个对象的属性的方法是通过特别属性__dict__,它是一个映射,将属性名称映射到属性值 为了调试方便,可以添加下面这个函数 d ...