从0到1认识ble

标签: ble gap gatt
10人阅读 评论(0) 收藏 举报
分类:

一 概要

GAP :广播

GAP(Generic Access Profile),主要作用:使设备可见,控制设备连接以及广播(相关应用:ibeacon)。

GATT:链接(GATT是基于GAP之上完成的 | 相关应用:消费电子类手环)

GATT(Generic Attribute Protocol)主要作用:定义s设备的service&characteristic 和 建立c/s 设备间的应用数据的交互。


二 GAP

ble stack的GAP层负责连接功能。处理access modes以及从上电到建立连接的一系列步骤:设备发现--->链路的建立--->链路的终止--->安全特性的初始化--->设备配置。(如下图)


(图片来自:TI官方网站)

上图中各状态的简单解释:

Standby:复位后设备所处的初始化空闲状态。

Advertiser:设备s将广播特定的数据,以通知任何初始化的设备c这里有一个可连接的设备s(广播消息包括设备地址以及一些附加信息,如设备名)。

Scanner: 当设备c收到广播消息,设备c将发送扫描请求给广播者(即设备s),随后广播者将会给予一个相应的扫描响应。该过程也叫设备发现。扫描设备主动发现广播设备并发起连接。

Initiator: 初始化时,发起者必须确定一个同等设备以待连接。如果接收到一个刚好匹配的同等设备的广播消息,发起者将会发送一个包含建立连接参数的连接请求消息以建立连接。

Slave/Master: 链接建立形成后,广播者将扮演slave角色,发起者将扮演master角色。


三 GATT

类同于GAP层处理连接相关的功能,ble的GATT层stack主要被用来完成两连接设备间数据通信的应用。以储存在ble设备内存中的characteristics形式访问与储存数据。站在GATT立场来说,连接的两个设备都可以同时扮演一种或两种角色(client/server).

The GATT server:

该设备包含一个可被client设备read/write的 characteristic database 。

The GATT client:

该设备可以read/write server设备端的数据。


下图简单说明了GATT client和server间的数据通信:



(图片来自:TI官方网站)

需要注意的是:

#GATT中的client&server角色是完全独立于GAP中的peripheral&central角色。也就是说一个peripheral既可以是GATT client,也可以是GATT server,一个central同样既可以是GATT client,也可以是GATT server。

#GATT 连接是独占的。也就是一个 BLE 外设同时只能被一个中心设备连接。一旦外设被连接,它就会马上停止广播,这样它就对其他设备不可见了。当设备断开,它又开始广播。

#一个外设只能连接一个中心设备,而一个中心设备可以连接多个外设。


GATT 事务

GATT 事务结构如图所示:



GATT 事务是建立在嵌套的Profiles, Services 和 Characteristics之上的。举一个简单的栗子将显得更加明了:

在GATT Profile 的列表中可以找到Heart Rate Profile

UUID : 0x180D

包含 3 个 Characteristic:

Heart Rate Measurement

Body Sensor Location(option) 和 Heart Rate Control Point(option)



                                                                                                       update-time:rainy | Sunday | 12:56 | 15/4/2018

查看评论

从0到1学习Oracle -- SQL基础

本课程为Oracle SQL基础课程,主要讲解SQL查询,排序,单行多行函数,多表查询,子查询,数据增删改,表创建与管理,视图创建与管理,序列索引创建及管理,同义词创建与管理以及数据字典等。
  • 2018年04月23日 16:06

从0到1的高清pdf版本

  • 2017年11月21日 15:10
  • 58.93MB
  • 下载

阅读整理《从0到1》

《从0到1》的读书记录和读书笔记
  • aofengdaxia
  • aofengdaxia
  • 2016-02-10 23:39:40
  • 2632

《从0到1》.英文版

  • 2017年08月08日 16:12
  • 2.57MB
  • 下载

两分钟读懂《从0到1》——《从0到1》读书笔记

Some ideas can’t wait!(好主意不应等待) 一些好的创意是无法等待的,如果想到一个好的idea没有去验证,那么等于没有idea。互联网如今的商业思维就是快速试错、快速迭代、快速...
  • yzzst
  • yzzst
  • 2015-06-02 21:12:45
  • 2052

从0到1电子书

  • 2015年07月16日 22:44
  • 12.21MB
  • 下载

《从0到1》pdf电子书扫描版

  • 2016年03月31日 14:54
  • 47.9MB
  • 下载

Unity3D/2D游戏开发从0到1

  • 2017年02月13日 13:07
  • 48B
  • 下载

读书笔记《从0到1--开启商业与未来的秘密》

从0到1--开启商业与未来的秘密 Zero to One--Notes on Startups,Or How to Build The Future [美]Peter Thiel,Blak...
  • qq_25265293
  • qq_25265293
  • 2016-07-08 22:02:02
  • 643

Unity3D/2D游戏开发从0到1_PDF电子书下载 高清 带索引书签目录_刘国柱编著Part1

  • 2016年05月03日 22:32
  • 50MB
  • 下载
    个人资料
    等级:
    访问量: 120
    积分: 21
    排名: 211万+
    文章分类
    文章存档