- 需求的场景描述(希望解决的问题)
在Android装置上,传送与接收数据都被限制在20 bytes,若超过限制大小,程序将不会正常运作。但若限制在20 bytes,在有大量资料需要从蓝牙装置传到小程序的情境下,又会有太长的传输时间。
- 希望提供的能力
希望能够提供设定MTU size的API接口,让开发人员能够依照各自的蓝牙装置设定适合的MTU size。
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | 需求 | New API for setting BLE MTU size | 客户端 | 6.7.1 | 2.2.5 [171] |
6 个回答
蓝牙4.0协议里面BLE一次只能发20字节,但蓝牙4.2以后,一次发送的字节数已经扩展到了251字节,小程序需要同步更新啊;
另外BLE的定位就是低功耗,自然吞吐量小,又想让马儿跑,又不让马儿吃饱,办不到的。。。
https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.setBLEMTU.html
给力!
有人测试过新提供的wx.setBLEMTU这个函数么,在typescript里面根本没这个声明阿
const mtu = 180;
wx.setBLEMTU({
deviceId: that.data.deviceId,
mtu,
success:(res)=>{
console.log("setBLEMTU success>>", res)
},
fail:(res)=>{
console.log("setBLEMTU fail>>", res)
}
}),
你好,需要大于20字节额度话,只能分片发送。
谢谢回覆,目前我就是分片发送及接收数据,但缺点就是速度会比较慢。如果能够提供设定MTU size,对于微信小程序的使用者体验一定会大大加分,我相信不少人都有这样的需求。
嗯,反馈的需求我们已记录下来
是的,按照目前的传输方式实在是太慢了,官方什么时候可以提供这个API?
连接蓝牙打印机,一次打印3000多个字节,一次20。确实很慢,强烈要求支持修改MTU