2.GAP:通用访问协议

news2024/11/15 21:51:46

GAP的简单理解

GAP这个名字,直接翻译过来不好理解。
简单点可以理解为:

  1. 这是蓝牙设备在互联之前,过程中,第一个用于交流的协议。
  2. 在代码上,会给这个协议实现,连接参数的设置,连接事件的实现(如断开连接,连接成功等好多事件)

BLE的两种通信方式

  • 面向连接的通信:设备之间存在专用连接,形成双向通信。
  • 广播通信:设备无需先建立连接即可进行通信,通过向范围内的所有设备广播数据包。(信标,温湿度计会常用这种,它只需要将数据发出去就行。不用和用户交互。)

GAP的角色

在BLE里,涉及到角色概念的,就两个地方。

  • GAP角色 :定义了两种角色:Central(中央设备)和Peripheral(外围设备)
  • GATT角色:定义了两种角色:服务器和客户端。

GAP角色和GATT角色其实是两个分开的概念,他们并没有联系。所以在记的时候不要混在一起。

GAP分角色的原因
主要是简化设计省电两个原因。

**穿插个知识点:BLE建立连接从广播开始,**

 1. A设备广播自己的信息,B设备收到广播。
 2. B设备对A设备有兴趣,就发起连接,A会在广播后短暂开启接收,如果有人要连接我,就连接,没人连接,A就会关闭无线电。

简化设计: 设备要连接上,必须有人发起连接,有人接收连接。如果让一个人会发起连接也会接受连接,那协议栈就会复杂一些。所以蓝牙将这部分的功能分开指定了,Central(只能接收广播),Peripheral(只能发起广播)

省电: :蓝牙的很多设备是电池供电的,或对功耗要求很高。因此在没有通信的时候,设备需要关闭其无线电以达到省电的目的。但是如果双方都经常关闭无线电,那不就导致通信经常会失败了。为了避免这个问题,会让Central定义为一直接收BLE广播,(接收相对发送功耗小一些)。因此Central设备通常是功耗不敏感的设备来做这个角色。

GAP的Central是负责扫描(或叫接收)蓝牙广播的,常见为手机,PC这种设备
GAP的Peripheral,负责广播自己,让有需要和我通信的人可以连接我,平时无线电关闭状态。以达到省电目的。通常是一些传感器设备。

GAP的Broadcaster 和observer 角色

这两种角色,可以认为是Central(中央设备)和Peripheral(外围设备)的特殊用法。

主要是有些场景,设备直接不需要建立连接,他只需要周期性的广播自己的信息,或者持续的监听有没有设备广播新的数据就行。所以才引入了这两种简单的角色。

蓝牙的网络拓扑结构

只要是设备之间多起来,就可以形成网络,那么他们就会有网络关系,也就是拓扑结构。

广播拓扑:A设备单纯通报状态信息,其他设备只接收状态。双方不会有连接建立。
在这里插入图片描述连通拓扑
设备之间是可以建立双向连接的。
在这里插入图片描述多角色拓扑
一个设备有两种角色
在这里插入图片描述

文章主要是主观的个人理解多,难免有以偏概全的地方。有错误的地方欢迎指正。共勉!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1920430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法】二叉树-迭代法实现前后中序遍历

递归的实现就是:每一次递归调用都会把函数的局部变量,参数值和返回地址等压入调用栈中,然后递归返回的时候,从栈顶弹出上一次递归的各项参数,这就是递归为什么可以返回上一层位置的原因 可以用栈实现二叉树的前中后序遍历 1. 前序…

【数学趣】拉窗帘模型之求面积引发的6个解法

抖音上推了一个趣题 题 求橙色部分的面积 蓝色部分是2个正方形。大的正方形边长为6。(小的正方形一半被一个黄色三角形遮住了一半) 答案 18 解法1:拉窗帘 先写一个代号,方便证明,H G 代表正方形。(G…

AV1 编码标准中帧内预测技术详细说明

AV1 编码标准帧内预测 AV1(AOMedia Video 1)是一种开源的视频编码格式,旨在提供比现有标准更高的压缩效率和更好的视频质量。在帧内预测方面,AV1相较于其前身VP9和其他编解码标准,如H.264/AVC和H.265/HEVC,…

暑假第一次作业

第一步:给R1,R2,R3,R4配IP [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 [R1-Serial4/0/0]ip address 15.0.0.1 24 [R2-GigabitEthernet0/0/0]ip address 192.168.2.1 24 [R2-Serial4/0/0]ip address 25.0.0.1 24 [R3-GigabitEthernet0/0/0]ip address 192.…

【Mutilism用74ls192和与非门设计3进制24进制加法计数器2荔枝】2022-5-10

缘由【数电 数字逻辑】如何用74ls192和与非门设计任意进制加法计数器?-嵌入式-CSDN问答

Qt学生管理系统(付源码)

Qt学生管理系统 一、前言1.1 项目介绍1.2 项目目标 2、需求说明2.1 功能性说明2.2 非功能性说明 三、UX设计3.1 登录界面3.2 学生数据展示3.3 信息插入和更新 三、架构说明3.1 客户端结构如下3.2 数据流程图3.2.1 数据管理3.2.2 管理员登录 四、 设计说明3.1 数据库设计3.2 结构…

基于Python+Flask+MySQL的新冠疫情可视化系统

基于PythonFlaskMySQL的新冠疫情可视化系统 FlaskMySQL 基于PythonFlaskMySQL的新冠疫情可视化系统 项目主要依赖前端:layui,Echart,后端主要是Flask,系统的主要支持登录注册,Ecahrt构建可视化图,可更换主…

Qt 统计图编程

学习目标:Qt 折线图,柱形图和扇形统计图编程 学习基础 Qt QChart 曲线图表操作-CSDN博客 学习内容 Qt中绘制三种常见的图表非常方便, 主要步骤如下: 1. 折线图: - 使用QLineSeries定义折线数据,添加多个坐标点 - 使用QValueAxis创建X轴和Y轴 - 将…

数据结构——查找算法

文章目录 1. 查找算法 2. 顺序查找 2. 二分查找 1. 查找算法 查找算法是用于在数据集中定位特定元素的位置的算法。查找是计算机科学中一项基本操作,几乎在所有应用程序中都需要使用。例如,数据库查询、信息检索、字典查找等都涉及到查找操作。查找算…

【Mutilism数字电路实现32进制5线32译码器】2022-5-7

缘由3-8译码器到74HC138-编程语言-CSDN问答 2片16004非门2个组成8进制和4进制实现。 按138逻辑表把E3也接入置零,同时把E1也接入反向使得切换时138保持高电平输出,就看不到转换时第一个出现短暂低电平,是最完美的解决方案,二级反向…

分布式I/O从站的认知

为什么需要分布式I/O从站? 当PLC与控制机构距离过远时,远距离会带来信号干扰,分布式I/O从站只需要一个网络线缆连接。 ET200分布式I/O从站家族 体积紧凑、功能强大。 ET200SP ET200M ET200S ET200iSP ET200 AL ET200pro ET200 eco PN 通讯协议…

yarn底层原理详解:(第33天)

系列文章目录 一、yarn总体架构 二、yarn核心组件及功能 三、yarn资源分配与调度 四、yarn提交和执行流程 五、yarn调度算法 六、yarn安全性与容错性 文章目录 系列文章目录前言一、总体架构二、核心组件及功能1. ResourceManager(RM)2. NodeManager&am…

达梦数据库dm8安装步骤及迁移

目录 前言: 一、安装部署 1、下载 2、创建用户及安装目录 3、挂载下载的镜像 4、环境配置 5、安装 二、基本使用 1、DM工具使用 2、兼容性配置 2.1 兼容GBK字符集编码 2.2 兼容UTF-8字符集编码 3、创建用户和密码,表空间 4、整理数据库配置 5、启动脚本设置 …

13、Python之函数:简单的参数默认值其实并不简单

目录 引言 日志打印的问题 返回参数默认值的问题 问题产生的原因 关于参数默认值的最佳实践 总结 引言 在前一篇关于Python函数的文章中,我们介绍了函数的基本使用、函数的默认参数、lambda函数的用法,相当于对Python中的函数有了一个入门的介绍。…

动态规划之数字三角形模型+最长上升子序列模型

首先,我们从集合角度重新看待DP: 直接看题:https://www.acwing.com/problem/content/1029/ 就是取纸条的原题,我们令f[i1,j1,i2,j2]表示从(1,1),(1,1)分别走到(i1,j1),(i2,j2)的路径的max i1j1i2j2,于是我们可以把状…

ESP32的芯片有几种

ESP32系列 ESP32芯片截止到24年7月有5个系列: ESP32-C3 ESP32由ESP32-P 系列、ESP32-S 系列、ESP32-C 系列、ESP32-H 系列、ESP32 系列构成。其中ESP32-S分为S3和S2两个小系列;ESP32-C系列分为C6、C5、C3、C2四个小系列,具体如下。 说明&am…

合宙 Air780E模块 AT 指令 MQTT连接

固件说明 重启模块 //tx ATRESET//rx ATRESETOK ^boot.romv!\n RDY^MODE: 17,17E_UTRAN ServiceCGEV: ME PDN ACT 1NITZ: 2024/07/10,08:33:440,0查询模块版本信息 //tx ATCGMR//rx ATCGMRCGMR: "AirM2M_780E_V1161_LTE_AT"OK基本流程 4G模块支持MQTT和MQTT SSl协…

5 MySql

5 MySql 一、简介二、SQL语言2.1 导入外部SQL文件2.2 显示表结构2.3 与创建数据库相关的语句2.4 与表相关的语句2.5 操作表中的数据2.6 7种基本的sql查询 三、SQL的注意点3.1 与集合函数相关3.2 SQL语句的书写与执行过程 四、约束 constraint4.1 作用4.2 功能分类4.3 自增 五、…

读人工智能全传10深度思维

1. 深度思维 1.1. DeepMind 1.1.1. 深度思维 1.1.2. 2014年的员工不足25人 1.1.3. 深度思维公司公开宣称其任务是解决智能问题 1.1.4. 2014年谷歌收购DeepMind,人工智能突然成了新闻热点,以及商业热点 1.1.4.1. 收购报价高达4亿英镑 1.1.4.2. 深度…

差分约束——AcWing 362. 区间

差分约束 定义 差分约束系统是一种在计算机科学和运筹学中用于解决特定类型优化问题的工具。它主要用于处理一类线性不等式组,这些不等式描述了变量之间的相对大小关系,而不是直接的绝对值大小。差分约束系统通常用于路径寻找、调度、资源分配等问题。…