wechat-miniprogram-bluetooth-ble-scanner

微信小程序的蓝牙 扫码枪 使用案例

Stars
10

小程序蓝牙扫码枪实例

微信小程序蓝牙打印示例,代码参考微信小程序示例。官方Demo总比网上随便找的强吧。

效果图

流程

  • 初始化蓝牙模块 wx.openBluetoothAdapter()
  • 搜寻附近的蓝牙外围设备 wx.startBluetoothDevicesDiscovery()
  • 监听寻找到新设备的事件 wx.onBluetoothDeviceFound()
  • 连接低功耗蓝牙设备 wx.createBLEConnection()
  • 获取蓝牙设备服务 wx.getBLEDeviceServices()
  • 获取蓝牙设备服务的特征值 wx.getBLEDeviceCharacteristics()
  • 对支持notify 和 indicate的特征执行 wx.notifyBLECharacteristicValueChange()wx.onBLECharacteristicValueChange()
  • 关闭蓝牙模块 wx.closeBluetoothAdapter()

注意点

1.与蓝牙设备通信很重要的就是找到对应的Characteristic。如何找到这个Characteristic? 目前只能一个个去试!!!如果有更好的做法请告诉我。

连接成功之后,在程序的任何地方,做如下监听,都可以实现读取条码

function ab2str(buf) {
  return String.fromCharCode.apply(null, new Uint8Array(buf));
}


wx.onBLECharacteristicValueChange((result) => { 
    console.log('监听特征值变化',result); 
    const barcode = ab2str(result.value);
    that.setData({barcode}) 
})

参考