引用微信小程序文档中wx.writeBLECharacteristicValue() API接口中的注意事项。
1 并行调用多次会存在写失败的可能性。
2 小程序不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙 4.0 单次传输的数据大小,超过最大字节数后会发生写入错误,建议每次写入不超过 20 字节。
/**
* 睡眠
*/
function sleep(msTime){
return new Promise(resolve => setTimeout(()=>{
resolve({
success: true,
time: msTime
})
}, msTime));
}
/**
* 字符串转Uint8Array(不支持小程序)
* @param {*} input 需要转换的字符串
* @returns 返回 arrayBuffer
*/
function str2Uint8Array(input) {
const encoder = new TextEncoder()
const view = encoder.encode(input)
return view.buffer
}
/**
* Uint8Array转字符串
* @param input Uint8Array
* @returns 返回 字符串
*/
const ab2str = (
input:
| ArrayBuffer
| Uint8Array
| Int8Array
| Uint16Array
| Int16Array
| Uint32Array
| Int32Array,
outputEncoding: string = "utf8"
): string => {
const decoder = new TextDecoder(outputEncoding);

本文档详细介绍了微信小程序中wx.writeBLECharacteristicValue() API的注意事项,强调了并行调用可能导致的写入失败问题及蓝牙数据传输的大小限制。同时,提供了字符串与Uint8Array之间的转换方法,包括适用于小程序的转换函数。示例代码展示了如何分块写入数据以及使用RxJS响应式编程处理数据。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



