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介绍的更多相关文章

  1. Bluetooth GATT介绍

    目录 1. 介绍 2 内容 2.1 Configured Broadcast 2.2 GATT Profile Hierarchy 3 Service Interoperability Require ...

  2. Bluetooth ATT介绍

    目录 1 介绍 2 详细内容 2.1 Attribute Type 2.2 Attribute Handle 2.3 Attribute Handle Grouping 2.4 Attribute V ...

  3. Bluetooth LMP介绍

    目录 1. 介绍 2. 数据包格式(Packet Format) 3. Procedure Rules 4. 通用回应消息(General Response Messages) 5. 设备特性(Dev ...

  4. Bluetooth Baseband介绍

    目录 1. 概述 1.1 Clock(时钟) 1.2 寻址方式 2. 物理信道(Physical Channels) 3. 物理链路(Physical Links) 4. 逻辑传输层(Logical ...

  5. Bluetooth HFP介绍

    目录 1. 介绍 1.1 目的 1.2 使用场景 1.3 依赖关系 1.4 协议栈 1.5 角色 2. 应用层 3. 空白章节 4. 互操作性要求 4.1 介绍 4.2 Service Level C ...

  6. Bluetooth RFCOMM介绍

    目录 1. 介绍 2. 服务概述 2.1 RS-232控制信号 2.2 Null Modem Emulation 2.3 多串口仿真 3. 服务接口描述 4. RFCOMM帧类型 5. RFCOMM帧 ...

  7. Bluetooth HCI介绍

    目录 1. HCI功能 2. HCI Packet 1. HCI Command 2. HCI Event 3. HCI Data 3. HCI传输层 HCI, 主机控制接口(Host Control ...

  8. Bluetooth L2CAP介绍

    目录 1. 通用操作 1. L2CAP Channel 2. 设备间操作 3. 层间操作 4. 操作模式 2. 数据包格式(Data Packet Format) 1. B-Frame 2. G-Fr ...

  9. Bluetooth SDP介绍

    目录 1. 概念 2. 服务记录(Service Record) 3. 服务属性(Service Attribute) 4. 服务类(Service Class) 5. 服务查找 5.1 UUID 5 ...

随机推荐

  1. CodeForces 300C --数论

    A - A Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  2. asp.net控件开发基础(1)(转)原文更多内容

    asp.net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思. wrox网站上有本 ...

  3. mvc-1mvc和类(1)

    简单的控制器结构 var Controller = {}; //创建一个users控制器 (Controller.users = function ($) { var nameClick = func ...

  4. git将本地仓库上传到远程仓库

    在已有的Git库中搭建新库,并且将本地的git仓库,上传到远程服务器的git库中,从而开始一个新的项目 首先,在本地新建文件夹abc,进入到abc里面,然后git init.这样就在本地初始化了一个g ...

  5. UVa1401 Remember the Word(DP+Trie树)

    题目给定一个字符串集合有几种方式拼成一个字符串. dp[i]表示stri...strlen-1的方案数 dp[len]=1 dp[i]=∑dp[j](stri...strj-1∈SET) 用集合的字符 ...

  6. SPOJ287 Smart Network Administrator(最大流)

    题目大概是说,一个村庄有n间房子,房子间有m条双向路相连.1号房子有网络,有k间房子要通过与1号房子相连联网,且一条路上不能有同样颜色的线缆,问最少要用几种颜色的线缆. 二分枚举颜色个数,建立容量网络 ...

  7. OGRE: "OgreOverlaySystem.h": No such file or directory

    这两天学习OGRE,遇到"OgreOverlaySystem.h": No such file or directory的错误. 这是由于OGRE提供的例子过老,和SDK版本不一致 ...

  8. setTimeout()和setInterval() 何时被调用执行

    定义 setTimeout()和setInterval()经常被用来处理延时和定时任务.setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则可以在每隔 ...

  9. wp7 HubTile

    在最新的Windows Phone Toolkit中我们可以看到HubTile这个控件,首先先了解下什么是HubTile,简单来说,就是允许你给你的应用程序添加些生动或富有意义的瓦片(Tile).Hu ...

  10. python 获取类的属性

    如果不清楚一个对象是否拥有某个属性,可以使用内置函数hasattr 访问一个对象的属性的方法是通过特别属性__dict__,它是一个映射,将属性名称映射到属性值 为了调试方便,可以添加下面这个函数 d ...