我正在设置要用作服务器(外围设备)做广告的设备,以及要用作客户端(中间设备)的移动电话。我的问题是:当我的中央设备从外围设备“读取”时,外围设备可以为一个请求响应多少个数据包?
到目前为止,我所看到的是外围设备可能会响应一个20字节的数据包,然后指示另一个20字节的数据包。我看不到如何达到规定的数据速率?
答案 0 :(得分:0)
从您的问题中我了解到您的实际问题是如何实现最大BLE数据速率,对吗?
在这里看看: https://stackoverflow.com/search?q=BLE+throughput
特别是在这里:BLE peripheral throughput limit和这里How can I increase the throughput of my BLE application?
通常,关键不是首位的数据包数量。首先看一下MTU的大小和连接间隔。之后,可以,每个连接间隔可以发送多个数据包。 (呃,我通常必须在这里猜3或4,但不确定)
此外,在较新的蓝牙标准版本中,您可以查看设备是否支持数据包长度扩展。
为进一步阅读,我建议 https://punchthrough.com/pt-blog-post/maximizing-ble-throughput-on-ios-and-android/
和
https://punchthrough.com/pt-blog-post/maximizing-ble-throughput-part-3-data-length-extension-dle/
答案 1 :(得分:0)
使用通知而不是读取请求,您将获得最佳吞吐量。
然后,较小的连接间隔通常也会增加吞吐量。
使用LE数据长度扩展和较大的MTU会进一步增加它。
最后一步是从1 Mbit / s PHY切换到2 Mbit / s PHY,以变得更好。