小程序使用蓝牙连接设备踩坑

小程序使用蓝牙踩坑

1.如果你像我一样直接拷贝了官方的demo程序,那么要注意,在官方代码中,只扫描了Primary服务,要在getBLEDeviceServices函数中关闭判断Primary,否则设备的服务uuid会找不到,当然就用不了了。

2.链接成功以后传数据时,发现notify服务,第一包数据收到没反应,这个暂时没找到原因,反正重传能解决,先不管了。

3.收到的数据是arrayBuffer,要转换成需要的。
let unit8Arr = new Uint8Array(characteristic.value) ;
这是转换成byte数组的一种办法

4.往蓝牙发送数据时,同样要转成arrayBuffer格式
var buffer = new ArrayBuffer(length)
var view=new Uint8Array(buffer)
往view数组里面填数据即可,注意不要使用’h’赋值,直接用HEX

5.实测蓝牙往设备发送数据最大249个字节,没有发现丢包
设备往蓝牙发送数据时,测试出现不同程度丢包,字节大小为20时,没有发现丢包,这个跟模块性能有关,具体参考模块说明,暂时用20字节包长

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值