当前位置: 首页 > article >正文

蓝牙BLE开发——iOS 每次写入数据超过200字节报错?

iOS 写入数据超过200字节报错

文章目录

    • iOS 写入数据超过200字节报错
      • 官方建议:
      • 报错问题
      • 解决

writeblecharacteristicvalue

官方建议:

  • 并行调用多次会存在写失败的可能性。
  • APP不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙4.0单次传输的数据大小,超过最大字节数后会发生写入错误,建议每次写入不超过20字节
  • 若单次写入数据过长,iOS 上存在系统不会有任何回调的情况(包括错误回调)。
  • 安卓平台上,在调用 notifyBLECharacteristicValueChange 成功后立即调用 writeBLECharacteristicValue 接口,在部分机型上会发生 10008 系统错误

报错问题

  • iPhone 6:写入数据超过200字节时,报错当前特征值不支持此操作,写入失败;
  • iPhone 11、iPhone 12等,能正常写入数据,其他机型没有细测;
{
    "errMsg": "writeBLECharacteristicValue:fail Error Domain=CBATTErrorDomain Code=17 \"Resources are insufficient.\" UserInfo={NSLocalizedDescription=Resources are insufficient.},https://ask.dcloud.net.cn/article/282",
    "errCode": 10007,
    "code": 10007
}

解决

  • 经测试,iPhone6 写入数据不超过160字节时,写入成功,正常通信;
  • 仅供参考
const writeBLECharacteristicValue = (hex) => {
	let buffer = hexToArrayBuffer(hex); // 16进制转ArrayBuffer,之前有分享过
	uni.writeBLECharacteristicValue({
		  deviceId,
		  serviceId,
		  characteristicId,
		  value: buffer,
		  success(res) {
		    console.log('writeBLECharacteristicValue success', res.errMsg)
		  }
	})
}

http://www.kler.cn/a/392126.html

相关文章:

  • 知识图谱6:neo4j查询语句
  • 智能电视/盒子的应用管理——通过ADB工具优化体验
  • 软件测试面试2024最新热点问题
  • 1小时构建Vue3知识体系之vue的生命周期函数
  • Java 网络编程(一)—— UDP数据报套接字编程
  • 天才的懈怠 : 平衡二叉树
  • CSS教程(八)- 盒子模型
  • Oracle的字符串函数
  • 解决:this is incompatible with sql_mode=only_full_group_by
  • 动态规划---解决多段图问题
  • BERT框架详解
  • JavaScript判断是否是有效字符串
  • Webpack 中无法解析别名路径的原因及解决方案
  • Unet++改进20:添加RFAConv||用于特征冗余的空间和通道重构卷积
  • Pinia
  • 相亲小程序(源码+文档+部署+讲解)
  • sql专题 之 count()区别
  • 数据安全、信息安全、网络安全区别与联系
  • sql专题 之 sql的执行顺序
  • 网页web无插件播放器EasyPlayer.js播放器返回错误 Incorrect response MIME type 的解决方式
  • 做的图表配色太丑,怎么办?
  • react->Antd->Table调整checkbox默认样式
  • 贝式计算的 AI4S 观察:使用机器学习对世界进行感知与推演,最大魅力在于横向扩展的有效性
  • hive表名重命名、rename重命名
  • git config 保存密码
  • IT技术交流和分享平台(含报告)