1

使用 1.6.2 的 Movesense send_ble_nus 可以实现的 B/s 是多少?我假设数据包长度 20 是最佳的。在 Windows 10 和 Android 8.1 上使用 Xamarin Forms https://github.com/aritchie/bluetoothle组件收听时,50 Hz * 20 B/s = 1000 B/s 不会丢失。在 100 Hz * 20 B/s = 2000 B/s 的情况下,一些(Window 10 <1 %,Android 8.1 <0.1 %)数据包丢失。2000 B/s 的速率能否通过例如 MTU 更改或更优化的代码获得?

4

1 回答 1

0

Movesense 传感器支持高达 158 字节的 MTU 和 BLE 4.2数据长度扩展。如果对方知道使用较大的 MTU 和 DLE,则最佳做法是全部填充:即将数据放入 155 字节的数据包中。理论上可以达到 800kbps 的速度,但实际上使用移动设备时速度会更慢(可能要少得多)。

使用 android,通过从开发人员设置中启用“HCI 转储”功能并使用 Wireshark 协议分析器研究生成的 .log 文件,很容易看到协商了哪些连接参数。

于 2018-07-04T09:17:07.183 回答