Last active
June 25, 2024 07:13
-
-
Save Archerqvq/b7548389df43ac9e008625c6844ae161 to your computer and use it in GitHub Desktop.
Bluetooth Notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
我是电丸科技的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的通讯标准 | |
它们之间的优缺点各是什么 | |
欢迎关注硬核无线技术系列视频 | |
蓝牙篇的下期 | |
本期结束 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
我是电丸科技的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