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. 【HTML5】表单元素

    * datalist datalist 元素规定输入域的选项列表. 列表是通过 datalist 内的 option 元素创建的. 如需把 datalist 绑定到输入域,请用输入域的 list 属性 ...

  2. 移动端Web开发之我见

    Web比App简单? 前两天有人问手机上做网页简单还是做app简单,我真答不上来.很多人会不以为意的说当然是网页简单,但真的是这样吗? 放眼现在上线的手机网页,大多数都是平时pc的技术沿用过来的,鲜有 ...

  3. CountDownLatch、CyclicBarrier、Semaphore、Exchanger

    CountDownLatch: 允许N个线程等待其他线程完成执行.无法进行重复使用,只能用一次. 比如有2个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch ...

  4. Unity3D shader脚本

    Unity中的shader脚本,是用叫做shaderlab的脚本语言来写.这个unity中的shader不只是DX中HLSL写的顶点和像素shader,而应该说是对应着DX中的Effect脚本,定义了 ...

  5. windows下基于sublime text3的nodejs环境搭建

    第一步:先安装sublime text3.详细教程可自行百度,这边不具体介绍了. 第二步.安装nodejs插件,有两种方式 第一种方式:直接下载https://github.com/tanepiper ...

  6. CodeForces Round 195 Div2

    A. Vasily the Bear and Triangletime limit per test1 secondmemory limit per test256 megabytesinputsta ...

  7. Rain on your Parade

    Rain on your Parade Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 655350/165535 K (Java/Ot ...

  8. extjs grid

    Ext.onReady(function() { Ext.BLANK_IMAGE_URL = '../resources/images/default/s.gif'; Ext.QuickTips.in ...

  9. Android环境搭建要点

    1.JDK环境变量配置 在环境变量的path变量中加入jdk安装目录的bin路径字符串(C:\Program Files\Java\jdk1.8.0\bin). 配置好后,在命令提示符界面输入&quo ...

  10. 启用VTX技术支持启动android的虚拟机 - 报错

    第一次启用VTX技术支持启动android的虚拟机,启动时提示如下错误: Starting emulator for AVD 'AVD_for_Android_TV_1080p_by_Google'e ...