Skip to content

蓝牙通讯 速率

ShenYj edited this page Dec 15, 2021 · 1 revision

蓝牙通讯-速率

本人于2017年4月份接触蓝牙开发,关于蓝牙协议栈, 也是在6月份左右开始联调的时候遇到了一些问题,才开始查阅了解到这方面知识的,曾经看过的两处较为全面和细致的资源: 蜗窝科技CY大象,但今天(21年12月15日)再次整理迁移文章的时候发现论坛已经成黄网了 ̄□ ̄||

开始学习蓝牙的时候,也是加一些技术交流群,可是最终发现,很多从事蓝牙开发的iOS人员,连蓝牙协议栈都不知道, 关于安全机制甚至都没听过, 这主要也是因为苹果的封装实现都比较简单,而更多的一些设置接口并未暴露,这也导致了iOS方面存在诸多限制.

通过当时的测试结果,总结了下iPhone的MTU信息

.

MTU包括三个部分:OP Code(1Byte)Handler(2Byte)Payload , 通过不同设备的测试, 抛去 OP Code(1Byte)Handler(2Byte), 所以得出了以上的结果, 而17年时Android的MTU已经达到了247, 至于可以手动进行设置这点 , 因为我并不从事Android开发 , 所以没有尝试过.

而当时网络上大部分的资料描述iOS都是23Byte, 当时的资料已经相当过时了,还有很多网文猜测是搬运的,并没有验证过

下面是一份当时从ifixit上获取到的iPhone的WiFi-BT蓝牙硬件参数信息

.

因为公司项目要保证强实时和高质量通信速率, 所以对通信速度也做了多次的测试, 以下是部分测试结果

.

说明: 以上测试结果是在设备波特率为19200下的测试结果, 很多外设目前的波特率最高为115200, 可是我们的设置在修改到了115200波特率下后,iOS就会出现传输速率不稳定,每个包片段长度阶梯型变化的现象, 但Android那边并无影响 , 虽然iOS不能像Android那样有更大的MTU size,但是在苹果论坛中, 有一位苹果工作人员留下这样一段答复

.

然而在通信速度上,4.0与4.2 甚至与 4.2 + DLE三者在通信速度上并没有看到什么明显的提升.

在关于蓝牙后台方面,我曾经做过三次测试(在没有开启后台重连的情况下): 第一次最长,保持了15.5小时 第二次保持了11小时 第三次只保持了8小时左右

测试的环境是,打开应用放置后台锁屏

Getting Started

Social

Clone this wiki locally