蓝牙学习-BLE入门

参考:《Bluetooth for Linux Developers Study Guide》

关于蓝牙Profiles(剖面|情景模式|配置文件)

A profile is a Bluetooth technical specification which describes device roles, processing algorithms, concurrency limitations, security requirements and state data definitions amongst other things. In particular, and this is the aspect of profiles we’ll be focusing on in this study guide, a Bluetooth LE profile defines a remote interface to a device’s state data and associated capabilities.

Profile是蓝牙技术规范,描述设备角色,处理逻辑,并行限制,安全规范和状态数据定义。最后一项就是这篇文章主要说明的profile的定义。BLE的profile定义了设备属性的远程接口以及相关联的能力。

如果上面的概念太抽象,我们用个具体的例子来帮助我们理解BLE的Profile。设想我们开发一个BLE设备,它有几个按键和显示屏。Profile设计者需要考虑如何暴露这个设备的能力给其他蓝牙设备,如手机。远端手机应该可以发送文字到我们的BLE设备并在显示屏上显示,同时如果手机按键我们的BLE设备应该也能收到通知。这是用就可以用Generic Attribute Profile或GATT。

GATT

GATT允许用户定义数据表来定义设备能力和状态,并且可以操作其中的数据。所以在上面的例子里我们需要定义button的状态数据和显示屏的状态数据,同时我们也需要定义操作方法如读、写button的状态数据和显示屏的状态数据。那么包括这些属性的数据就叫属性表。

GATT以整洁,灵活的方式组织状态数据,包括:Services,Characteristics和Descriptiors

Services:服务是最外围包装,表示设备的主要功能
Characteristic:特征是状态数据的一个个单独项目,包括数据类型,关联的值和支持的方法。特征是归属于一个服务的。服务是一个容器,可以包含很多个特征并且提供一个功能场景,而特征可以是多个服务的成员。
Descriptors:描述符属于具体的特征并且包含元数据比如特征类型的文本描述或者是特征操作方法的定义(比如,GATT提供一种操作叫通知,也就是特征数据变化时或者一种定时通知,但是当对端设备设置了具体的操作描述符,则通知的行为模式也就被确定了)。描述符是可选项。

Bluetooth SIG已经定义了一些服务,特征和描述符:https://www.bluetooth.com/specifications/assigned-numbers/

GATT Server:提供服务,特征和描述符的设备;

GATT Client:访问服务,特征和描述符的设备;

GAP

GAP是通用访问协议(Generic Access Profile)。GAP主要责任是定义设备间互相发现,连接,断开的协议。根据GAP的定义,BLE设备支持4种角色:

外设:提供发送广播包,邀请和同意中心连接的能力。比如耳机,鼠标,腕带等都是外设。

中心节点:提供扫描,接收广播包和发起连接的能力。比如手机,平板都是外设。

广播者:只提供发送广播包的能力;比如Beacon设备。

观察者:只提供扫描和接收广播包的能力;比如用于蓝牙定位的蓝牙网关或者软件。

注意:

* 外设不能建立连接,只能同意连接请求;外设也不能收听蓝牙广播;

* 任意设备只要对应配置都可以又是蓝牙外设,也是蓝牙中心节点;

* 蓝牙广播包只能在payload数据字段包括不超过31字节自定义数据;

ATT

ATT(Attribute Protocol)协议允许蓝牙连接中的GATT客户端和GATT服务端双向访问。比如,客户端可以通过ATT协议发现GATT服务端,请求当前状态,改变具体特征数据,开关通知(notification)或提示(indication)

GATT提供结构和文本数据,ATT提供通过蓝牙连接查询,更改这些数据的方法。应用程序一般不直接操作ATT。应用程序通过API接口初始化,发送,接收和编解码ATT的protocal data units(PDUs)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容