微信小程序更新--测试API之蓝牙

接着上一篇来继续测:微信小程序蓝牙的API每个测试了一下发现跟以前的写Android的蓝牙调取是一样的,打开流程:先打开蓝牙的适配器,然后确定下本机的蓝牙状态,然后开始搜索蓝牙,搜索完成以后关闭搜索。开始连接,根据搜索到的mac 适配连接。在服务里监听连接断开的状态。Android 的可以看这里:蓝牙的使用。先看一下打印的log吧。

大概说明一下:打log 要这样写 console.log("初始化蓝牙适配器",res),我一直都是 写成console.log("初始化蓝牙适配器"+res)。

搞的每次出不来。

流程是这样的:先初始化蓝牙适配器,然后获取本机蓝牙适配器的状态,然后开始搜索,当停止搜索以后在开始搜索,就会触发蓝牙是配置状态变化的事件,搜索完成以后获取所有已经发现的蓝牙设备,就可以将devices中的设备Array取出来了。然后就可以得到所有已经连接的设备了,至于链接功能,还没有真机可测,所以没有测试。




我的电脑上蓝牙连接的设备:



// pages/bluetooth/bluetooth.js
Page({
  data:{},
  onLoad:function(options){
    // 页面初始化 options为页面跳转所带来的参数
  },
  //初始化蓝牙适配器
  openBluetooth:function(){
    wx.openBluetoothAdapter({
      success: function(res){
        console.log(res.errMsg)
        // success
        wx.showToast({
          title:"初始化蓝牙适配器成功",
          duration:2000
        })
      },
    })
  },
//关闭蓝牙模块
closeBluetooth:function(){
 wx.openBluetoothAdapter()
 
  wx.closeBluetoothAdapter({
    success: function(res){
      // success
       console.log("success"+res)
    }
  })
},
//获取本机蓝牙适配器状态
getBluetoothAdapterState:function(){
wx.getBluetoothAdapterState({
  success: function(res){
    // success
     console.log("res:"+res)
     console.log("errMsg:"+res.errMsg)
  }
})
},
//监听蓝牙适配器状态变化事件
  onBluetoothAdapterStateChange:function(){
    wx.onBluetoothAdapterStateChange(function(res) {
      console.log(`adapterState changed, now is`, res)
  })
},
 // 开始搜寻附近的蓝牙外围设备
  startBluetoothDevicesDiscovery:function(){
    wx.startBluetoothDevicesDiscovery({
      success: function (res) {
      console.log(res)
    }
  })
},
 // 停止搜寻附近的蓝牙外围设备
  stopBluetoothDevicesDiscovery:function(){
    wx.stopBluetoothDevicesDiscovery({
      success: function (res) {
      console.log(res)
    }
  })
},
  //获取所有已发现的蓝牙设备
  getBluetoothDevices:function(){
    wx.getBluetoothDevices({
      success: function(res){
        // success
        console.log(res)
      },
    })
  },
  //监听寻找到新设备的事件
  onBluetoothDeviceFound:function(){
    wx.onBluetoothDeviceFound(function(res) {
      // callback
       console.log(res)
    })
  },
  //根据 uuid 获取处于已连接状态的设备
  getConnectedBluetoothDevices:function(){
  wx.getConnectedBluetoothDevices({
  success: function (res) {
    console.log(res)
  }
})
},
//连接低功耗蓝牙设备
createBLEConnection:function(){
  wx.createBLEConnection({
    deviceId: 'AC:BC:32:C1:47:80',
    success: function(res){
      // success
      console.log(res)
    },
    fail: function(res) {
      // fail
    },
    complete: function(res) {
      // complete
    }
  })
},
//断开与低功耗蓝牙设备的连接
closeBLEConnection:function(){
  wx.closeBLEConnection({
    deviceId: 'AC:BC:32:C1:47:80',
    success: function (res) {
    console.log(res)
  }
})
},
//监听低功耗蓝牙连接的错误事件,包括设备丢失,连接异常断开等等
onBLEConnectionStateChanged:function(){
  wx.onBLEConnectionStateChanged(function(res) {
  console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)
})
},
//获取蓝牙设备所有 service(服务)
getBLEDeviceServices:function(){
  wx.getBLEDeviceServices({
    deviceId: '48:3B:38:88:E3:83',
    success: function(res){
      // success
       console.log('device services:', res.services.serviceId)
    },
    fail: function(res) {
      // fail
    },
    complete: function(res) {
      // complete
    }
  })
},
//获取蓝牙设备所有 characteristic(特征值)
getBLEDeviceCharacteristics:function(){
  wx.getBLEDeviceCharacteristics({
    deviceId: '48:3B:38:88:E3:83',
    serviceId: 'serviceId',
    success: function(res){
      // success
    },
    fail: function(res) {
      // fail
    },
    complete: function(res) {
      // complete
    }
  })
}
})




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章