收藏
回答

wx.readBLECharacteristicValue调用没有任何反应?

API:wx.readBLECharacteristicValue

// pages/conpage/conpage.js

var app = getApp()

Page({


  /**

   * 页面的初始数据

   */

  data: {

    

  },


  /**

   * 生命周期函数--监听页面加载

   */

  onLoad: function(options) {

    this.setupBLEListener();  

  },

  setupBLEListener: function() {  

    // 假设这些值已经从之前的蓝牙流程中获取  

    let deviceId = app.globalData.appdid;  

    let serviceId = app.globalData.appsid;  

    let characteristicId = app.globalData.appcid;  

  

    // 监听蓝牙设备特征值变化  

    wx.onBLECharacteristicValueChange(function(result) {  

      // 注意:这里可能需要对result进行解析,以获取实际的数据值  

      console.log('Received data from BLE device:', result.value)  

    });  

  

    // 主动读取蓝牙设备的特征值  

    wx.readBLECharacteristicValue({  

      deviceId: deviceId,  

      serviceId: serviceId,  

      characteristicId: characteristicId,  

      success: function(res) {  

        console.log('Read data success:', res.value)  

      },  

      fail: function(err) {  

        console.error('Read data failed:', err)  

      }  

    });  

  },  


  send0: function(e){

    console.log("发送0")

    this.writeBLECharacteristicValue(0x30)

    },

    

  send1: function(e){

    console.log("发送1")

    this.writeBLECharacteristicValue(0x31)

  },


  writeBLECharacteristicValue(leddata) {

    // 向蓝牙设备发送一个0x00的16进制数据

    let buffer = new ArrayBuffer(1)

    let dataView = new DataView(buffer)

    dataView.setUint8(0, leddata)

    wx.writeBLECharacteristicValue({

      deviceId: app.globalData.appdid,

      serviceId: app.globalData.appsid,

      characteristicId: app.globalData.appcid,

      value: buffer,

    })

  },

  /**

   * 生命周期函数--监听页面初次渲染完成

   */

  onReady: function () {

    

  },


  /**

   * 生命周期函数--监听页面显示

   */

  onShow: function () {

    

  },


  /**

   * 生命周期函数--监听页面隐藏

   */

  onHide: function () {

    

  },


  /**

   * 生命周期函数--监听页面卸载

   */

  onUnload: function () {

    

  },


  /**

   * 页面相关事件处理函数--监听用户下拉动作

   */

  onPullDownRefresh: function () {

    

  },


  /**

   * 页面上拉触底事件的处理函数

   */

  onReachBottom: function () {

    

  },


  /**

   * 用户点击右上角分享

   */

  onShareAppMessage: function () {

    

  }

})

控制台看不到任何信息,但是可以正常的发送数据到蓝牙设备,蓝牙设备是esp32

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

1 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    01-28

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

    01-28
    有用
    回复
登录 后发表内容