关于BLE需要知道的

Bluetooth Low Energy

1、蓝牙协议

蓝牙( Bluetooth® )是一种无线技术标准,可实现固定设备、移动设备和个人域网之间的短距离数据交换。如今蓝牙由蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG)管理,负责监督蓝牙规范的开发,管理认证项目,并维护商标权益,制造商的设备也必须符合蓝牙技术联盟的标准才能以“蓝牙设备”的名义进入市场。

Bluetooth(classic)

泛指支持蓝牙协议在4.0以下的模块,一般用于数据量比较大的传输,如:语音、音乐等。经典蓝牙模块多用在蓝牙音频模块,因为音频需要大码流的数据传输,更适合使用经典蓝牙。

Bluetooth Low Energy

BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙技术的补充。尽管BLE和传统蓝牙都称之为蓝牙标准,且共享射频,但是BLE是一个完全不一样的技术。

BLE不具备和传统蓝牙的兼容性。它是专为小数据率、离散传输的应用而设计的。

Bluetooth BR/EDR

蓝牙的波段为2400-2483.5MHz。这是全球范围内无需取得执照(但并非无管制的)的 2.4 GHz 短距离无线电频段。

蓝牙使用跳频技术,将传输的数据分割成数据包,通过79个指定的蓝牙频道分别传输数据包,每个频道的频宽为1 MHz。蓝牙4.0之后使用2 MHz 间距,可容纳40个频道。第一个频道始于2402 MHz,每1 MHz一个频道,至2480 MHz。

高斯频移键控(GFSK)是最初也是唯一可用的调制方案。运行GFSK的设备可以以基础速率(BR)运行,瞬时速率可达1 Mbit/s;增强数据率(EDR)可达2 和 3 Mbit/s。

在蓝牙无线技术中,两种模式(BR和EDR)的结合统称为“BR/EDR射频”。

基本速率:配置文件可确保不同生产商的产品之间具备互操作性,这是蓝牙技术的另一重要特点。

增强数据率:从蓝牙2.1版中增强了短射程无线技术,令蓝牙设备的连接更加容易,只要开启设备并从菜单中选择添加即可完成连接,之后设备将会自动搜索并自动连接。

此项特点带来的优势:

  1. 降低能耗:使设备拥有更长的电池寿命。
  2. 增强安全性:对于需要互动的配对情景,提供了密码安全性保护。
  3. 近场通信:使近场通信(NFC)的采用成为可能。

Bluetooth Smart

Bluetooth Smart 是2010年推出的一项创新技术,这个特征是以蓝牙核心规格4.0版首次推出,是蓝牙低功耗BLE的品牌名称。

Bluetooth Smart不仅具备低耗能的特点,它还适合应用创建。能耗较低是因为它使用的电能远远少于其它无线技术。适合应用创建,是因为采用这项技术创建适合于蓝牙智能传感器的应用成本较低,并可灵活选择开发结构。

Bluetooth Smart的吞吐量约为1 Mbps (具体还取决于应用场景)。蓝牙BR/EDR的吞吐量大于2Mbps,适合高品质音频位流,或其它需要保持连接状态的更高带宽的应用。

Bluetooth Smart技术特点:

  1. 超低的峰值、平均值和待机能耗
  2. 使用标准纽扣电池足以运行数年
  3. 低成本
  4. 多设备之间的互操作性

Bluetooth Smart设备主要应用于智能电子产品中,包括心率监测仪器、体温计、血糖仪、智能穿戴设备、胎压监测和电子烟等。

官方还有Bluetooth Smart Ready商标,为双模式射频,表示其同时支持传统蓝牙无线连接和新蓝牙低耗能连接。包括手机、平板电脑、个人电脑、机顶盒及电视机等处于消费者互联世界核心的电子设备,这些设备可有效地接受传统蓝 牙产品和未来推出的蓝牙设备以及BluetoothSmart设备发送的数据并传送至应用软件,从而将数据转换为有用的信息。

2、BLE概念

1.1 GATT (Generic Attribute Profile)

  • 通用属性配置文件可被应用或其他配置文件调用
  • 让客户端(client)与服务器端(server)进行数据交互。

目前所有的低功耗应用的相关配置都是基于它而来的,这个配置描述了蓝牙设备具体是如何工作的。

1.2 ATT (Attribute Protocol)

  • 针对属性的协议,它约定了这个属性的数据结构是什么样子
  • 是 GATT的一个子集:GATT/ATT
  • ATT 是针对BLE设备进一步优化:尽可能的使用很少的字节
  • 每个属性用 UUID来标识

1.3 Characteristic

  • 一个数据结构
  • UUID区分
  • 包含一个数值和0到N个Descriptor
  • 可以设置读写权限
  • 可以添加通知功能

Descriptor:描述Characteristic中的值(值的范围,值的单位,或者其他描述性信息)

1.4 Service

提供数据的蓝牙设备向外开放一个Service(以UUID区分,SIG已有定义),服务中有一组Characteristic供其他连接的设备读写。

需要获取数据的设备(Client)连接到提供数据的设备(Server),获取Server提供的服务,然后就可以读写服务中Characteristic的值。Client也可以使能Characteristic的通知,每当Characteristic变化时,Client会接收到通知。

3、Central vs Peripheral

中央设备(Central)和外围设备(Peripheral)区分的标准是是否可以发起连接。中央角色的设备可以向外围设备发起连接,允许设备同时支持两种模式。Bluetooth Smart 4.1开始支持双重模式。

配对对于蓝牙BR/EDR是强制性的,而对于Bluetooth Smart则是选择性的。通常情况下,如果音频设备(如耳机)支持蓝牙4.x,则兼容4.x BR/EDR的规格,而不兼容Bluetooth Smart。也就是说一般蓝牙耳机都要配对后使用。

常规的连接流程是:

  • 外围设备发送广播Advertising
  • 中央设备扫描(接收广播)发现外围设备,获取MAC
  • 中央设备发起连接
  • 连接成功

注意:外围设备只允许被一个设备连接,中央设备可以连接有限多个外围设备

4、Server vs Client

Server和Client区分是:提供数据作为Server,消费数据作为Client。

标准中Central和Peripheral都可以作为Server/Client。但是一般是外围设备做Server,中心设备做Client。连接后Client即可从Server端获取数据。

为随时可以接受连接请求,Server端启动后就会开放一个GattServer。

数据交换流程:

  • Client获取Server端服务列表,根据UUID找到自己需要的服务
  • 再从服务中根据UUID获取Characteristic
  • 然后Client可以读/写对应Characteristic的值,或者修改对应Characteristic的配置(Descriptor)
  • 数据有变化后,Server会Notify/Indicate已连接的Client(如果已监听)

注意:

  1. Notify/Indicate需要Client端主动使能
  2. Notify/Indicate一般作为Characteristic的配置项Descriptor被读写
  3. Notify和Indicate的区分是后者要求接收端(Client)收到后发出response

基于Android写了一个Demo,用手机连接一个手表(可移植到手机),然后点击手表应用时发送一个消息给手机。有兴趣的可以看一下:

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

推荐阅读更多精彩内容

  • 前言: 本文主要描述Android BLE的一些基础知识及相关操作流程,不牵扯具体的业务实现,其中提供了针对广播包...
    幻影宇寰阅读 5,310评论 6 19
  • Key Terms And Concepts 关键术语和概念 Here is a summary of key B...
    Jaesoon阅读 2,426评论 0 5
  • 蓝牙简介 蓝牙( Bluetooth® ):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离...
    Chefil阅读 2,030评论 2 19
  • 前言 经过一段时间的蓝牙开发接触,想总结下现实Android ble模块开发的流程以及遇到的问题。 1.初识BLE...
    大地零一阅读 9,322评论 1 11
  • 常用算法 1、二分法 也成为折半查找,它是一种效率较高的查找方法。 限制: 必须是有序存储结构 内容必须按大小有序...
    wowshiwoniu阅读 1,495评论 0 0