蓝牙LE最大传输大小

时间:2014-10-06 10:30:34

标签: bluetooth-lowenergy core-bluetooth android-bluetooth

我们目前正在使用蓝牙LE,并希望向gatt服务发送128个字符的字符串。

现在蓝牙规格说BLE的最大数据包大小是22个字节,我的字符串将永远不适合数据包。

我们正在考虑将其分块并在迭代中发送。

这是通常的做事方式吗?

1 个答案:

答案 0 :(得分:3)

是的,您需要将数据块化为18个字节,然后将一系列Prepare Write Request发送到服务器。每个请求都有3个参数:

  • 属性句柄(2个字节)
  • 属性偏移量(2个字节)
  • 数据部分(最多18个字节)

所以你先发送一个偏移量为0的数据包,然后发送一个偏移量为18的数据包,然后是36等。 执行此操作时,服务器会将您的所有请求排队。

最后,您发送Execute Write Request,服务器一次性写入所有字节。