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. JVM的类加载机制

    虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 类加载的过程: 包括加载.链接(含验证.准备 ...

  2. HTTP基础01--web与互联网基础

    WWW构建技术: 把SGML(标准通用标记语言)作为页面文本标记的HTML(超文本标记语言): 作为文档传递协议的HTTP(超文本传输协议):  //严谨应该称为“超文本转移协议”: 指定文档所在地址 ...

  3. Xamarin.Android提示找不到mono.Android.Support.v4

    Xamarin.Android提示找不到mono.Android.Support.v4 错误信息:Error: Exception while loading assemblies: System.I ...

  4. Linux部署项目简要记录【只是步骤没有配图】

    1.服务器(192.168.1.197)新建数据库jspxcms_1206,导入数据2.eclipse打war包3.上传war包到/home/app/apache-tomcat-7.0.68/weba ...

  5. ural 1433. Diamonds

    1433. Diamonds Time limit: 1.0 secondMemory limit: 64 MB Sasha is lucky to have a diamond in the for ...

  6. (转)Hbase shell 常用命令(1)

    Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...

  7. BestCoder Round #73

    这场比赛打完后可以找何神玩了orz(orz)* T1Rikka with Chess 嘿嘿嘿.输出n/2+m/2即可. 我能说我智商捉鸡想了4min吗? T2Rikka with Graph 由于N个 ...

  8. More about dubbo

    一.前言 dubbo 作为分布式服务框架支持丰富的配置和扩展方式,其中包括:通讯协议.并发控制.多版本服务.结果缓存.泛化引用\实现.回声测试.上下文信息.事件通知.路由规则(可用于实现读写分离)等多 ...

  9. 用Git进行协同开发

    用Git进行协同开发 问题场景描述 常常会遇到这样的协同场景:后台的同事和前端的同事需要共同开发一个新功能,而他们的代码相互依赖,所以需要不停地更新各自的代码进行联调. 对于这种场景,最简单的方式就是 ...

  10. jquery限制div字符长度,超出部分已“…”显示

    $(".content").each(function(){ if($(this).text().length>100){ $(this).text($(this).text ...