• 【BLE CORE】二、GAP(Generic Access Profile)


    一、 前言

    GAP全名是 Generic Access Profile,主要作用如下:

    1. GAP确保了应用程序和设备间的高度互操作性,还允许开发人员利用现有的定义更加容易地定义新的配置文件
    2. GAP处理未连接的两个设备间的发现和建立连接过程
    3. 此配置文件定义了一些通用的操作,这些操作可供引用GAP的配置文件,以及实施多个配置文件的设备使用
    4. GAP确保了两个蓝牙设备可通过蓝牙技术交换信息,以发现彼此支持的应用程序
    5. 不符合任何其他蓝牙配置文件的蓝牙设备必须使GAP符合以确保基本的互操作性和共存

    GAP是最基本的Profile,其他的Profile都是直接或间接引用了这个Profile,保证了不同的蓝牙产品可以相互发现并建立连接,定义了所有蓝牙设备中必须实现的功能,介绍了发现和连接设备的通用步骤。

    二、 Profile Stack

    如下图可以看出GAP与其他协议层的关系,可以清晰得看出是所有协议层的基础。
    GAP Profile主要描述了:

    1. GAP 角色
    2. 发现设备过程
    3. 连接过程
    4. 安全交互(配对)
      在这里插入图片描述

    三、 GAP角色

    1. Broadcaster
      具备发送能力(接收能力是可选的),在链路层可以处于空闲和广播状态,具备发送广播包的能力,不支持扫描,不支持连接。
    2. Observer
      具备接收能力(发送能力是可选的),在链路层可以处于空闲和扫描状态,具备被动扫描能力(主动扫描能力是可选的),不支持连接,不支持广播。
      被动扫描指的是接受广播不发送scan_req,主动扫描指的是接受广播并发送scan_req。
    3. Peripheral
      具备收发能力,在链路层可以处于空闲和广播状态,具备发送广播包的能力,不支持扫描,支持连接,在连接时处于Slave角色,同时支持一些连接参数更新和加密的过程。
    4. Central
      具备收发能力,在链路层可以处于空闲和扫描和初始化状态,支持扫描,支持连接,连接时出Master角色,同时支持一些连接参数更新和加密的过程。

    四、 用户接口

    1. 设备地址
    2. 设备名字
    3. 秘钥
    4. 设备类型
    5. 外观

    五、总结

    GAP主要定义了设备间的连接。

  • 相关阅读:
    通义灵码-IDEA的使用教程
    在CIFAR-10数据集上构建ResNet-18模型(pytorch版)
    WPF 3D 摄像机LookDirection属性研究
    VUE中的插槽
    云服务器哪家便宜靠谱 | 简单了解亚马逊云科技发展史
    面向多段落高考阅读理解的答案句抽取方法
    动态规划算法几个小问题
    借助这个宝藏神器,我成为全栈了
    Vue-Cli - Vue 脚手架的创建 以及 目录结构说明
    Linux系统中的ps命令详解及用法介绍
  • 原文地址:https://blog.csdn.net/weixin_43352285/article/details/126432599