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 ...
随机推荐
- 利用mapreduce将数据从hdfs导入到hbase遇到的问题
现象: 15/08/12 10:19:30 INFO mapreduce.Job: Job job_1439396788627_0005 failed with state FAILED due to ...
- Eclipse开发,利用WordWrap设置自动换行
安装 WordWrap : Help → install new Software→http://ahtik.com/eclipse-update/ 安装成功后,重启Eclipse,鼠标右键开启自动换 ...
- mvc-2事件监听
现代浏览器都支持的事件 click dbclick mouseover mousemove mouseout focus blur change(表单输入框特有) submit(表单特有) addEv ...
- Buy the Ticket
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...
- django 代码片段3
#coding=utf-8 # 没有++ 和--其他的都一样 foo=1 show_output=True if show_output and foo==1: print 'pyhont and % ...
- unity 翻牌游戏(全都是gui)
;//列数 ;//行数 ;//所有卡片的数量 var matchesNeededToWin:int = totalCards*0.5;//最大匹配数,用来判断游戏是否胜利 ; ; ; var aCar ...
- 【BZOJ】3319: 黑白树
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 题意:给一棵n节点的树(n<=1e6),m个操作(m<=1e6),每次操作有两种: ...
- QT基本使用
安装方法: ubuntu12.04下安装QT方法:http://blog.csdn.net/xsl1990/article/details/8299756 输入以下命令: sudo apt-get i ...
- Cobar_基于MySQL的分布式数据库服务中间件
Cobar是阿里巴巴研发的关系型数据的分布式处理系统,是提供关系型数据库(MySQL)分布式服务的中间件,该产品成功替代了原先基于Oracle的数据存储方案,它可以让传统的数据库得到良好的线性扩展,并 ...
- Mina传递对象
利用Apache MINA来传递对象,这对了MINA来说非常容易,并且这也是Java网络编程中很常用的应用. 首先看两个用来传递的Java对象MyRequestObject和MyResponseObj ...