use*_*962 5 android bluetooth-lowenergy
我有一个关于android 4.4蓝牙低功耗的问题.
我有一个带UART Rx引脚的BLE加密狗.我可以将字节数据从Rx-pin发送到BLE加密狗,BLE加密狗将通过指示将数据发送到蓝牙主机设备.
所以我有一个Rx特征值,它的属性是指示.我将大约80字节的数据发送到Rx特性,但是我只通过回调函数onCharacteristicChanged得到20个字节.
但我使用iPad mini来表示这个特征值,它接收4个数据包中的一个20字节数据,看起来是正确的.
如何在Android回调函数中接收iOS等80字节数据?
尝试协商更大的GATT MTU.默认值为23个字节.(G)ATT协议每个通知/指示占用3个字节.因此,默认情况下,20 - 3 = 20个字节.
在iOS 8上,iOS允许的最大MTU为158字节.我不确定Android允许什么.
我遇到了完全相同的问题 - 20 字节是适用于指示和通知的限制。它在规范中定义,但我还没有找到它。
如果您的特性不使用指示或通知,则此约束不适用,您的所有数据都将以 MTU-5 块的形式发送,请参阅 BT4.0 规范的第 3.4.6.1 节。
| 归档时间: |
|
| 查看次数: |
4221 次 |
| 最近记录: |