收藏
回答

wx.writeBLECharacteristicValue()发送成功,设备却未收到数据?

wx.writeBLECharacteristicValue()分二个包发送数据,都提示success,蓝牙设备却只收到第二次发送的数据,是什么原因呢??

回答关注问题邀请回答
收藏

3 个回答

  • M👑
    M👑
    2020-10-12

    wx.writeBLECharacteristicValue() 返回ok,打印机没有反应,是怎么回事?

    2020-10-12
    有用
    回复 2
    • sher
      sher
      2020-12-10
      你解决了吗,我也遇到了同样的问题
      2020-12-10
      回复
    • 王妙端
      王妙端
      2022-08-08回复sher
      解决了吗 我也遇到同样问题
      2022-08-08
      回复
  • Cjiang
    Cjiang
    2020-07-06

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2020-07-06
    有用
    回复
  • 步步清风
    步步清风
    2020-07-03

    代码看看


    2020-07-03
    有用
    回复 3
    • null
      null
      2020-07-07
      2020-07-07
      回复
    • 步步清风
      步步清风
      2020-07-07
      可以先把字符串转化为二进制数据,然后分割成20字节的包,分包打印,打印最好加个延时
            var length = bufferstr.byteLength;
            var count = Math.ceil(length/20);
            for(var i=0;i<count;i++){
              //对buffer进行分包,最大不超过20字节
              let TempBuffer;
              if(((i+1)*20)<length){
                TempBuffer = bufferstr.slice(i*20,(i+1)*20);
              }else{
                TempBuffer = bufferstr.slice(i*20,length);
              }
              this.Delayed(200).then( ()=>{ //延迟200ms
                //写入设备
                wx.writeBLECharacteristicValue({
                  deviceId,
                  serviceId,
                  characteristicId,
                  value: TempBuffer, //写入数据
                  success: function (res) {
                  },
                  fail: function (res) {
                  },
                })
              } )


      Delayed(ms,callback){
          return new Promise(function(Resolve,Peject){
            setTimeout(function(){
              Resolve(callback);
            },ms);
          })
        },
      2020-07-07
      回复
    • 啊~啊飞
      啊~啊飞
      2020-10-22
      大佬 怎么写入这个指令 55 AA 05 00 FB
      2020-10-22
      回复
登录 后发表内容
问题标签