一旦你剥去所有的炒作和公关语言,蓝牙5的真相是什么? 它更快吗?它有更好的传输距离吗?让我解释一下。
蓝牙是那些我们现在认为司空见惯的技术之一。自1990年代中期问世以来,它已成为一项基本的无线技术,不仅适用于智能手机,而且适用于平板电脑、笔记本电脑、台式机等。
蓝牙有两种类型:"经典 "和 "低功耗"。前者是使我们的无线键盘和鼠标,以及无线耳机和扬声器得以实现的蓝牙。后者,即蓝牙低功耗(BLE)使用的功率要小得多,是为医疗保健、健身和信标等领域设计的。这就是为什么像Fitbit Charge 2这样的可穿戴设备使用BLE而不是蓝牙经典。
2016年夏天,蓝牙特别兴趣小组(Bluetooth SIG)宣布了蓝牙5,之后不久,我做了一个关于蓝牙5的解释视频。 从那时起,新的规范已经正式发布,该技术开始出现在开发板和消费小工具中,最引人注目的是Galaxy S8。
由于蓝牙5可能会在未来几年内成为事实上的蓝牙版本,我认为现在测试一下它,了解它的传输距离和速度的真相很有必要。为了做到这一点,我从北欧半导体公司获得了两块蓝牙5 nRF52840开发板。这两块板子带有蓝牙5协议栈和一个时钟频率为64MHz的32位ARM Cortex-M4F微控制器。
这基本上意味着你可以为板子写C程序来测试蓝牙5,这就是我所做的。为了节省时间,我从北欧公司提供的蓝牙吞吐量程序的例子开始,然后根据我的特殊需要对其进行调整。
这些板子支持三种类型的蓝牙连接。BLE 4.x、蓝牙5 2 Mbps和蓝牙5 Coded(长距离通信)。第一种连接符合当前的蓝牙低功耗规格书,也就是BLE 4.x。它被称为BLE 1 Mbps连接,因为这是在添加任何协议开销之前的最低水平或最底层的大致速度。
第二种是蓝牙5新带来的的更快的通信速度。 在最低水平下,它的额定速率是2Mbps。第三种是为蓝牙5引入的一种新的特殊连接,其目的是提供长距离蓝牙连接,但比特率较低。换句话说:距离优先而不是速度。
BLE 4.2
BLE 5
BLE 5 Long Range (S=2)
BLE 5 Long Range (S=8)
Connection speed
1 Mbps
2 Mbps
1 Mbps
1 Mbps
Network data rate
1 Mbps
2 Mbps
500 Kbps
125 Kbps
Data throughput
800 Kbps
1400 Kbps
380 Kbps
109 Kbps
Error Correction
None
None
FEC
FEC
Bluetooth 5 Requirement
Mandatory
Optional
Optional
Optional
速度加倍
蓝牙5将 带宽增加一倍的方式是将传输速度增加一倍。因此,以前一个数据包(实际上价值251字节)是在设定的时间帧内(2120微秒)发送。现在,通过蓝牙5,同样的数据可以在1060微秒内发送。然而,你并没有完全得到双倍的数据速率,因为帧间空间--即两个连续数据包之间的时间间隔--与蓝牙4保持一致。 这意味着数据的发送速度更快,但数据包之间的间隙并没有缩短。当你做数学计算时,这意味着蓝牙5实际上比BLE 4.2快1.7倍左右。
蓝牙5实际上比BLE 4.2快约1.7倍。
编码和前向纠错(Coded and Forward Error Correction)
蓝牙5提供了一种特殊的连接,是为长距离通信而设计的。因此,这不是用于蓝牙扬声器或将你的智能手表与你的智能手机同步,而是用于物联网。 物联网的力量是能够将廉价的模块放置在建筑中(无论是住宅还是工业)或在开放空间(公园或农田),并收集数据。这些数据可以是任何东西,从温度或湿度,到运动探测器或交通监视器。这种可能性是无穷无尽的。但问题是,这些传感器需要有电源,它们需要将数据发送到中央枢纽或网关。如果设备被插入主电源,那么电源就不是问题,也许设备会使用Wi-Fi进行通信。但对主电源和Wi-Fi覆盖的要求限制了这类设备的范围和潜力。
这就是蓝牙5长距离的作用。首先,由于该设备使用蓝牙,它不一定需要主电源。其次,它不需要结合Wi-Fi,甚至不需要Wi-Fi覆盖。相反,这些传感器可以放置在只有电池供电的地方,使用蓝牙5长距离(Bluetooth 5 Long Range)与网关通信。
但是,如何才能在不增加功耗的情况下增加范围呢?一种方法是降低数据速率。这基本上意味着,在相同的电源水平下,发送的每一位数据都会消耗更多的能量。第二个技巧是使用纠错。
为了使连接可靠,它必须确保当一个数字被发送时,另一端也能收到相同的数字。如果一个 "1 "在某处被改成了 "0",就是一个巨大错误。
蓝牙5使用基于汉明码(Hamming codes)的强大纠错系统,汉明码是理查德-汉明(Richard Hamming)在20世纪50年代发明的纠错码系列。它被称为前向纠错(FEC / Forward Error Correction),这个系统将单个数字 "1 "或 "0 "替换成多个数字来组成一个字(word)。
让我们举一个非常简单的例子,不过不是一个在现实世界中有实际使用的例子,但它是一个很好的说明。一个系统可以不传送 "0",而是传送 "0000",不传送 "1",而是传送 "1111"。这显然会比较慢,但它提供了一些弹性。如果信息在途中被破坏,比如说被破坏成'0001',那么你可以确信它实际上是'0000'。
同样,如果它从'1111'被改成'1011',那么你仍然可以确定它本来是'1'。然而,如果收到'1010',那么很明显有两个比特被改变了,但是是'0000'被改变为'1010'还是'1111'被改变为'1010'?好消息是,有一整个计算机科学领域致力于研究检测传输中错误的最佳方法,并研究如何纠正错误。
真实世界
为了在现实世界中测试蓝牙5,我拿着我的两块北欧半导体开发板,在不同的情况下测试吞吐速度。首先,我测试了我家周围的吞吐量。一块板子一直连接到我的电脑上,而另一块板子则被移到不同的房间里,越移越远。在第二个测试中,我把我的整个装置带到了当地的一个购物中心,测试了可能的距离,特别是使用蓝牙5长距离(Bluetooth 5 Long Range)(即Coded)的工作距离。
房间测试
这是我的房子的一个非常基本的布局:
左下角的蓝色圆圈代表发送器(与我的电脑相连),而蓝色的星星代表房子周围不同的接收器位置和墙壁的大致位置。我家的墙是用石膏板(或干墙)覆盖的简单隔断墙。你会发现,较厚的墙壁、混凝土或砖墙,以及有铁制品的墙壁,会改变信号的传播方式。
当板子相邻时,我能够使用蓝牙5获得1337 Kbps的吞吐量(即每秒1337千比特,相当于每秒167千字节),蓝牙4.2获得746 Kbps。下面是一个表格,说明当我把板子越移越远时,比特率是如何变化的:
Point
Distance
Walls
Bluetooth 5 throughput
Bluetooth 4.2 throughput
1
5m/16ftt
1
1215
672
2
11m/36ft
2
900
629
3
18m/59ft
4
470
386
4
11m/36ft
2
584
533
如果你看一下上表中的数据,你会注意到几件事。首先,蓝牙5在每种情况下都比蓝牙4快。Good! 其次,对于较近的距离,蓝牙5的速度明显比BLE 4.2快:1125 Kbps对672 Kbps的点1,900 Kbps对629 Kbps的点2。
随着距离的增加,与BLE 4.2相比,普通蓝牙5的优势就会减弱。
第三,吞吐量随着距离的增加而下降。最后,随着距离的增加,与BLE 4.2相比,蓝牙5的好处减少了(目前忽略了长距离模式)。
你可能期望第2点和第4点的吞吐量是一样的,但显然它们不是。我的猜测是,家具的数量和所述家具的布局是不同的。当然,到2号点的信号比到4号点的信号有较少的障碍物路径。
购物中心测试
我的下一个测试没有上面的家庭测试那么科学,我真的建议你观看视频来了解这些测试是如何进行的。由于我是在购物中心,我无法拿出卷尺开始计算距离,但是我学到了一些重要的东西。
蓝牙在没有障碍物(墙壁、家具等)的情况下效果最好--在美食广场,这基本上是一个有桌子和椅子的大型室内开放空间,蓝牙的性能令人印象深刻。我的吞吐量超过450Kbps,240Kbps,取决于距离。
金属是最坏的--当尝试从购物中心内部到外部的测试时,虽然我有视线穿过大窗户,但性能很差。我把这归因于窗户的大型金属框架和其他金属元素,包括家具。
使用蓝牙5长距离(编码),我成功地连接了100多米--我觉得如果我更努力地寻找理想的条件,情况会更好。
使用蓝牙5长距离(编码),在数据传输率下降的情况下,我实现了超过100米的连接。
总结
从我的测试中可以看出,蓝牙5已经兑现了其更高吞吐量的承诺。当两个设备在几米范围内时,速度可能超过1000Kbps,在信号覆盖范围的一半左右,蓝牙5仍然比BLE 4.2快。在范围的最边缘,速度差异明显下降,根据我读到的一些数学计算,蓝牙5的理论范围(使用2 Mbps连接类型)实际上比BLE 4.2短。然而,蓝牙5确实引入了新的长距离(编码)连接类型,提供更大的范围,但吞吐量较小。
值得注意的是,在蓝牙5中,对2 Mbps和编码连接的支持是可选的。 唯一强制的连接是蓝牙4中的1 Mbps连接速度,然而,即使蓝牙5的设置只支持1 Mbps的连接速度,它仍然需要支持新的协议元素,比如更大的广播容量(从31字节增加到255字节)。
长距离(编码)连接的可能性是令人感兴趣的,肯定会有很多物联网和家庭自动化应用。我希望进入我们智能手机的蓝牙5堆栈将包括蓝牙5的所有优点,而不是没有2 Mbps连接类型或编码连接的削减版。
现在你已经看到了蓝牙5的作用,你对在即将到来的智能手机中看到它感到兴奋吗?在物联网和智能家居设备中呢?
总结
从我的测试中可以看出,蓝牙5已经兑现了其更高吞吐量的承诺。当两个设备在几米范围内时,速度可能超过1000Kbps,在信号覆盖范围的一半左右,蓝牙5仍然比BLE 4.2快。在范围的最边缘,速度差异明显下降,根据我读到的一些数学计算,蓝牙5的理论范围(使用2 Mbps连接类型)实际上比BLE 4.2短。然而,蓝牙5确实引入了新的长距离(Long Range)(编码Coded)连接类型,提供更大的范围,但吞吐量较小。
值得注意的是,在蓝牙5中,对2 Mbps和编码连接的支持是可选的。 唯一强制的连接是蓝牙4中的1 Mbps连接速度,然而,即使蓝牙5的设置只支持1 Mbps的连接速度,它仍然需要支持新的协议元素,比如更大的广播容量(从31字节增加到255字节)。
长距离(编码)连接的可能性是令人感兴趣的,肯定会有很多物联网和家庭自动化应用。我希望我们智能手机配备的蓝牙5堆栈将包括蓝牙5的所有优点,而不是没有2 Mbps连接类型或编码连接的削减版。
现在你已经看到了蓝牙5的作用,你对在即将到来的智能手机中看到它感到兴奋吗?在物联网和智能家居设备中呢?
参考:
The truth about Bluetooth 5 - Gary explains - Android Authorityhttps://www.androidauthority.com/bluetooth-5-speed-range-762369/

蓝牙 - 关于5.0版本的一些解释相关推荐

  1. Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发

    一.Android Bluetooth现状 在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针 ...

  2. 蓝牙的发展史及版本演进

    蓝牙技术最初由爱立信创制,始于爱立信公司的1994方案,它是研究在移动电话和其他配件间进行低功耗.低成本无线通信连接的方法. 发明者希望为设备间的通讯创造一组统一规则(标准化协议),以解决用户间互不兼 ...

  3. 【机器学习】scikit-learn 1.0 版本重要新特性一览

    1 简介 就在几天前,著名的机器学习框架scikit-learn在pypi上释放了其1.0rc1版本,这里给大家科普一下,版本号中的rc是Release Candidate的简称,代表当前的版本是一个 ...

  4. 使用 okHttp 3.0 版本前后的两点区别.(不要入坑哦)

    OkHttp 优点: OkHttp会从很多常用的连接问题中自动恢复.如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,会自动尝试下一个IP.OkHttp还处理了代理服务器问题和SSL握手失 ...

  5. 复刻了一个史上最强 Redis 6.0 版本

    阿里云 Redis 从 2015 年商用以来,一直是全球领先的云KV内存数据库产品,自从正式推出云数据库Redis 6.0版本,包含多项重大功能更新和大幅度的性能提升.相比于社区最初多线程版本的设计, ...

  6. php7.0开发手册手机版_PHP7.0版本备注

    这篇文章主要介绍了PHP7.0版本备注,新版本发布在性能方面大大提升,同时在语言特性方面也改变了不少,以下内容是LCT翻译对官方版本升级备注,需要的朋友可以参考 PHP7.0新版本不仅在性能方面大大提 ...

  7. 微信 SDK 升级,全面支持异步缓存接口, .NET 3.5/4.0版本5月1日起停止更新

    简介 Senparc.Weixin SDK 是目前使用率最高的微信 .NET SDK,也是国内最受欢迎的 .NET 开源项目之一. 使用 Senparc.Weixin,您可以方便快速地开发微信全平台的 ...

  8. Hackintosh Dell vostro 5460 alpha v1.0 版本

    Hackintosh Dell vostro 5460 alpha v1.0 版本 基本信息 机器型号: DELL vostro 5460 (i3-3120m) Mac版本: Mavericks 10 ...

  9. 英语构词法软件wordformation发布全新1.0版本

    英语构词法软件自2011年4月上传网盘供下载使用以来,已经获得了部分用户的好评,项目组也从未放弃对软件的更新.时隔一年,英语构词法软件又卷土重来,项目小组对软件界面和单词划分算法做了彻底的改动,从而使 ...

最新文章

  1. 软件开发环境-按开发阶段分类
  2. python数据结构推荐书-关于数据结构,有哪些不错的参考书推荐?
  3. 怎样一步一步删除(linux amp; UNIX)环境下 oracle 11g 集群节点
  4. 【原创翻译】The Free Lunch Is Over
  5. 锁定机制和数据并发管理(笔记)
  6. 京解之才——2019年技术盘点微服务篇(三)| 程序员硬核评测
  7. 灰色预测法 —— python
  8. 【debug】mount: unknown filesystem type ‘nfs’
  9. Java-修改class文件
  10. 统计字符个数的c语言程序设计,编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数。...
  11. Smart Panels精彩系列面板_备份和恢复的具体步骤(2种方法)
  12. Java三大主流框架
  13. java的简单逻辑博彩游戏craps
  14. ART中 MIR -- LIR -- 机器码 的流程
  15. 个人博客网站编写(01)
  16. 【Bootstrap】007-全局样式:按钮
  17. [yocto]poky环境搭建和基本概念
  18. ML之FE:风控场景之金融评分卡模型之利用LoR模型权重变量系数正负符号结合p-value/P值大小实现变量筛选
  19. 2.股票入门课(新版)
  20. ValueError: Expected parameter scale of distribution Normal to satisfy the constraint GreaterThan

热门文章

  1. BAT人工智能生态时局图:全面战争爆发前夜
  2. Python制作复古地牢文字冒险游戏
  3. 硬盘接口 PCI-E接口 PCI-E总线 MiniPCIe接口
  4. ubuntu安装keepass2 中文乱码
  5. idea导入依赖报 Failed to read artifact descriptor 解决方法
  6. WeMall的Android app商城中的wemall doraemon代码
  7. 爬虫入门经典(十一) | 一文带你爬取传统古诗词(超级简单!)
  8. 首个企业架构TOGAF角色扮演案例培训的诞生
  9. 2012华为校园招聘机试(武汉)
  10. 《恋爱公寓》用户隐私政策