近年来,头戴式耳机、入耳式耳机、音箱、车载音响系统、鼠标、键盘等很多设备都开始支持Bluetooth通信。虽然与Wi-Fi等无线通信不同,但Bluetooth通信对于那些经常使用蓝牙功能的人来说应该已经成为一种比较熟悉的通信方式了。
那么,Bluetooth通信到底是一种什么样的通信方式呢?大家可能会有这样的印象:用Bluetooth功能可以和附近的设备通信,不能和遥远的设备通信。下面,让我们来大致了解一下Bluetooth的机制和规格。
Bluetooth(蓝牙)
Bluetooth(蓝牙)是一种无线通信技术规范,可实现固定设备和移动设备之间的短距离数据交换,还可用于构建个人局域网络(PAN)。该技术使用短波UHF无线电波进行数据传输,其波段为2.400 GHz至2.485GHz频段,这是全球范围内工业、科学和医疗领域可以使用的无线电频段。人们开发该技术的初衷是为了找寻一种替代RS-232数据线的无线通信方式。
现在,Bluetooth由蓝牙技术联盟(SIG)管理,该组织在电信、计算、网络和消费电子等领域拥有35000多家成员公司。IEEE将Bluetooth标准化为IEEE 802.15.1协议,但是已不再提供维护。蓝牙SIG负责监督蓝牙规范开发、管理证书认证并保护相关商标权益。要想销售蓝牙设备,制造商必须符合蓝牙SIG的标准。该技术拥有众多专利,可授权给各种合规设备。截至2009年,蓝牙集成电路芯片的年出货量约为9.2亿片。[改编自维基百科]
如维基百科中所述,Bluetooth基本上是一种用于数字设备的短距离无线通信标准。
识别与连接方法
使用Bluetooth时,需要经过“配对”和“连接”的步骤。对于无线LAN而言,通常需要输入密码才能连接到接入点,而Bluetooth通信则需要一个设备检测并登录(认证)另一个设备的过程。
什么是配对?
比如您想通过Bluetooth功能使用智能手机和耳机时,您需要先进行配对设置,这就像一个面对面的识别(即认证、信息注册)仪式,允许目标设备之间相互连接。如果没有这个仪式,比如,如果Bluetooth采用与无线LAN一样的机制,那么有可能发生这种事情:A正在使用耳机的过程中,B用密码认证将A的耳机与自己的智能手机连接起来,A的耳机上会播放B的智能手机上正在播放的音乐。为了防止这种问题,Bluetooth采用了一种对设备之间进行身份验证和注册、并在使用时只允许连接已注册设备的机制。
所以,对于Bluetooth设备而言,基本上每个Bluetooth模块只能同时建立一个连接。
2. Bluetooth和BLE的区别大家应该见过有时会和Bluetooth一起出现的符号“BLE”吧?BLE是Bluetooth的一种。根据设备的类型和用途,某些设备是采用BLE方式进行通信的。BLE是“Bluetooth Low Energy”的首字母缩写,与普通的Bluetooth相比,是一种功耗更低的通信方式。
Bluetooth和BLE的区别在于通信速度和功耗。如果是发送数据量比较大的应用,比如蓝牙耳机等需要发送音频数据的设备,不适合用BLE通信方式,因为与普通的文本信息不同,这类应用对通信速度和功耗是有一定要求的。BLE的功耗较低,适用于简单的电源ON/OFF状态和可以用文本和数字简单表达的数据通信。(*BLE有时不需要配对)
ESP-WROOM-32模块支持BLE通信功能,下面让我们尝试使用一下吧。
3. 在ESP-WROOM-32上使用BLE前的准备现在,让我们尝试在ESP-WROOM-32上使用BLE功能。在第69篇中,我们已经搭建了环境,但仅凭这个环境是无法通过Arduino来使用BLE通信功能的,要想使用该功能,还需要下载所需的文件。
从上述页面的“Clone or download”下载文件(ZIP文件),并将文件保存在Arduino安装路径的libraries>BLE目录中。