Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Archerqvq/b7548389df43ac9e008625c6844ae161 to your computer and use it in GitHub Desktop.
Save Archerqvq/b7548389df43ac9e008625c6844ae161 to your computer and use it in GitHub Desktop.
Bluetooth Notes
我是电丸科技的AK
这一期是硬核无线技术系列的 蓝牙篇
蓝牙的内容有点多
我分成上下期
这一期是上期
说到蓝牙
就不得不提一下
蓝牙产生的历史背景
就是为什么产生了蓝牙这个东西
在蓝牙以前
设备之间只能是通过繁琐的线缆连接
实现通讯
作为出生在80年代的人
有些童年的回忆
是那些90年代
和2000年代出生的人
没有经历过的
比如90年代初的时候
我们那时候玩游戏
有个游戏机叫Game Boy
那时候有些游戏是支持联机的
我们是这样玩游戏的
若干年后
彩色版的Game Boy Color 面市了
GBC搭载的
是红外通讯端口
受限于功能
只能做一些类似于交换宠物
收发礼物之类
这样的操作
想要实质性的对战
依然要靠一根连接线
我上小学的时候
接触到了文曲星这种神奇的玩具
如果你不知道什么是文曲星
你可以问一下你的长辈
或者是哥哥姐姐
当别的小伙伴都用来查字典
学习的时候
我在文曲星上面
开启了我basic编程之路
一些高端的型号
也搭载了红外线通讯端口
恰好有些游戏
支持红外线联机
比如说当年叱诧风云的「英雄传说」
可以利用红外线通讯
联机和别人 结婚 对战 练级
比在GBC上交换宠物收发礼物
这样的操作高端多了
红外通讯作为光通讯的一种
缺点是距离短
并且会被障碍物阻挡
我那时候经常是在打不过别人的时候
用手挡住我文曲星上的红外线通讯端口来耍赖
90年代的这些
小型移动设备之间的通讯问题
只能是依靠繁琐的线缆
或者是利用通讯速率和限制特别大的红外线来实现
你别说整个产业
就连当年作为一个小学生的我
都意识到这个问题了
在1993年
瑞典通讯的巨头 爱立信公司
终于在内部开始启动了
手持终端设备的短距离无线通讯功能的研发
过了一年
也就是1994年的时候
同在北欧的诺基亚
和远在北美的英特尔
这两家公司
纷纷有了相同的想法
于是这几个巨头
就凑在一起 开始讨论
如何制定一套通讯协议
来规范手机 电脑 和无线耳机的无线通讯标准
1996年的年底的时候
最开始这几家公司意识到
想要创建一个规范的协议
让不同的设备生产厂商
和各种繁杂的工业标准
无缝的统一起来
难度是非常大的
于是又过了两年
他们陆续拉了其他的一些行业巨头
在1998年的时候
创建了 「Bluetooth Special Interest Group」
简称「SIG」
「蓝牙特别利益集团」
这个时候集团的成员有
爱立信
英特尔
诺基亚
IBM和东芝
都是当年的巨头
由于短距离无线通讯的标准的应用前景很大
再加上最开始
这五个巨头的牵线
过了不到一年的时间
组织拥有了国际上400个成员
至今组织成员已经达到了几万量级
在创建蓝牙特别利益集团的时候
最开始的名字并没有一开始
就引用蓝牙这个名字
Bluetooth这个名字 本来是无线电标准的
初期的内部的称号
后来因为正式版的名字取的并不好
熟知度不高
后来就被弃用了
「蓝牙」这个名字才被延续下来
蓝牙这个名字非常有意义
取这个名字的来源
有一个小故事
在距今大概一千年前的北欧
丹麦有一个国王
叫做「Harald Blåtand」
是个军事能力和谈判能力很强的一个国王
他统一和团结了
公元十世纪的丹麦和挪威
给人民带来了基督教和民族认同感
90年代的时候
北欧的通信技术非常强大
有着瑞典爱立信
和芬兰的诺基亚
这样的行业巨人
所以蓝牙技术
用了统一丹麦和挪威的北欧国王
Harald Blåtand 这个名字
当你知道
这个背景故事的时候
真的能够很带入一种团结感
而这种团结和统一的这种感觉
正好也是蓝牙的用意
刚好表达了
统一电脑平台和手机终端
以及其他移动平台的通讯标准
网上传
说这个国王爱吃蓝莓
导致牙齿变蓝
这是个很扯淡的说法
蓝莓看起来是蓝的
实际上果肉的颜色和果汁的颜色
是一种偏红的暗紫色
不可能把牙齿染成蓝色
真正的原因是因为
Harald有一颗坏死的牙
在古诺斯语(Norse)里面
「blåtand」的意思是蓝黑色的牙
但是英语里面没有直接对应的词
所以就只能用「Bluetooth」
我为什么知道古诺斯语呢
因为很简单
因为我在北欧上过学
北欧文化影响到了很多后来的西方文化作品
包括你们熟知的北欧神话
什么雷神索尔 众神之神奥丁
很多人都知道
「上古卷轴」系列游戏的Skyrim
「天际」这一作就受到了很多
古诺斯语的影响
甚至游戏里面 北部的人
就叫做「Nord」诺德人
蓝牙这个名字有了之后
蓝牙这个名字有了之后
又借用Harald Blåtand
古诺斯语里面的两个首字母
H和B放在一起
就做成了蓝牙的logo
这个就是蓝牙的logo和名字的由来
背景故事说完了
接下来说一些必要的
基础的技术知识
首先如果你不懂无线电通讯
和电磁波的基本原理
请移步去看我第一期的内容
不然接下来的内容
你可能理解起来会有困难
你可以点这里去看一下
然后最好有可能的话
你把WiFi篇也看完
因为蓝牙和WiFi
在技术上有相通的部分
所以我接下来会结合着WiFi
对比着来讲蓝牙
蓝牙工作在2.4GHz的大频段上
和WiFi在2.4GHz的频段一样
都在2.4~2.4835GHz频段
不同的是 蓝牙在这83.5兆赫兹的频宽上
分成了79个Channel
也就是信道
采用FHSS的跳频的方式
来进行通讯
所以抗干扰能力比较强
同时蓝牙的一个特点
就是组建最高8个设备的「Piconet」
也就是「微微网」所有设备之间
都按照预设的跳频模型
跳频通讯
所以能够在同时
互相不干扰的情况下
实现多台设备
在piconet的环境里面实现通讯
而不会互相干扰
我在这简单解释一下
什么叫做跳频通讯
非跳频通讯指的是
无线电波
在单一信道上
持续的发送数据
就像现在这个样子
单一信道的通信
容易受到干扰
也容易被拦截
有安全问题
而跳频指的是无线电波
在多个信道之间
通过预设的模型
在不同的信道之间
切换发送数据
接收信号的接收方
通过预设的模型
在相应的信道上接收数据
这可以满足多个设备
在同一时间
利用不同的信道通讯
而不互相产生干扰
从90年代末
到2004年是第一代
蓝牙标准的发展期
2000年的时候
世界首款支持蓝牙的手机和耳机面市
不用想
肯定也是知道
这是爱立信家的
只有单工通讯模式
也就是说
如果你用了蓝牙耳机
就不能传输文件
而且不支持双声道耳机
那个时候的数据通讯
速率不到1Mbps
传一首3MB的音乐
大概是需要超过半分钟
这还只是理论速率
不过考虑到那个时候的手机
甚至连摄像头都没有
传输的文件
也大多是Midi格式的电子乐器音乐
就是以前手机上
听到的那些铃声的音乐
那个时候蓝牙的面市
已经是革命性的了
你如果不差钱
买个单声道的蓝牙耳机打电话
拉风程度绝对不亚于
90年代初的大哥大
经过几年的发展和不断的完善
最后第一代蓝牙版本号是1.2
制定于2003年年末
修正了之前的各种bug
甚至添加了立体声耳机的支持
不过通讯速率
依然是只有0.7Mbps
所以如果你还记得
在04年前后 非典时期
如果你看到有人
用立体声的蓝牙耳机
那个人一定是土豪无疑
2004年 蓝牙推出了2.0的标准
相比第一代蓝牙标准
第二代的最重要的升级是「EDR」
「Enhanced Data Rate」
也就是数据传输带宽
提升到了2~3Mbps这个速度
同时2.0的蓝牙
开始支持双工通讯
可以同时传输音频数据和文件数据
你终于可以带着来耳机
一边听歌一边传输文件了
同时期的windows智能手机
也开始出现
我当年就用过多普达818
多普达830
一直到后面的CHT9000
使用蓝牙从电脑上传输文件到手机
或者是和机友之间
用手机传输小电影和音乐
这样的应用场景
也慢慢变成了常态
同时蓝牙2.1版本
大幅降低了待机功耗
同时也优化了传输距离
从最开始的1.0时代的时候
10米左右的通讯距离
优化到了二三十米
至此蓝牙完成了
从最开始的一代到二代的演变
这里我插一点内容
蓝牙作为短距离无线通讯的标准
其实最一开始的定位
就是作为WiFi的应用的补充
WiFi的意义在于
相对比较大的数据量的吞吐
并且给移动设备
加入了无线连接到局域网的能力
从而可以让设备
通过本地的无线局域网接入互联网
而蓝牙的意义
更多的在于
打通设备之间的互联
打破不同设备之间的
兼容性的壁垒
建立点对点的微型网络
实现实时的传输音频流
以及设备之间的文件传输
相比WiFi的100mW左右的功耗
几十到几百兆的通讯带宽
以及几十米
甚至上百米的通讯范围
多数情况下
蓝牙的功耗
仅仅只有2~3mW
比WiFi设备少了几十倍
数据传输带宽
也往往只有同期蓝牙标准的不到1/10
通讯范围也仅限于
设备周边的
几米到十几米的范围
比如说第一代的蓝牙 传输带宽不到1Mbps
同期的802.11b的
WiFi标准
通讯带宽是11兆
蓝牙2.0
能够把传输带宽做到3Mbps左右
同期的802.11g的WiFi
能够达到54Mbps
虽然说都工作在2.4G频段
但是蓝牙和WiFi
在机制和应用上
互相弥补
WiFi带你上网
蓝牙实现不同设备之间
点对点的互联和设备之间的数据传输
我刚才为什么提到WiFi
并且和蓝牙对比了一波
因为在2009年和2010年这两年
发生了一些有意思的事情
2009年蓝牙特别利益集团
想要实现WiFi
那样的大数据量吞吐
在蓝牙3.0标准推出的时候
引入了一个「high speed」概念
「HS」使得蓝牙3.0
在802.11的基础上
通过集成802.11的协议适配层
实现了蓝牙技术的高速传输
传输带宽达到了24Mbps
这个802.11是不是听起来挺熟悉的
没错
就是WiFi的标准
蓝牙3.0通过这一波操作
在自己本身是WiFi的补充的定位上
通过利用WiFi的技术
进一步补足了传输速度的短板
一年后的2010年
WiFi联盟
借鉴了蓝牙的piconet 微微网的概念
做出了「WiFi Direct」
借鉴了蓝牙技术
在WiFi上
实现了点对点的传输能力
蓝牙和WiFi
不约而同的
向着彼此
进行技术上的融合
不过特别有意思的是
通过WiFi Direct
WiFi括展出了「手机热点」
和苹果的「AirDorp」这样的功能
应用前景越来越大
而借鉴了WiFi的大带宽传输的蓝牙3.0
却没有按照预想的方向
通过传输速率的大幅提升
大放异彩
很快 蓝牙3.0的HS的高速传输的前景越来越暗淡
导致几乎没有应用场景
也没有厂商做出
这个适用新技术的设备
后来蓝牙3.0的HS技术
就慢慢淡出了大众的视野
彻底凉了
通过这件事
我解读出两个事情
第一就是
即使是行业巨头制定的标准
也有不适应市场的情况发生
蓝牙3.0HS高速传输
就是一个例子
第二就是我分析出了
为什么借鉴了蓝牙的WiFi Direct发展起来了
而借鉴了WiFi的蓝牙3.0
HS却没能如愿
原因其实很简单
因为蓝牙设备的主要应用场景
还是无线耳机
音频传输之类的这些应用
本身就用不到高速传输
再加上2010年前后
手机互相传输文件的
这种需求 本来就很小
就算有的时候
需要传个种子之类的
也都让你们用QQ解决了
另外需要高速传输的应用场景
有WiFi Direct
同期的WiFi传输速率
已经能够达到600Mbps
这样的理论峰值了
24Mbps的蓝牙HS又一次被甩开了
所以定位就很尴尬
蓝牙3.0HS 在利用802.11
高速传输的时候
功耗也会瞬间变高
这跟蓝牙本身低功耗 微网 实现短距离设备互联的
这种定位
相距甚远
一些曾经尝试利用蓝牙3.0
HS高速传输的应用
发现了功耗过高的问题
会导致设备续航严重缩减
所以纷纷放弃了
使用蓝牙3.0HS的传输方式
虽然蓝牙3.0宣布 通讯速率
相比第二代蓝牙提高了8倍
支持视频和高清电视的传输码率
但是通讯设备双方
都要在硬件和通讯协议上
都采用最新的标准才能实现
这个无疑就增加了
厂商和消费者的门槛
所以最后蓝牙3.0HS
陷入了泥潭
我这儿给你们分享一个
很有意思的事情
2014年年底
我买了一架无人机
法国Parrot公司的「Bebop」
这架无人机有一个特色
就是利用手机的WiFi模块
采用WiFi Direct的通讯技术
实现手机遥控和实时图传
无人机摄像头的画面
其实当年的通讯技术
完全可以采用蓝牙3.0HS这个技术
通过蓝牙来实现遥控和图传
但是Parrot公司
依然采用了WiFi来实现
大概可能因为我刚才说那几个原因
第一 使用蓝牙会增加额外的设备的成本
因为需要采用最新的蓝牙协议和芯片
就会把成本转嫁到消费者和厂商上
第二个原因就是相比蓝牙
WiFi有着更远的传输距离
你不希望你的无人机
只能飞个几十米 就没信号了
第三个原因
就是蓝牙授权费的问题
我自己做过蓝牙相关的游戏产品
我留在下一期好好给你们讲
然后我就玩这架无人机
不小心飞机一头就栽进了
十几米高的松树的树丛里面
我没有梯子
所以够不着
我记得当时这架无人机还挺贵的
好像是五百美金的样子
于是我就上网查这种事
谁能来帮忙处理
后来就发现这个业务可以交给本地的消防部门
于是我就打了电话
联系了当地的消防部门
没过半个小时
一辆跟擎天柱差不多的那种大小的消防车就开过来了
然后两个消防员很恶劣的跟我说
这种事情 为什么要叫他们
我说你们政府主页上写了
你们负责retrieve民众的私有财产
而且你们部门的领导说
这件事确实归你们管
然后带头的消防员
态度特别傲慢
说我懒得给你拿
我懒得给你处理这种事
你可以用我们的梯子
你自己爬着拿
当时已经晚上七八点了
天已经黑了
而且美国的路灯又比较少
挂着我飞机的那棵树
黑黢黢的
什么都看不见
我很生气
但是当时救援无人机的心态很着急
我就没跟他废话
我爬着梯子爬了十几米
又打着手电筒
就把飞机给取下来了
完事之后
我就写了一封投诉信
给当地的相关部门
没过两天我收到了回信
是Fire Department的领导
跟我道歉
并且让当天负责的officer
也就是当天态度很傲慢的消防员
写了个道歉信给我
意思说
不应该让平民来担这风险
自己爬消防局的梯子
他的行为非常的不恰当
也不专业
给那天的那个事儿跟我道歉
这个是个题外话
意思就是想让你了解到
我实实在在的经历过
蓝牙3.0HS的技术变迁
以及为什么这个技术
没有走向大众市场
另一个用意是想告诉你们
我爬梯子的经历很早了
所以我对梯子技术很了解 就是这个原因
2010年蓝牙的第4个版本的
规范和技术标准
被制定出来了
蓝牙4.0意识到了
盲目的增加通讯带宽
想要跟WiFi对抗是不太现实的
SIG终于在蓝牙4.0的标准的制定上
回归了初心
按照之前蓝牙应该是WiFi技术的补充
这样的定位
进一步降低了功耗
并且整合了老牌巨头诺基亚的
一个叫做「Wibree」的
低功耗的通讯技术
把这个技术打包优化
摇身一变 变成了「BLE」
「Bluetooth Low Energy」
同时兼容以前的蓝牙标准
蓝牙4.0 规范定义了三种规格
第一种就是4.0引入的BLE的概念
主要针对的是极低的功耗
数据传输带宽小
但是兼顾了传输距离
第二种就是沿用了
3.0时代的高速通讯
保证一些需要用到数据传输量相对较大的
信息传输的吞吐能力
同时没有在这条路上越走越偏
依然采用的是最高24Mbps的传输带宽
第三种就是保留了经典蓝牙1.0和2.0兼容性
除此之外
蓝牙4.0还将通讯距离
从最开始的10米以内
到十几米
最后几十米
提高到了100米
搭配上了BLE的技术
能够维持极低的功耗
进行不亚于WiFi的通讯距离
牺牲的仅仅是数据的传输带宽
进一步增强了自己的技术定位
就是超低功耗
实现设备互联
而不是大数据量吞吐
BLE技术诞生以来
就是奔着物联网IoT的发展趋势去的
所以从2010年之后
大量支持BLE的物联网设备
在市场上不断的涌现
智能家居设备
智能家居生态
也开始大量的支持BLE
同时在蓝牙4.0时代
我体验过最好玩的一个东西
就是支持蓝牙4.0BLE技术的遥控纸飞机
这个产品是一个以色列人在众筹网站上
2013年的众筹项目
因为采用了BLE 通讯距离在户外接近100米的应用场景
对小型的遥控纸飞机来说
距离非常的适合
然后因为不用图传
使得数据传输带宽特别小
只需要传输很小的遥控数据
加上超低的功耗
简直是把BLE针对物联网技术的应用
发挥的淋漓尽致
反正我是特别佩服
这个以色列朋友的产品设计
能够这么前卫的使用
契合度这么高的技术
我早就听说
以色列的无线电通讯技术世界前茅
没想到通过一个小小的玩具设计
就能够这么深刻的体会到
以色列人是怎么玩无线电的
当时我就想
一个小小的陀螺仪
加个单片机
再加上一个小电机
就能实现这个原理
这么简单的小玩具
明明我也可以做
为什么这个点子就是想不到呢
于是就出于一种悲愤的心态
我以超低的价格
在他的众筹活动中
买了20架这样的遥控小飞机
前前后后陆陆续续
我玩了两三年
这也是我自认为买到的科技类的玩具
性价比最高的东西之一
蓝牙4.0的大版本
在接下来的几年里
也不断更新
推出了4.1和4.2
分别进一步优化了
物联网和可穿戴设备的支持
也就是在蓝牙4.0的时代
2015年
苹果推出了第一代的apple watch
就是依靠蓝牙BLE结和WiFi
实现和iPhone的数据通讯
才能在这么小的一个手表上
实现一天多的续航时间
你看 这个就是了解技术的好处
你真的可以切身的
结合自己的实际体验
来看待技术的发展和演进
并且能够真实的体验到科技
带给我们生活的各种转变
如果没有蓝牙BLE
而是采用以前的蓝牙通讯
或者是仅仅用WiFi进行通讯
我相信apple watch的续航
不会满足苹果严苛的标准
我们见证可穿戴设备蓬勃发展的年代
也会延后
很快时间来到了2016年
SIG在西雅图发布了下一代蓝牙标准
也就是蓝牙5.0
这一次的进化
体现在了各个方面
进一步增强了安全性
然后通讯距离扩展到了300米
传输带宽也有了提升
而且进一步降低了功耗
然后最大的一个技术革新
就是通过蓝牙信标实现室内定位
除此之外也添加了「Mesh组网」的支持
打破了传统的微微网 八个终端设备的限制
通过向烽火台一样的机制
可以在建筑内
甚至在户外组建成千上万设备
互联的Mesh网络
大幅扩展了蓝牙的应用场景
在2019年的WWDC大会上
苹果发布了利用到了WiFi GPS和蓝牙
结合实现的室内定位的技术
叫做「Indoor Positioning」
苹果其中的一个技术供应商
香港蜂图科技有限公司
创始人陈博士
恰好是我的朋友
早在2017年
苹果刚发布室内地图技术的时候
陈博士就告诉我
地图数据是他们提供的
苹果室内的定位技术
是结合了「蓝牙信标」 「WiFi Fingerprinting」
等技术结合实现的
可以看到蓝牙5.0技术
无论是应用场景和技术参数
又开始向着WiFi方向靠拢了
蓝牙5.0也支持两路的音频传输
可以同时连接两个音箱
或者是耳机
我们在苹果的「Share Audio」这个功能可以看到
可以将同一音源推到两套AirPods耳机上
就是蓝牙5.0的特性之一
今年刚结束的WWDC2020发布会上
可以看到苹果推出了一个
拿iPhone当作车钥匙的一个新型应用
其实就是利用到了
「NFC近场通讯」技术 蓝牙和「Ultra Wide Band」
「超宽带」芯片技术实现的
蓝牙5.0从1999年的初代
已经发展了二十余年了
应用场景也越来越广泛
虽然说在3.0时代
小小的玩脱了一下下
但是总体上来说
还是有着自己准确的
市场和技术上的定位
作为同样的无线电传输的标准
蓝牙和WiFi
在二十多年的发展中
互相补足
给现代的移动设备
可穿戴设备和智能家居 各种领域
带来了非常高的便捷性
并且在物联网时代
成了不可或缺的技术标准
简单总结一下
蓝牙的特点
就是让设备之间
实现点对点互联
实现最基础的数据传输
同时降低功耗
功耗只有WiFi的几十到十几分之一
需要大数据吞吐量的数据传输
请使用WiFi
因为这个不是蓝牙的特长
最显然易懂的WiFi和蓝牙结合的应用场景
就是苹果的「AirDrop」功能
充分利用到了
WiFi和蓝牙的各自的特性
通过超低功耗
超快握手的蓝牙
实现设备连接
再通过传输带宽大的WiFi
进行数据传输
总而言之
要省电 超长待机 要最基础的设备互联
就用蓝牙
要接入互联网
要大数据量通讯
就用WiFi
这两种通讯标准和谐共存
各有各的作用
刚刚的20多分钟里面
我简述了蓝牙的发展和迭代的历程
我的讲解内容是经过提炼过的
如果你有兴趣
详细的了解这些技术指标
你可以自行搜索学习
因为我曾经自己开发过
一款硬件产品
利用到了蓝牙芯片
所以在下一期
我会结合自己的经历
继续讲解蓝牙技术的实际应用
以及蓝牙技术的一些短板和缺陷
比如说蓝牙耳机的延迟问题
或者说为什么有些游戏手柄 耳机
或者是鼠标键盘
使用了蓝牙
而有些不用蓝牙
采用了他们自研的2.4GHz的通讯标准
它们之间的优缺点各是什么
欢迎关注硬核无线技术系列视频
蓝牙篇的下期
本期结束
我是电丸科技的AK
曾经开发过
蓝牙产品的开发者
这一期是硬核无线技术
蓝牙篇的下期
这一期我会讲到蓝牙的几个
比较主流的应用场景
和各自的优缺点
看完这一期
你会对蓝牙有更深入的了解
上一期简单介绍了一下
蓝牙技术的发展历程
这一期来讲一讲
跟你们生活息息相关的
蓝牙技术的实际应用
比如说蓝牙耳机
比如说蓝牙键盘鼠标
还有很多游戏控制器 手柄
包括我自己研发的游戏控制器「Tilted」
首先先声明一点
我的视频是面对普通人的科普
你不用担心
你不是技术人员
所以看不懂
我不仅不会深挖技术概念
反而能化繁为简的
把技术话题说得让所有人都能听得懂
这些知识
其实都很有意思
也很有价值
即便是普通人
我觉得也有必要了解
看完这期视频
你就大概明白了
蓝牙设备的工作原理
和科技产品的一些逻辑和优缺点
有了系统的了解
你就可以跟别人装一装啥的
如果你觉得没必要了解这些知识
但是又好奇
为什么很多人吐槽
蓝牙耳机的音质差
或者为什么来耳机有延迟
又或者为什么
很多游戏外设厂商
比如说鼠标键盘
还有手柄
这些厂商使用了蓝牙
为什么有些厂商又不蓝牙
又或者为什么像微软一样的大厂
明明在xbox手柄上
搭载了蓝牙芯片
但是连自家的游戏机
用的是自主的通讯标准
手柄跟电脑联机却用蓝牙
如果你有这些疑问
这个视频都会解答
首先先讲一下
两个特别基础和重要的概念
「Bluetooth Protocol Stack」
也就是「蓝牙协议栈」
和各种蓝牙「Profile」
「技术规范」
蓝牙协议栈
就是一系列协议的堆栈
也是把协议实现的代码
蓝牙无线传输数据的逻辑是
假如说你用蓝牙耳机听音乐
或者是用蓝牙键盘打游戏
按了一个按键
这些都是需要
通过无线的方式传输的数据
这些数据经过应用层
也就是听歌也好
键盘的按键也好
通过协议栈
以蓝牙的规范
层层封包
最后通过天线发射出去
被接收端接收
然后数据被解释出来
变成了音乐 从耳机里面播放出来
或者是你的一波闪现空大的操作
被电脑接收到
然后执行出来
这就是整个无线传输的过程
而协议栈要做的事情
具体是什么呢
比如一个蓝牙设备
发送一串数值
0X53
表明自己的电量情况
想要发送给另一台设备
我作为开发者
写出来的代码
就是send(0X53)
发送包含电量数据的数据包就可以了
看似好像是只需要把设备的电量信息
封包发出去就好了
但是事情有那么简单吗
就这么一个小小的问题
我们这些搞计算机的人
会瞬间想到一万种情况
比如说数据发送的时序问题
数据长度问题
数据类型问题
访问地址问题
接收端有没有在听的这些问题等等
所以很多人都说
搞计算机的理工男
跟机器一样冷冰冰的
不擅交际和表露感情
就是因为这个原因
因为长期跟计算机和机器打交道
必须要这么严谨和认真
比如说发送电量信息
这么一个小小的事情
你不懂技术
只会觉得很简单
只需要发送0X53
这组数据就行了
而实际的情况是极其复杂的
而解决这些复杂的问题
就是协议栈的目的
比如说我要发送电量数据
到另一个设备
我写的代码是send(0X53)
经过一层一层协议栈的自动的处理
自动帮我定义访问地址
数据长度
数据类型
规范发送的时序等等之后
最后真实传输的数据包
内容是这个样子的
而这些层层封包自动化处理
就是协议栈所干的事情
我之前在翻墙系列的系列视频第七期VPN那一期讲了
「OSI模型」解释了数据在软件硬件
各种层级中的流动情况
有兴趣的
你可以去看一下
蓝牙的协议栈跟OSI的原理差不多
数据也是一层一层的处理
最后通过天线的硬件发射出去
所以你看技术都是相通的
接下来我来解释一下
什么是蓝牙的Profile
也叫做服务
或者是规范
这些规范
或者是服务被「SIG」
也就是「蓝牙特别利益集团」定制
为的是统一不同厂商
和设备之间的标准
你可以理解为一个规范的语法
让所有的蓝牙设备
可以互相通讯
就好比我国的普通话
如果没有普通话
那么多民族和地区的方言
我们是无法沟通的
这些规范
比如说有「立体声音频传输规范」
「A2DP」
「Advanced Audio Distribution Profile」
打电话的蓝牙耳机的规范
「HSP」「Headset Profile」
还有用来跟打印机数据做沟通的「BPP」
「Basic Printing Profile」
还有比如说蓝牙键盘鼠标
还有游戏控制器 手柄
人体输入学设备这些
「HID」
「Human Input Device」
结合蓝牙的协议栈和各种Profile
如果你是开发人员
你在蓝牙协议栈的上层
也就是应用层来做开发
来开发实现你需要的功能
比如说你如果说你是做蓝牙耳机的
你就在协议栈的上层
调用A2DP的Profile
做音频传输的相关开发
如果你是做蓝牙鼠标键盘的
在协议栈的上层调用HID规范
做人体输入学设备的开发
基础知识了解完了
接下来开始讲
跟你生活息息相关的东西了
首先就是蓝牙耳机
很多人跟我说
蓝牙耳机音质差 延迟高
说的没错
如果你真的特别在意音质
你追求HiFi 解决方法其实很简单
那就是别用蓝牙就行了
用有线耳机
或者是2.4G的耳机
或者是开功放
真的 别笑
我是认真的
因为蓝牙技术解决的问题
是把有线变成无线
要考虑功耗问题
还要把不同厂商和设备之间的兼容性
做到最好
所以存在音质一般 有延迟这样的缺点
这就是取舍
蓝牙的本质上来说
就是低功耗的无线传输技术
蓝牙耳机解决的问题
就是能让你摆脱线缆的束缚
同时保证你能听到声音
但是你拿来听HiFi
还期待有多好的效果
真的就是本末倒置了
你不管用什么牌子的蓝牙耳机
都走的是A2DP的蓝牙音频的规范
都是那几个编码方式
所以在蓝牙耳机上
想要体验发烧级的HiFi的效果
你就是真的发烧了
我群里时不时能看到几个朋友讨论
前几天我看到有人在群里说
蓝牙是很垃圾的无线技术
什么蓝牙音质很差
什么垃圾之类的
我就很想跟他讲讲原理和原因
但是一个人一个人的解释效率又太低了
所以直接促使
我想做这一期的视频
来好好聊一聊这个话题
那么为什么蓝牙耳机
还有音响 车载音响有延迟
然后音质一般
聊到这个话题
我要先讲清楚
几个很重要的知识点
这个世界上任何声音
都是模拟信号
理论上如果说用数字信号
来完美的还原模拟信号
数据量是可以接近无穷大的
我在第一期视频的结尾的部分
有详细解释过
有兴趣的
记得可以去看一下
点这里
用绝对完美的数字信号
来替代模拟信号
是不现实的
因为要考虑传输和存储的可行性
况且模拟信号很多细节
我们人耳也听不出来
没必要浪费空间
把这些人耳都听不出来的部分
也通过数字信号
完美的还原
所以就有了采样这个技术的出现
只要把模拟信号里面
我们认为有必要的部分采样出来
转换成数字信号
最大程度的还原这个声音
这个就是采样的目的
采样率越高
数字信号从模拟信号采集的细节就越多
体积也就越大
采样率越低
细节就越少
声音的音质就越差
但是生成的文件体积就越小
采样率高低
各有利弊
应用场景也不相同
比如说音乐的采用率就比较高
越高越好
越高越能准确的还原乐器的音色
高低音和音乐里面的细节
但是实时通话就不一样了
你能听清楚对方说话和要表达的意思就够了
不需要像音乐那样
还原那么多细节
经过采样的音频数据
每一秒钟的数据量
这个就叫做码率
比如说MP3
就有128 256 320这几种码率
码率越高
理论上音质越好
采样率就越高
文件也就越大
理论上把你说话的发出的声音
采样成数字信号
如果采样率无限大
那么理论上生成的数据量也就无限大
CD的音质公认的可以满足绝大多数人对音质的追求
虽然也是经过比较高的采样率
采样模拟信号生成的数字信号
但是我们认为CD的音质
基本上可以满足「无损」这个定义
经过相对比较高的采样率生成的数据
每秒 CD大概是1400kbps的码率
延迟问题是怎么出现的呢
如果不使用蓝牙耳机
你打电话的时候的声音的处理
和传输的逻辑是这样子的
首先你说话的声音的信号
被麦克风拾取
然后经过「DAC」
「Digital to Analog Converter」
把模拟信号转成数字信号
然后经过「Amplifier」发放大器电路
再通过手机网络传输给对方
对方收到信号之后反着来
经过对方的「DAC」
然后变成模拟信号
经过扬声器再播放出来
本身这个过程就有一定的延迟
只不过延迟很低
不考虑手机网络传输信号的前提下
可能只有几毫秒到几十毫秒
人基本上感觉不出来延迟的存在
但是通过蓝牙传输
就多了很多步骤了
同样是你的声音
被蓝牙耳机的麦克风拾取
经过DAC 然后你的蓝牙耳机
需要按照蓝牙协议栈
和标准的蓝牙耳机
规范HSP来给声音编码
跑完协议栈
然后通过天线
把编码数据发送给手机
手机天线接收到之后
需要解码
反着跑一遍协议栈
然后才到了
把数据传给另一方这个步骤
而数据跑协议栈
蓝牙规范和编解码的过程
就是最大的产生延迟的根本原因
延迟可以高达上百毫秒
甚至几百毫秒
这样的延迟对人来说
感知就很强烈了
很多人说可能没有意识到
蓝牙耳机有延迟的问题
那是因为如果你只是看电影
画面会相应的做延后的补偿
来等待延迟的音频同步播放
所以多数情况下
是很难感知的
但是你可以戴着蓝牙耳机
去打游戏试一试
你立刻就能感受出来
尤其是快节奏的竞技性游戏
这就是为什么
绝大多数竞技游戏耳机
没有采用蓝牙的根本原因
补充一个小知识
你们多数人都遇到过一种情况
但是很多人可能都不明白原理
那就是很多人戴着蓝牙耳机听音乐的时候
突然接到一个电话
你点了接通之后
马上通话的音质
就发生了转变
变得很差
挂断电话之后
往往继续播放的音乐音质也会变得很差
过了几秒才会恢复到之前好音质的状态
原因就在于刚刚提到的两种规范
听音乐的A2DP规范和打电话的HSP规范
播放音乐的时候
采用的是A2DP规范
这个规范专门用来听音乐
看电影之类的场景
采用比较好的Codec给音频编码
牺牲一定程度的延迟
来实现高质量的音频传输
而用蓝牙耳机通话的时候
采用的是HSP规范
牺牲的是音质
降低了延迟
规范切换的过程
就是你听到的
从通话状态音质比较差
到音乐播放音质变好的过程
要回答为什么蓝牙耳机音质一般 和延迟比较高这个问题
简单来说有几个原因
第一个是编码
你听到的声音都不是实时的
音频文件播放的声音
跟用有线耳机
听音乐的逻辑是不一样的
蓝牙音频需要经过再次编码
蓝牙的目的就是低功耗
所以传输带宽受到协议限制
必须要按照蓝牙A2DP的规范
采用固定的几种编码方式
A2DP规范
要求蓝牙耳机传输音频的码率
最高限制在768kbps
这就有一个很有意思的事了
你如果用蓝牙耳机听CD
必然牺牲了音质
这就是为什么
我说想要最好的音质
你就不要指望蓝牙
那些可能不太了解技术的音响发烧友
天天讨论蓝牙耳机的音质好坏
在我看来就挺有意思的
1400kbps码率的CD用蓝牙传输
经过A2DP规范再次编码
硬生生的把码率拦腰砍了一半
你说音质能好到哪去呢
这就是为什么
如果你听320kbps的MP3
蓝牙耳机的音质足够好了
因为A2DP规范支持最高768kbps的音频传输
对音质没有那么发烧的普通人
用蓝牙耳机听音乐足足够了
但是如果你用蓝牙耳机
听码率很高的无损音乐 甚至CD
你还抱怨音质不如有线耳机
这个行为本身就很奇怪了
这也解释了有些人的疑惑
为什么蓝牙耳机A2DP规范上限码率768
但是可以用来听1400的CD
而不会发生断断续续的情况
就是因为不管音源是什么
蓝牙传输都经过了二次编码
不管原始码率有多高
都会统一采样
编码成固定的码率
这里特别说明一下
绝大多数人
包括我自己
其实听不太出来
320kbps码率的MP3
和1400kbps的CD音质的太大的区别
如果你能听得出来
说明你是金耳朵
你是少数人
所以蓝牙为了权衡功耗和延迟的问题
采用的编码
迎合了多数人的需求
蓝牙的音质足够好了
如果你是HiFi发烧友
蓝牙是满足不了你的
因为二次编码的过程
牺牲了音质
也正是因为二次编码延迟问题
从源头上就无法得到彻底的解决
也就是说通过编码
延迟比较高的问题
是永远存在的
在蓝牙用来做音频传输的
A2DP规范中
采用的编码方式
主要有「SBC」「AAC」「aptX」等等这几种
但是这些编码方式的码率
必须小于A2DP规范定义的最高768kbps
早期的蓝牙
采用的是SBC编码方式
是一种比较中庸
并且比较古老的编码方式
权衡了编解码的延迟 功耗 带宽这些因素
好处是统一性高
不管你用什么设备
必须按照规范走
保证的只要是蓝牙耳机
都会有一致的体验
坏处就是没有弹性
延迟和码率的问题
按照现在的标准来说
也确实存在一定的提升空间
SBC的编码码率是342kbps 延迟大概是200毫秒左右
刚才提到的
对绝大多数人来说
公认认为音质比较好的CD的标准码率
是1400kbps
从码率上来看
蓝牙A2DP立体声规范
采用的SBC编码
比CD差了4倍多
这就为后来的aptX这种编码方式的出现
提供了契机
aptX这种编码方式是高通定制的
差不多也是350kbps码率
但是同等码率下
有着相比SBC更好的音质
延迟也降低到了120毫秒左右
在2009年整合进了蓝牙的A2DP的音频规范里面
从那以后
靠着向下兼容
和SBC编码共存
设备间如果都支持aptX编码
这种情况下会采用aptX
但是如果一方不支持
那么就用兼容性更好的SBC编码
2012年和2016年的时候
A2DP规范分别加入了
进一步降低延迟的「aptX Low Latency」
和进一步增强了音质的「aptX HD」这两种编码
其中Low Latency的延迟
控制在了40毫秒左右
而增强了音质的HD
延迟反而增加到了200毫秒
跟早期的SBC达到了一个级别
但是好处就是音质大幅增强
码率也上涨到了576kbps
反正只有听音乐和看电影的时候
才会调用aptX HD编码
而且画面会根据声音延迟做补偿
所以aptX HD这种编码
也有它特定的应用场景
随着蓝牙的进化
专门用来传输音频的
A2DP规范的编码方式
从最早的只有SBC编码
到后面出现的AAC aptX aptX Low Latency
aptX HD还有aptX Adaptive 等等等等这些
随着编码方式越来越多
这就说到了第二个
导致蓝牙耳机音质一般和延迟比较高的问题
那就是兼容性
由于音频的编码越来越多
很多人说蓝牙耳机音质不好 延迟高
大概率就是因为你的设备可能比较廉价
又或者说比较老
编码用的是SBC
很可能你的耳机支持新编码
但是你的手机
或者是电脑的蓝牙芯片比较老
也会出现不得不降级
使用SBC编码传输的这个情况
这里插个题外话
aptX系列编码
因为是高通家的
广泛应用在windows
android平台
但是苹果也是个行业巨头
也想自己玩自己的标准
所以苹果手机和苹果的耳机
都是不支持aptX系列编码的
但是苹果的设备
音质和延迟问题相比aptX编码的设备
不但毫不逊色
多数情况下反而更加优秀
那是怎么做到的呢
原因就在于 苹果自己
基于蓝牙的H1和W1自主研发的芯片和AAC编码
苹果为了最好的体验
从硬件和协议的层面
都使用自家的标准
跟高通的aptX一样
也都是自己的一套东西
具体就不细节展开讲了
大公司之间的商业竞争问题
总之如果你在苹果家的生态
AAC编码的音质和延迟问题
相比aptX毫不逊色
但是如果你用苹果的无线耳机
连android的手机
很多时候
默认编码采用的还是SBC
那么音质 延迟还有电量续航问题
就会受到很大的影响了
如果可能的情况下
手动选择AAC编码是绝对有必要的
所以你看
封闭的苹果生态 有利有弊
但是在硬件和服务的角度上来看
封闭的生态的优势就体现出来了
你不需要知道那么多细节
拿来就用 效果最好
安卓虽然说开放
但是太开放
也会有各种问题
扔给用户的选择太多
你如果不懂技术原理
选择太多反而会给你增加成本
总结一下
为什么蓝牙耳机有延迟 和音质一般的情况
那就是因为蓝牙通讯标准的限制
蓝牙要解决的问题是
让设备之间无线的连接
而不是专门为HiFi设计的
因为协议栈
因为蓝牙Profile规范
因为要兼顾新老硬件和协议
这些综合原因共同作用
导致延迟和音质一般的问题
所以说想要最好的体验
请保证自己的设备
都支持最新的标准
一旦你的设备
其中一个不兼容最高的标准
哪怕你的另一个设备是最新的
它们之间的通讯
也会降低到之前的编码方式
另外如果想要体验蓝牙耳机
最好的音质和最低的延迟
非苹果生态请用aptX编码
苹果生态
请攒钱买全家桶
接下来讲到蓝牙的HID规范
和人体输入学设备
比如说蓝牙鼠标键盘
游戏手柄之类的硬件了
你们可能最大的困惑在于
为什么很多设备支持蓝牙
很多设备只支持2.4配个接收器
也有很多设备是双模的
比如说罗技的很多产品
有蓝牙 也有自己的优联Unifying无线技术
原因很简单
就是因为协议栈
蓝牙规定了标准
又为了顾全多个设备
和厂商之间互相兼容
导致多数HID设备
会有比较高的延迟
对普通办公来说
那点延迟不算什么
但是对于实时性
有严格要求的游戏来说
蓝牙的鼠标键盘延迟就比较高了
这里可能会有人不同意
认为蓝牙的鼠标键盘的延迟
感觉不太出来
原因主要分为三个
第一个原因是看你玩的游戏的类型
非竞技性的休闲游戏
比如说你玩个连连看 纸牌游戏啥的
蓝牙的那点延迟
你很难感受得到
但是如果你玩一些激烈的对抗性游戏
延迟的感受就比较明显了
另一个原因在于
你的显示器刷新率越高
画面帧率显示的频率也就越高
这个时候
如果你用蓝牙键盘和鼠标
你就更加能明显的感知到
这就是为什么
普通办公用的显示器
比如说60Hz
每一帧平均的生成时间是17毫秒
蓝牙的延迟
普遍是在8毫秒到十几毫秒之间
由于画面刷新的时间
17毫秒
基本上涵盖掉了蓝牙的延迟
所以不太容易感知
但是如果你用高刷新率显示器打游戏
画面更新的平均时间
是在4毫秒到9毫秒之间
那么就比普通的蓝牙的鼠标键盘速度更快了
蓝牙的延迟跟不上画面的刷新率
你就能够感知到鼠标指针
和按键输入的滞后感
第三个原因在于
蓝牙HID规范定义人体输入学设备的「Polling Rate」
普遍都是在125Hz
也就是说一秒钟蓝牙鼠标键盘报告自己的状态125次
平均每8毫秒报告一次
而采用2.4G或者是有线的鼠标键盘
报告率能够达到1000Hz
也就是平均1毫秒报告一次
这也就是为什么
很多厂商用自己的2.4G通讯配合接收器
就是因为对于竞技游戏
相关的产品来讲
蓝牙的延迟是致命的
虽然说只有8毫秒
虽然说你可以提高蓝牙的报告率
但是具体能提高多少
我还真不知道
我尝试查过蓝牙HID规范
但是除了125Hz标准的报告率之外
我查不到 规范定义允许最高的报告率是多少
这个其实很好理解
因为BLE的目的
就是为了低功耗
你报告率提高
就意味着功耗成倍的增加
那么采用蓝牙的意义
反而就没了
设备生产厂商也不傻
没有做在蓝牙协议栈里面提高报告率的事情的必要
还有一个原因
我猜测是因为如果采用蓝牙
提高了报告率
降低了报告率产生的延迟
依然还有协议栈的延迟
相比2.4G来说
不仅没有优势
反而还要买SIG
也就是蓝牙特别利益集团
BQB的授权
BQB授权费就是说
假如说你生产蓝牙技术的产品
你需要向SIG蓝牙特别利益集团
买这个技术授权
授权费我记得大概是8000美金
对比2.4G来讲没有优势
还要花钱
为什么还要用蓝牙呢 对吧
BQB授权这个话题我等一下给你们讲
2.4G频段属于「ISM频段」
「Industrial Scientific Medical」
「工业 科研 医用」频段
不需要购买任何授权
就可以免费使用这个频段
这就是为什么那么多厂商不用蓝牙
采用自己的2.4G无线技术
就是因为刚才提到的两个原因
第一相比蓝牙延迟更低
第二免费
至于为什么有些鼠标键盘是双模的
原因主要就是考虑兼容性
保证如果你弄丢了
2.4G的接收器的话
只要你的电脑有蓝牙
依然可以通过蓝牙连接
或者是通过蓝牙
扩展产品的连接性
可以通过蓝牙
连上手机平板之类的当做蓝牙键盘用
而且多数情况下
厂商使用2.4G通讯的模块
兼容蓝牙和2.4
你交了钱买了蓝牙授权
然后在2.4的芯片上
基于蓝牙协议栈做开发
你就可以使用蓝牙
同时也可以使用自己的2.4G
并不需要两个通讯模块
分别实现2.4和蓝牙
毕竟蓝牙也是在2.4频段的
无线通信技术
只不过跑特定的蓝牙协议栈
遵循特定的蓝牙规范
蓝牙就成了蓝牙
本质上从硬件上和无线电的原理上
依然还是2.4G频段的无线技术
因此可以和2.4G通讯共同存在
据我自己的观察
一般那种特别廉价的鼠标键盘
往往都没有蓝牙
只用自己的2.4
厂商没有买蓝牙BQB授权
所以产品能进一步的降低成本
卖得更便宜
中高端的HID设备
很多都是双模的
就是因为我刚才说的兼容性问题
而且往往大一点的厂商
是不在乎几千美金的授权费的
买了蓝牙授权之后
反正通讯模块既可以走2.4 也可以走蓝牙
好处就是可以通过蓝牙
连接手机平板
扩展了产品的应用场景
但是一些高端型号的游戏用的鼠标键盘
虽然说是双模的
但是为了解决刚才说的延迟问题 报告率问题
一般厂商都会鼓励你用2.4
配合他们自己的无线接收器来打游戏
获得最好的体验
除了蓝牙鼠标键盘
蓝牙游戏控制器
也属于HID设备
包括手柄 摇杆
还有其他种类的游戏控制器
比如说我自己做的这个东西
微软和索尼的手柄
都支持蓝牙
但是微软的xbox手柄
连接自己家的主机的时候
用的是私有的2.4G通讯技术
就是因为有更强的扩展性和弹性
干扰问题和通讯带宽 功耗这些方面
微软也有技术实力
优化得比蓝牙更好
并不是说蓝牙就不好
在蓝牙协议栈天然兼顾兼容性和低功耗
而牺牲了顶级的性能和弹性的基础上
微软能做的优化并不多
因为底层的蓝牙协议栈
微软是无法干预的
然而为什么要做成双模呢
跟蓝牙键鼠是一个道理的
就是为了兼容电脑手机平板这些设备
因为这些设备都有蓝牙模块
2017年年底的时候
我开发了一个游戏控制器
就这个东西 叫「Tilted」
最开始我做产品的原型设计的时候
我用的是任天堂的wii手柄
实现的原型机
配合我自己写的这些代码
实现了最基础的动作控制功能
就是基于蓝牙开发的
后来的量产型号
本来也想用蓝牙协议
研发都搞得差不多了
马上就要量产了
但是遇到两个问题
最后不得不放弃蓝牙
我作为曾经的蓝牙开发者
给你们分享一下
为什么我到最后时刻
没有使用蓝牙
而是换用了2.4G
第一个原因在于
最开始我做产品设计的时候
因为主打海外市场
海外市场蓝牙普及率比较高
基本上大家的电脑都有蓝牙模块
所以打算直接用蓝牙协议
好处就是兼容性高
在蓝牙协议栈上
用HID规范容易开发
另一个好处就是不用单独配个2.4G的接收器
成本能帮我们省下来十几块钱
因为我们的客户
基本上用的都是品牌机
机器都自带蓝牙
但是后来
我做国内市场调查的时候
我惊讶得下巴都要掉下来了
因为很多国内的玩家
都是自己攒的主机
很多人为了省钱
买电脑的时候
买的都是主板上没有蓝牙的主板
也没买无线模块
也就没有蓝牙
买了我们的产品就没办法用了
另外很多人
其实都不知道蓝牙是什么东西
这个还真不夸张
真的
甚至我自己公司里的一个程序员
听都没听过蓝牙这个东西
你真没听错
我当时跟你一个反应
然后我就意识到了
蓝牙技术的普及程度
国内外还真是有区别的
然后就不得不做妥协
如果要用蓝牙
就要配一个蓝牙接收器
给那些没有蓝牙的用户
成本反而会更高
因为除了接收器
还有个BQB授权这么一个费用
如果不用蓝牙
用我们自己开发的2.4
虽然说依然要配一个接收器
但是至少能保证所有人都能用
而且省下了BQB的授权费
所以最后我们采用的就是2.4G 配合接收器 这个解决方案
我的产品Tilted
也就和蓝牙这么擦身而过了
其实当时已经完成了
蓝牙协议栈的开发
采用的芯片是「Nordic」公司的「51822」这款SoC
本身就是2.4和蓝牙双模的芯片
就像我刚才说的
买了授权就可以用蓝牙
没买授权 一样可以用自己的2.4G技术
同一块SoC 不比蓝牙差
反而延迟更低
说实话
像我这样子
能够把技术问题
跟你讲清楚的人很少
绝大多数的工程师
都没有时间
和足够的表达能力
跟你把一些技术问题
简化到像我的视频这样子
做这样的技术内容
很不容易
需要完善的知识储备
和逻辑能力表达能力
如果你觉得我的内容
对你有价值
请不要吝啬你的点赞 订阅
真的会极大的帮助到
YouTube的推荐算法
帮我把视频推广给更多的技术爱好者
真的 谢谢各位
蓝牙的话题差不多就说完了
以后如果出现新的技术
和蓝牙的相关的产品
我会做成新的视频
添加到无线技术的播放列表里面
下一期我讲一讲别的无线技术
本期结束
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment