1. 蓝牙技术概述:从1.0到5.4,我们走过的路

大家好,我是你们这门课的老朋友。今天咱们聊聊蓝牙技术的前世今生。说实话,我入行那会儿,蓝牙还是个「娇气」的东西——连个文件传半天,动不动就断连。现在呢?它已经成了物联网、音频、数据传输的「万能胶」。嗯,这中间的故事,值得好好捋一捋。

1.1 蓝牙的发展历史:从1.0到5.4

蓝牙这名字,其实来自一位丹麦国王——Harald Bluetooth。他统一了北欧,蓝牙技术也想统一短距离无线通信。1994年,爱立信开始研究这个项目,1998年成立了蓝牙特别兴趣小组(SIG)。

蓝牙1.0(1999年):说实话,这版本就是个「半成品」。传输速率只有1Mbps,而且设备之间兼容性很差。我记得当时用蓝牙耳机打电话,声音断断续续的,还不如有线耳机靠谱。

蓝牙2.0 + EDR(2004年):EDR(Enhanced Data Rate)把速率提升到了3Mbps。这个版本开始实用化了。我在2006年做过一个蓝牙GPS接收器项目,用的就是2.0协议。嗯,那会儿调试配对流程,真是让人头大。

蓝牙3.0 + HS(2009年):这个版本引入了802.11(Wi-Fi)作为高速传输通道,理论速率能到24Mbps。但说实话,实际用的人不多——功耗太高了。

蓝牙4.0(2010年):这是革命性的一版。它引入了低功耗蓝牙(BLE)。你想想看,一颗纽扣电池能让设备跑几个月甚至几年。我2012年做智能手环项目时,就是靠BLE实现的。那会儿市面上BLE芯片还不多,我们用的是TI的CC2540。

蓝牙4.1/4.2(2013-2014年):这两个版本主要优化了IoT场景。4.2引入了LE Secure Connections和隐私保护功能。我个人觉得,4.2是BLE真正走向成熟的标志。

蓝牙5.0(2016年):速率翻倍(2Mbps)、距离翻倍(理论300米)、广播容量翻倍。我在2018年做过一个蓝牙Mesh灯控项目,用的就是5.0。那会儿最头疼的是广播信道的拥塞问题——设备一多,广播包就打架。

蓝牙5.1/5.2(2019-2020年):5.1加入了方向定位功能,能实现厘米级定位。5.2引入了LE Audio,支持LC3编码。说实话,LC3的音质比SBC好太多了,延迟也低。

蓝牙5.3/5.4(2021-2023年):5.3优化了功耗和连接稳定性。5.4加入了带响应的周期性广播(PAwR),专门为电子货架标签(ESL)这类应用设计的。我最近在帮客户做ESL项目,5.4的PAwR确实好用——一个网关能同时管理上千个标签。

版本 发布时间 核心特性 我的评价
1.0 1999 基础蓝牙,1Mbps 半成品,兼容性差
2.0+EDR 2004 3Mbps,EDR 开始实用化
4.0 2010 BLE引入 革命性版本
5.0 2016 2Mbps,长距离 IoT利器
5.4 2023 PAwR,ESL 物联网新标杆

1.2 蓝牙技术特点:低功耗、短距离

蓝牙最核心的特点就两个:低功耗短距离。说白了,它就是为了「省电」和「近场」而生的。

低功耗:BLE的功耗有多低?我举个例子。一个温度传感器用CR2032纽扣电池,每5秒发一次数据,能跑两年。为什么能做到?因为BLE的射频只在发送数据时开启,平时都在睡觉。经典蓝牙(BR/EDR)就不行,它得一直保持连接。

重要概念:BLE的「低功耗」不是靠降低发射功率实现的,而是靠「短时工作、长时休眠」的策略。发射功率其实和经典蓝牙差不多(0dBm到10dBm),但占空比极低。

短距离:经典蓝牙的通信距离一般是10米左右。BLE在5.0之后,理论距离能到300米(空旷环境)。但说实话,实际项目中能到50米就不错了。为什么?因为墙壁、金属、人体都会衰减信号。我在做智能家居项目时,隔了两堵墙,信号就掉到-90dBm以下了。

我的经验:做蓝牙产品时,别太相信理论距离。实际测试时,建议在「最差场景」下测——比如设备放在金属柜子里,或者隔着几堵墙。我曾经有个项目,实验室里测得好好的,到客户现场就断连了——因为客户厂房里全是金属货架。

1.3 蓝牙与Wi-Fi的区别

很多初学者会问:蓝牙和Wi-Fi到底有啥区别?我打个比方:Wi-Fi是高速公路,蓝牙是小区里的石板路

Wi-Fi的特点是:高速、高功耗、长距离。802.11ac能到1Gbps以上,覆盖范围能到100米。但功耗也高——一个Wi-Fi模块工作时的电流能到300mA以上。

蓝牙的特点是:低速、低功耗、短距离。BLE的峰值电流只有10mA左右,待机电流能到微安级。但速率最高也就2Mbps(5.0版本)。

特性 蓝牙(BLE) Wi-Fi
速率 最高2Mbps 最高1Gbps+
功耗 极低(μA级待机) 高(mA级工作)
距离 10-100米 30-100米
网络拓扑 点对点、星型、Mesh 星型(AP+STA)
典型应用 传感器、音频、穿戴 视频、网页、文件传输

你想想看,为什么智能家居里很多设备用蓝牙而不是Wi-Fi?因为功耗。一个智能灯泡如果用Wi-Fi,待机功耗可能就1W以上——一年下来电费比灯泡还贵。用BLE的话,待机功耗几乎可以忽略不计。

注意:蓝牙和Wi-Fi都工作在2.4GHz频段,会互相干扰。我在做项目时,经常遇到蓝牙和Wi-Fi共存的问题。解决办法一般是:分时复用、或者用支持共存协议的芯片(比如TI的CC3120)。

1.4 蓝牙的应用场景:物联网、音频、数据传输

蓝牙的应用场景,我把它分成三大类:物联网、音频、数据传输。每一类都有不同的技术要求和协议栈选择。

物联网(IoT):这是BLE的主战场。智能家居、穿戴设备、医疗健康、工业传感器……这些场景的共同特点是:低功耗、小数据量、长待机。比如一个温湿度传感器,每10分钟发一次数据,一次就几十个字节。用BLE再合适不过了。

我在做智能门锁项目时,用的是BLE + 手机APP的方案。用户靠近门锁,手机自动连接,然后通过加密通道发送开锁指令。这里要注意的是:安全。BLE的配对和加密机制一定要用对,否则容易被中间人攻击。

音频:经典蓝牙(BR/EDR)一直是音频传输的主力。从最早的蓝牙耳机,到现在的TWS真无线耳机,都是基于A2DP(高级音频分发协议)和HFP(免提协议)实现的。2020年,LE Audio标准发布,引入了LC3编码。LC3的压缩率更高、音质更好、延迟更低。我试过LC3的耳机,延迟能到20ms以下——打游戏都够用了。

数据传输:这个场景比较杂。比如蓝牙打印机、蓝牙键盘鼠标、蓝牙文件传输(OBEX)。这些应用对速率要求不高,但对稳定性和兼容性要求高。我记得有一次做蓝牙打印机项目,客户说打印到一半就断了。查了半天,发现是SPP(串口仿真协议)的流控没处理好。嗯,这种坑踩过一次就记住了。

一句话总结:蓝牙不是万能的,但在「低功耗、短距离、小数据量」的场景下,它是目前最好的选择。Wi-Fi做不到的低功耗,蓝牙做到了;Zigbee做不到的手机直连,蓝牙做到了。

好了,这一章就聊到这儿。下一章我们会深入BLE协议栈的架构——从物理层到应用层,一层一层扒开来看。到时候我会带大家看实际的协议栈代码,嗯,那才是真正有意思的部分。