Chris唐ml 2018-12-18 17:10 采纳率: 0%
浏览 1396

微信的蓝牙发送消息成功,但是蓝牙模块的串口助手没有收到任何消息

1、问题描述:

微信蓝牙小程序,向蓝牙设备HC-08(支持蓝牙协议4.0)发送一个0x00的16进制数据。
微信的真机调试展示:发送成功,即:writeBLECharacteristicValue:ok
但是,,,HC-08蓝牙接收模块的串口助手,没有收到任何数据。
有大佬遇到此问题嘛?
麻烦给个建议啥的~~~感谢

2、相关代码:

  startwrite: function () {

    // 向蓝牙设备发送一个0x00的16进制数据
    const buffer = new ArrayBuffer(1)
    const dataView = new DataView(buffer)
    dataView.setUint8(0, 0)

    wx.writeBLECharacteristicValue({
      deviceId: deviceId,
      serviceId: serviceId[1],//使用服务1
      characteristicId: characteristicId[4], 
                //使用服务1的第5个特征,支持read,write,notify

      value: buffer,
      success: function (res) {
        console.log('writeBLECharacteristicValue success', res.errMsg)
      }
    })
  }

3、报错信息

其实没有报错,就是蓝牙模块收不到数据。不知为何?
微信小程序的真机调试console: writeBLECharacteristicValue:ok
蓝牙模块HC-08的串口助手展示:
图片说明

注:蓝牙的com5端口号是正确的,如下:
图片说明
该蓝牙HC-08,不需要密钥加密,即可连接。

4、尝试过的方法

怀疑是获取服务和获取特征值,取错了。导致发送失败。但是,排查后,确实是服务1的第5个特征值,才支持read,write,notify。截图如下:
图片说明

# 想不出来,是怎么回事

# 麻烦高人指点一二

总的截图如下:
图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 11:35
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    从你的描述来看,你似乎遇到了一个蓝牙特性值发送到蓝牙模块的问题。这可能是由于以下原因导致的:

    1. 特性值格式不正确:确保你在发送的特性值中包含所有必要的字段,例如UUID、长度等。

    2. 特性值长度错误:确保你发送的特性值长度与蓝牙设备要求的一致。

    3. 特性值类型错误:确保你发送的特性值类型(例如,读取或写入)与蓝牙设备支持的一致。

    4. 编码问题:确保你的编码符合蓝牙设备的要求。

    5. 数据包丢失:在传输过程中可能有数据包丢失的情况。

    解决这些问题的方法取决于具体的问题所在。如果你能够提供更多的信息,比如你的代码实现或者更详细的错误信息,我可能会更有帮助地帮你解决问题。

    评论

报告相同问题?