[分享] BLE与蓝牙科普

fish001   2016-9-22 16:27 楼主

蓝牙4.0标准包括传统蓝牙模块部分和低功耗蓝牙模块部分。低功耗蓝牙是建立在传统蓝牙基础之上继而发展的,并有别于传统蓝牙模块。本文将科普低功耗蓝牙(BLE)的一些知识。

说起蓝牙无线传输,大家经常听到这几个名词:蓝牙4.0标准、超低功耗蓝牙模块,而不明就里的朋友很容易将其混淆,有的人认为这两个名词所指同物,其实不然。蓝牙4.0标准包括传统蓝牙模块部分和低功耗蓝牙模块部分,是一个双模标准。低功耗蓝牙也是建立在传统蓝牙基础之上发展起来的,并有别于传统蓝牙模块。


蓝牙模块的分类

1472003306373806.png

按照应用和支持协议划分主要分为两种:

经典蓝牙模块(BT):泛指支持蓝牙协议在4.0以下的模块,一般用于数据量比较大的传输,如:语音、音乐、较高数据量传输等。经典蓝牙模块可再细分为:传统蓝牙模块和高速蓝牙模块。传统蓝牙模块在2004年推出,主要代表是支持蓝牙2.1协议的模块,在智能手机爆发的时期得到广泛支持。高速蓝牙模块在2009年推出,速率提高到约24Mbps,是传统蓝牙模块的八倍,可以轻松用于录像机至高清电视、PC至PMP、UMPC至打印机之间的资料传输。

低功耗蓝牙模块(BLE):是指支持蓝牙协议4.0或更高的模块,也称为BLE模块(Bluetooh Low Energy Module),最大的特点是成本和功耗的降低,应用于实时性要求比较高,但是数据速率比较低的产品,如:遥控类的(鼠标、键盘)、传感设备的数据发送(心跳带、血压计、温度传感器)等。

1472003344487276.png

BLE简介

常见的名词“BLE”,是蓝牙低能耗的简称(Bluetooh Low Energy)。蓝牙低功耗技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz ISM射频频段。低功耗技术从一开始就设计为超低功耗(ULP)无线程技术。它利用许多智能手段最大限度地降低功耗。

蓝牙低能耗技术采用可变连接时间间隔,这个间隔根据具体应用可以设置为几毫秒到几秒不等。另外,因为BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态(节省能源),此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。

BLE技术的工作模式非常适合用于从微型无线传感器(每半秒交换一次数据)或使用完全异步通信的遥控器等其它外设传送数据。这些设备发送的数据量非常少(通常几个字节),而且发送次数也很少(例如每秒几次到每分钟一次,甚至更少)。

BLE协议栈的结构和配置

1、协议有两个部分组成:Controller和Host

2、Profiles和应用总是基于GAP和GATT之上

3、在单芯片方案中,Controller和Host,profiles,和应用层都在同一片芯片中

4、在网络控制器模式中,Host和Controller是在一起运行的,但是应用和profiles在另外一个器件上,比如PC或者其他微控制器,可以通过UART,USB进行操作

5、在双芯片模式中,Controller运行在一个控制器,而应用层,profiles和Host是运行在另外一个控制器上

BLE设备连接状态流程图 1472003402533448.png

1472003418294360.png

BLE与快递服务类比

1472003458997126.png

BLE的两种芯片架构

蓝牙低能耗架构共有两种芯片构成:单模芯片和双模芯片。蓝牙单模器件是蓝牙规范中新出现的一种只支持蓝牙低能耗技术的芯片——是专门针对ULP操作优化的技术的一部分。蓝牙单模芯片可以和其它单模芯片及双模芯片通信,此时后者需要使用自身架构中的蓝牙低能耗技术部分进行收发数据。双模芯片也能与标准蓝牙技术及使用传统蓝牙架构的其它双模芯片通信。

双模芯片可以在使用标准蓝牙芯片的任何场合使用。这样安装有双模芯片的手机、PC、个人导航设备(PND)或其它应用就可以和市场上已经在用的所有传统标准蓝牙设备以及所有未来的蓝牙低能耗设备通信。然而,由于这些设备要求执行标准蓝牙和蓝牙低能耗任务,因此双模芯片针对ULP操作的优化程度没有像单模芯片那么高。

单模芯片可以用单节钮扣电池(如3V、220mAh的CR2032)工作很长时间(几个月甚至几年)。相反,标准蓝牙技术(和蓝牙低能耗双模器件)通常要求使用至少两节AAA电池(电量是钮扣电池的10至12倍,可以容忍高得多的峰值电流),并且更多情况下最多只能工作几天或几周的时间(取决于具体应用)。注意,也有一些高度专业化的标准蓝牙设备,它们可以使用容量比AAA电池低的电池工作。

1472003487211835.png

BLE用途

1、2.4G蓝牙低功耗系统

2、消费类电子产品

3、移动电话外围扩展设备

4、运动和休闲设备

5、健康医疗用品(血压计、体温计等)

6、汽车电子设备

7、人机接口设备(键盘、鼠标、遥控器等)

8、USE Dongle

蓝牙与BLE

蓝牙( Bluetooth® )是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线的替代方案。蓝牙可连接多个设备,克服了数据同步的难题。

蓝牙规格由蓝牙技术联盟正式推出,所有的蓝牙标准版本都支持向下兼容,让最新的版本能够覆盖所有旧的版本。

蓝牙前后制定过多个版本,包括1.0版本和1.0B版本、1.1版本、1.2版本、2.0 + EDR版本、2.1 + EDR版本、3.0 + HS版本、4.1版本、 4.2版本和5.0版本。

1472003402533448.png


而蓝牙4.0标准实际包含两个蓝牙标准,准确的说,是一个双模的标准,它包含传统蓝牙模块部分(也有称之为经典蓝牙Classic Bluetooth)和低功耗蓝牙部分(Bluetooth Low Energy简称BLE)。这两个部分适用于不同的应用或者应用条件。传统蓝牙是在之前的1.0.1.2,2.0+EDR,2.1+EDR,3.0+EDR等基础上发展和完善起来的,低功耗蓝牙是Nokia的Wibree标准上发展起来的。

传统蓝牙可以用于数据量比较大的传输,如语音,音乐,较高数据量传输等,而低功耗蓝牙则应用于实时性要求比较高,但是数据速率比较低的产品,如遥控类的,如鼠标,键盘,遥控鼠标(Air Mouse),传感设备的数据发送,如心跳带,血压计,温度传感器等。传统蓝牙有3个功率级别,Class1,Class2,Class3,分别支持100m,10m,1m的传输距离,而低功耗蓝牙无功率级别,一般发送功率在7dBm,一般在空旷距离,达到20m应该是没有问题的。

BLE蓝牙模块应用领域

1.医疗领域:心跳带、血压计等

2.定位应用:室内定位、井下定位

3.手持POS系统:手持机扫描信息、POS机刷卡信息、手机提交的信息无线传输给终端

4.近距离数据采集:无线抄表、无线遥测、传感器无线状态采集

5.数据传输:打印机、充电桩、鼠标、键盘、蓝牙调光、智能家居室内控制、工业上无线控制等

结语


很多人无法想象蓝牙的应用究竟在哪里?感觉蓝牙就是主要应用在手机领域,其实蓝牙的应用已经大大拓宽。过去两年内,整个蓝牙新产品增长量就达到了80%,和音频、音响相关的蓝牙产品数量增幅超过了450%,包括蓝牙耳机、蓝牙电话、蓝牙麦克风等等,当然增长不仅限于这些声音类的产品,除了这些产品之外我们也可以看到新领域的发展——配件应用,一方面有蓝牙配件,同时也有相配套的应用。低功耗蓝牙已经出现并得到逐步推广,未来将会与传统蓝牙相结合,开创一个可交互的关联世界。


回复评论 (3)

楼主厉害,看样子楼主是高手,我也玩过BLE,实际开发中我也一直有一些不明白的:
1.从设备中可以设置设备名,也可以设置UUID,那么当从设备设置为相同的设备名或者相同的UUID时,主设备扫描到一个设备还是两个设备?
2.主设备扫描从设备的过滤机制具体是个什么原理,在哪里设置?
3.程序中有多种UUID,一个service有很多characteristics,每个都有UUID,这些有什么联系,是怎么通信的?
4.从设备发送广播前可以设置过滤,这个怎么理解,用来干什么,在哪里设置?
5.当从设备设置为ADV_DIRECT_IND(指定广播),从设备还需要设置哪些,主设备需要设置哪些?
6.BLE的一对多是个什么机制,通信的原理是怎么样的,需要怎么设置?
7.BLE的一对多与Beacon有何异同?
希望和楼主一起学习讨论
QQ:252669569
点赞  2016-9-23 00:40
楼上不好意思,我转载的,因为看到不错,就在这里保存下来了
点赞  2016-9-23 10:42
UUID在蓝牙协议中都有定义,UUID号和功能是有定义的,如果用户定义,就不能完全使用协议的配置都要自定义的。
对于每个设备UUID是随时间可以生成不同的时标的,不要定义成相同的。如果相同,那么应该报错。没试过
点赞  2016-9-23 11:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复