2019-12-19 18:08发布
2201 发表于 2018-3-26 14:37 我和楼主有一样的问题,也是暂时搁浅着。 我也做了个采集器,使用的是BLE.与Android通信,最高连续透传是19 ...
最多设置5个标签!
采集器作为从机不允许直接修改连接间隙(蓝牙专业术语称之为连接事件间隔--Connection Interval),但是从机可以发起 updateConnectionParameter 请求主机修改这个连接事件参数(参数里面就包含了连接事件间隔)。
所以要解决这个问题建议从以下方面入手:
1,从机发起“更新连接参数”请求。(这个在从机的 BLE SDK 中可以找到相关函数,应该就是类似于 updateConnectionParameter 之类的名字)。
2,如果使用的是 Android 手机,建议 Android5.0以上,当手机连接采集器以后,调用 SetMtu 接口修改 MTU 的值(这个值就是一个连接事件数据包的大小,默认为23字节,可以最大设置到512)。
如果是 IOS9以后,不需要设置,iOS 连接采集器时将自动设置这个 MTU。MTU 设置成功后,就可以将采集器GATT Service的 characteristic 的 Value 设置的更大,可以不局限于20个字节了。这样可以进一步提升吞吐量。
3,建议采集器芯片采用完全支持 BLE 4.2,并且iPhone7以上。这样,当 iPhone7连接采集器后,将自动设置 DataPacketLengthExtension(这是 BLE4.2的一个新特新)。如此一来,可以更加高效的利用带宽。
PS:建议开发者详细研究一下BLE 协议(蓝牙没有想象的那么弱,只是开发者没能真正研究透)。
以上仅供参考。
一周热门 更多>