BLE GAP 协议和 GATT 协议

BLE GAP 协议和 GATT 协议

最近要打算学习 Blufi 协议进行蓝牙配置,其中必然使用 GAP 协议和 GATT 协议,于是进行重新学习一番。

BLE 是一个 Bluetooth SIG 组织颁布的协议,对于使用 BLE 我们开发人员,最关注的是 上层的 GAP 协议和 GATT 协议。

1.1 GAP 和 GATT 有什么不同呢?

  • GAP :定义一个 BLE 网络栈的通用拓扑结构。
  • GATT:描述关于如何数据在连接中如何传输的细节。

GATT 尤其关注于数据如何被格式化、打包、然后跟据分发规则去在网络中发送。属性协议(ATT)与GATT紧密相连,那么GATT 处于 ATT 的上层,使用 ATT 去描述数据如何在两个连接的设备中交换。

1.2 GAP (Generic Access Profile)

GAP 即通用存取协议,BLE设备可以使用两种机制与外部世界通信:广播或连接。GAP 就是用来定义设备跟设备之前是用过广播呢,还是连接去通信的。

下面 GAP 将回答 怎么连接或广播? 和 **连接后 GAP 可以做什么?**两个问题。

怎么连接或广播?

一个设备通过选择 GAP 中指定的一个角色去连接到一个 BLE 网络。

广播: 这个过程中,设备没有连接。包含广播者和观察者两种角色。

  • 广播者:一个设备广播一些信息。
  • 观察者:一个设备接受广播者的信息。

**连接:**设备之间必须连接,一般生产环境中更常用。

  • 外设:一个设备广播他的存在,使得中心设备能与它建立连接。在建立连接后,设备不再广播数据给其他中心设备,保持连接。

    • 外设是低功耗的因为他们只定期发送一些 beacons,然后中心设备对其进行响应。
    • Bean 是一种 BLE 外设。
  • 中心设备:一个设备通过监听包,去连接一个外设,一个中心可以连很多个外设。
    • 当一个中心设备想要连接外设的时候,它发一个连接请求给外设。如果外设接受了,那么就建立了连接。
    • 你的电脑在连接 Bean 的时候就是一个中心设备。

连接后能做什么?

**中心设备可以修改连接参数:**中心设备创建一些连接的参数,中心设备可以更改参数,外设只能通过请求中心设备去更改参数。

**外设或中心设备可以中止连接:**两者可以主动、或者因为异常而断开连接。

1.3 GATT(Generic Attribute Profile)

类似 GAP,在这一层协议上,我们有两种角色:

  • 客户端:发送请求给 GATT 服务器,能够读/写 服务器的数据。
  • 服务端:服务端负责存储属性,一旦客户端发起请求,服务端进行回应。

所以,当我们使用 GAP 协议建立了连接,然后就可以使用 GATT 协议进行数据的存取实现不同的义务功能。

原文地址:https://www.cnblogs.com/doiting/p/12552124.html

时间: 2024-10-08 21:46:32

BLE GAP 协议和 GATT 协议的相关文章

2.tcp/ip协议分析-IP协议、ARP协议和RARP协议

IP协议是TCP/IP协议族中最核心的协议,它提供不可靠.无连接的数据报传输服务.所以理解IP协议对于我们学习网络至关重要. IP首部 重要字段介绍: 4bit首部长度:以4字节为单位,决定了IP首部长度最大为15*4=60,一般的IP数据报首部长度为20,此时该字段为5. 8bit的服务类型:包括一个3bit的优先权子字段(可以忽略),4bit的tos子字段和1bit的未用位但必须置0.4bit的TOS分别代表:最小延时.最大吞吐量.最高可靠性和最小费用. 比如在telnet交互应用中就要求有

tcp协议和udp协议的差别

tcp协议和udp协议的差别 是否连接          面向连接                 面向非连接 传输可靠性       可靠                       不可靠 应用场合         传输少量数据         大量数据 速度                   慢                            快 TCP要求和服务器保持连接  UDP不需要   TCP数据是有序的(先写的数据对方一低昂先收到)UDP数据是无序的 AsyncSocke

IP协议和TCP协议的分析

一,TCP/IP协议栈的概述 TCP/IP协议栈是由美国国防部(DoD)在20世纪60年代创建的(比OSI模型还早),是一种具体实现标准. 分为4层:网络接入层(链路层),Internet层(网络层),主机到主机层(传输层),应用层 由于TCP/IP协议栈涉及的知识点很多,而其中最主要的协议是IP协议和TCP协议,故本文主要是针对IP和TCP协议来分析,其他的知识点后续补上. 二,IP协议 IP(Internet Protocol,网际协议)是TCP/IP协议栈中最重要的协议(位于网络层),用于

TCP协议和UDP协议的区别

转载:http://www.cnblogs.com/obama/p/3292335.html  作者: 曾见绝美的阳光 第一部分:TCP/IP相关知识点 对TCP/IP的整体认 链路层知识点 IP层知识点 运输层知识点 应用层知识点 (这些知识点都可以参考:http://www.cnblogs.com/newwy/p/3234536.html) 第二部分:常见面试题 TCP协议和UDP协议的区别是什么 TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握

RS-232协议和RS-485协议

RS232 RS232是一种异步传输标准接口.通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现 .RS232最常用的连接方式是三根线:一条发送线.一条接收线及一条地线. 电平信号:逻辑1(MARK)=-3V--15V,逻辑0(SPACE)=+3-+15V 传输距离:RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m:若每米电缆的电容量减小,通信距离可以增加.传

对TCP/IP协议的一些看法(3):SLIP协议和PPP协议

今天主要讲一下我对链路层上的SLIP协议和PPP协议的看法.今天应该是写的第三天了,为自己的坚持点个赞. SLIP协议其实用到的并不多,它全名叫serial line imternet protocol,译为中文是串行线路网际协议.它属于低速串行线路,可用于专业线路,也可用于拨号线路,传输速率在1200bps到19200bps之间.对slip帧(因为它是链路层协议)的格式,主要需要记住的是一个END位,位于帧的首部和尾部,用于判断帧的开始与结束.这样就可能存在如果在帧中间有个END的话,数据帧就

TCP协议和UDP协议

TCP协议和UDP协议 TCP协议和UDP协议 TCP(Transmission Control Protocol)可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送缓存&接收缓存).面向字节流.使用TCP的应用:Web浏览器:电子邮件.文件传输程序. UDP(User Datagram Protocol)不可靠的.无连接的服务,传输效率高(发送前时延小),一对一.一对多.多对一.多对多.面向报文,尽最大努力服务,无拥塞控制.使用UDP的应用:域名系统 (DNS):视频流:IP语

(1)网络编程的常识 (2)基于tcp协议的编程模型 (3)tcp协议和udp协议的比较 (4)基于udp协议的编程模型

1.网络编程的常识 目前主流的网络通讯软件有:微信.QQ.YY.陌陌.探探.飞信.阿里旺旺.... 在吗? 1.1 七层网络模型(熟悉) 为了保证数据传递的可靠安全等等,ISO(国际标准委员会组织)将数据的传递从逻辑上划分为以下七层: 应用层.表示层.会话层.传输层.网络层.数据链路层.物理层. 在发送数据之前要按照上述七层协议从上到下一层一层进行加包处理,再发送出去; 在接收数据之后要按照上述七层协议从下到上一层一层进行拆包处理,再解析出来: 1.2 常用的协议(熟悉) http协议 - 超文

IS-IS协议和RIP协议的路由重分发详细过程

实验步骤: 1.首先配置各个路由器的IP地址,最好把IS-IS或者RIP协议也饿一起配置了,实在不行就再多分一个步骤. 2.在R4上面做路由重分发. 3.查看路由表是否齐全. 4.打开VPCS配置IP地址,测试连通性. 下面是详细配置过程:R1上面的IP地址和IS-IS协议配置,R1只是作为L1类型的IS-IS,配置完成别忘了应用到端口. R2上面的IP地址和IS-IS协议配置,R2作为IS-IS的区域间路由需要配置为L1-L2类型. R3上面的IP地址和IS-IS协议配置,也是作为L1-L2类