通用访问配置文件(GAP):

Ble协议栈中的GAP层负责处理设备访问模式,包括设备发现、建立连接、终止连接、初始化安全管理和设备配置,所以在ble协议栈中有不少函数均是以GAP为前缀,这些函数会负责以上的内容。

GAP层总是作为下面四个钟角色之一:

☆Broadcaster  广播者——不可以连接的一直在广播的设备;

☆Observer    观测者——可扫描广播设备,但不能发起建立连接的设备;

☆Peripheral   从机  ——可被连接的广播设备,可以在单个链路层连接中作从机。

☆Central      主机  ——可以扫描广播设备并发起连接,在单个链路层或多链路层中作为主机,在TI的ble协议栈中,一个主机可以连接三个从机。

在典型的蓝牙低功耗系统中,从机设备广播特定的数据,以便让主机知道他是一个

可以连接的设备,广播内容包括设备地址以及一些额外的数据,如设备名、服务等。主机收到广播数据后,会向从机发送扫描请求ScanRequest,然后从机将特定的数据回应给主机,称为扫描回应ScanResponse。主机收到扫描回应后,便知道这是一个可以建立连接的外部设备,这就是设备发现的全过程。此时,主机可以向从机发起建立连接的请求,连接请求包括下面一些参数。

△连接间隔——在两个BLE设备的连接中使用调频机制,两个设备使用特定的信道收发数据,然后过一段时间后再使用新的信道。(链路层处理信道切换),两设备在信道切换后收发数据称之为连接事件,即使没有应用数据的收发,两个设备任然会通过交换链路层数据来维持连接,连接间隔就是两个连接事件之间的时间间隔,连接间隔以1.25ms为单位,连接间隔的值为6(7.5ms)~3200(4s)。

△从机延时——这个参数的设置可以使从机跳过若干连接事件,这给了从机更多的灵活度,如果它没有数据发送时,可以选择跳过连接时间继续休眠,以节省功耗。

△管理超时——这是两个成功连接事件之间的最大允许的间隔,如果超过了这个时间(这个值的单位是10ms)而没有成功的连接事件,设备被认为丢失连接,返回到未连接状态,管理超时的范围是100(100ms)~3200(32s)另外,超时值必须大于有效的连接间隔[有效的连接间隔=连接间隔*(1+从机延时)]。

△安全管理——只有已认证的连接中,特定的数据数据才能被读写,一旦连接建立,两个设备进行配对,当配对完成后,形成加密连接的密钥,在典型的应用中,外设请求集中器提供密钥来完成配对工作。密钥是一个固定的值,如000000,也可以随机生成一个数据提供给使用者,当主机设备发送正确的密钥后,两设备交换安全密钥并加密认证链接。在许多情况下,同一对外设和主机会不时的连接和断开,ble的安全机制中有一项特性,允许两个设备之间建立长久的安全密钥信息,这种特性称为绑定,他允许两设备连接时快速的完成加密认证,而不需要每次连接时执行配对的完整过程。

TI-BLE协议栈的GAP相关推荐

  1. TI BLE协议栈 按键流程分析

    之前在蓝牙技术群看到好多网友不知道按键流程到底是什么情况,平时也没时间,在群里也一两句说不明白,也就说了下可以去看下zigbee按键流程过程,其实都是相通的,现在特意发帖分享下,希望能起到一个抛砖引玉 ...

  2. 蓝牙BLE(协议栈、OSAL、蓝牙APP工具)

    目录 蓝牙配对和绑定 蓝牙4.0 BLE 信道(RF Channel) BLE协议栈分层 PHY层(Physical layer 物理层) LL层(Link Layer 链路层) HCI层(Host ...

  3. CC2541的BLE协议栈构成

      协议定义的是一系列的通信标准, 通信双方需要共同按照这一标准进行正常的数据收发: 协议栈是协议的具体实现形式, 就是用代码实现的函数库, 以便于开发人员调用.   BLE 协议栈将各个层定义的协议 ...

  4. java 协议栈_深入浅出讲解低功耗蓝牙(BLE)协议栈

    详解BLE连接建立过程 https://www.cnblogs.com/iini/p/8972635.html 详解BLE 空中包格式-兼BLE Link layer协议解析 https://www. ...

  5. 蓝牙:深入浅出低功耗蓝牙(BLE)协议栈

    深入浅出低功耗蓝牙(BLE)协议栈 BLE协议栈为什么要分层?怎么理解BLE"连接"?如果BLE协议只有ATT层没有GATT层会发生什么? 协议栈框架 一般而言,我们把某个协议的实 ...

  6. BLE协议栈学习2——OSAL

    OSAL简介 BLE 协议栈包含了 BLE 协议所规定的基本功能,这些功能是以函数的形式实现的,为了便于管理 这些函数集,BLE 协议栈内加入了实时操作系统(并非真正意义上的操作系统),称为 OSAL ...

  7. BLE协议栈 – SM

    SM(Security Manager)安全管理层定义了BLE通信两端设备的配对方法和密钥分发的工作模式,提供了一系列加密算法,为BLE通信提供了加密.认证等安全保障.它与GAP层密切相关,关于安全需 ...

  8. BLE 协议栈(Master,Slave;Standby,Advertiser,Scanner,Initiator;连接流程,连接参数)

    文章目录 1.BLE 协议栈的结构和配置(应用层,Host 主协议层,Controller 控制层) 2.BLE 物理层(PHY) 3.拓扑结构(星型拓扑) 4.设备状态(Master,Slave:S ...

  9. 蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍

    原文链接:蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍 系列索引:蓝牙协议分析(1)_基本概念 蓝牙协议分析(2)_协议架构 目录 1. 前言 2. Why 3. How和What 4. Phy ...

最新文章

  1. CVPR2021 | 重新思考BiSeNet让语义分割模型速度起飞
  2. Win7系统中必需记住的14个常用快捷键
  3. emlog通过pjax实现无刷新加载网页--完美解决cnzz统计和javascript失效问题
  4. Producer API
  5. win7下u盘安装ubuntu组成双系统
  6. LightOJ 1336. Sigma Function
  7. C#-----集合ListT的常用方法
  8. java rdt_使用 Eclipse 和 RDT 开发Ruby应用程序
  9. ios中Date.prase()兼容问题
  10. C语言家族树管理系统
  11. 机械革命极光Pro 评测
  12. formality: 形式验证流程
  13. 自然语言处理之hmm(隐马尔可夫模型)
  14. 如何在SVN中忽略某个文件或文件夹
  15. M.2/sata2.0/3.0接口,PCI-E1.0/2.0/3.0/4.0x2x4x8x16速率汇总
  16. ARMv8-a架构简介
  17. 我们学校有计算机房用英语怎么说,根据中英提示,完成下列各句1、他们学校有3个计算机房??......
  18. Google智能家居控制ESP8266
  19. 计算机网络知识全面讲解:域名的结构
  20. 嵌入式Qt开发环境搭建

热门文章

  1. docker化你的java应用(上)
  2. WEB攻击手段及防御第1篇-XSS
  3. Java常见的几种排序算法-插入、选择、冒泡、快排、堆排等
  4. SIP协议和压力测试, SIP callflow图形生成
  5. Java:自定义异常处理类
  6. GitHub:基于epoll机制的高并发聊天室,c语言实现
  7. Java 洛谷 P1059 [NOIP2006 普及组] 明明的随机数
  8. Android --- Android Device Monitor 在 3.0 版本之后废弃了怎么办
  9. matlab 代码风格,10 Matlab 函数与代码风格
  10. java blender_[转载]将Blender模型展示于WEB