微信小程序API 蓝牙适配器接口


本文整理自网络,侵删。

蓝牙适配器接口


基础库版本 1.1.0 开始支持,低版本需做兼容处理

iOS 微信客户端 6.5.6 版本开始支持,Android 客户端暂不支持

wx.openBluetoothAdapter(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

初始化蓝牙适配器

OBJECT参数说明:

参数类型必填说明
successFunction成功则返回成功初始化信息
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.openBluetoothAdapter({
  success: function (res) {
    console.log(res)
  }
})

Bug & Tip

  1. tip: 由于系统的问题,目前仅在 mac 版的开发工具上支持蓝牙调试
  2. tip: 基础库版本 1.1.0 开始支持,低版本需做兼容处理

wx.closeBluetoothAdapter(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

关闭蓝牙模块。调用该方法将断开所有已建立的链接并释放系统资源

OBJECT参数说明:

参数类型必填说明
successFunction成功则返回成功关闭模块信息
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.closeBluetoothAdapter({
  success: function (res) {
    console.log(res)
  }
})

wx.getBluetoothAdapterState(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

获取本机蓝牙适配器状态

OBJECT参数说明:

参数类型必填说明
successFunction成功则返回本机蓝牙适配器状态
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
discoveringBoolean是否正在搜索设备
availableBoolean蓝牙适配器是否可用
errMsgString成功:ok,错误:详细信息

示例代码:

wx.getBluetoothAdapterState({
  success: function (res) {
    console.log(res)
  }
})

wx.onBluetoothAdapterStateChange(CALLBACK)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

监听蓝牙适配器状态变化事件

CALLBACK参数说明:

参数类型说明
availableboolean蓝牙适配器是否可用
discoveringboolean蓝牙适配器是否处于搜索状态

示例代码:

wx.onBluetoothAdapterStateChange(function(res) {
  console.log(`adapterState changed, now is`, res)
})

wx.startBluetoothDevicesDiscovery(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

开始搜寻附近的蓝牙外围设备。注意,该操作比较耗费系统资源,请在搜索并连接到设备后调用 stop 方法停止搜索。

OBJECT参数说明:

参数类型必填说明
servicesArray蓝牙设备主 service 的 uuid 列表
allowDuplicatesKeyboolean是否允许重复上报同一设备, 如果允许重复上报,则onDeviceFound 方法会多次上报同一设备,但是 RSSI 值会有不同
intervalinteger上报设备的间隔,默认为0,意思是找到新设备立即上报,否则根据传入的间隔上报
successFunction成功则返回本机蓝牙适配器状态
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

services参数说明:某些蓝牙设备会广播自己的主 service 的 uuid。如果这里传入该数组,那么根据该 uuid 列表,只搜索有这个主服务的设备。

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息
isDiscoveringboolean当前蓝牙适配器是否处于搜索状态

示例代码:

// 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备
wx.startBluetoothDevicesDiscovery({
  services: ['FEE7'],
  success: function (res) {
    console.log(res)
  }
})

wx.stopBluetoothDevicesDiscovery(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

停止搜寻附近的蓝牙外围设备。请在确保找到需要连接的设备后调用该方法停止搜索。

OBJECT参数说明:

参数类型必填说明
successFunction成功则返回本机蓝牙适配器状态
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

adapterState

蓝牙适配器状态信息

参数类型说明
discoveringboolean是否正在搜索设备
availableboolean蓝牙适配器是否可用

示例代码:

wx.stopBluetoothDevicesDiscovery({
  success: function (res) {
    console.log(res)
  }
})

wx.getBluetoothDevices(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

获取所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备

OBJECT参数说明:

参数类型必填说明
successFunction成功则返回本机蓝牙适配器状态
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
devicesArrayuuid 对应的的已连接设备列表
errMsgstring成功:ok,错误:详细信息

device 对象

蓝牙设备信息

参数类型说明
namestring蓝牙设备名称,某些设备可能没有
deviceIdstring用于区分设备的 id
RSSIint当前蓝牙设备的信号强度
advertisDataArrayBuffer当前蓝牙设备的广播内容(注意:vConsole 无法打印出 ArrayBuffer 类型数据)

示例代码:

wx.getBluetoothDevices({
  success: function (res) {
    console.log(res)
  }
})

Bug & Tip

  1. tip: Mac系统可能无法获取advertisDataRSSI,请使用真机调试
  2. tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中

wx.getConnectedBluetoothDevices(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

根据 uuid 获取处于已连接状态的设备

OBJECT参数说明:

参数类型必填说明
servicesArray蓝牙设备主 service 的 uuid 列表
successFunction成功则返回本机蓝牙适配器状态
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
devicesArray搜索到的设备列表
errMsgstring成功:ok,错误:详细信息

device对象

蓝牙设备信息

参数类型说明
namestring蓝牙设备名称,某些设备可能没有
deviceIdstring用于区分设备的 id

示例代码:

wx.getConnectedBluetoothDevices({
  success: function (res) {
    console.log(res)
  }
})

Bug & Tip

  1. tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中

wx.onBluetoothDeviceFound(CALLBACK)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

监听寻找到新设备的事件

CALLBACK参数说明:

参数类型说明
devicesArray新搜索到的设备列表

device对象

参数类型说明
deviceIdstring蓝牙设备 id,参考 device 对象
namestring蓝牙设备名称,参考 device 对象
RSSIint当前蓝牙设备的信号强度
advertisDataArrayBuffer当前蓝牙设备的广播内容(注意:vConsole 无法打印出 ArrayBuffer 类型数据)

示例代码:

wx.onBluetoothDeviceFound(function(devices) {
  console.log('new device list has founded')
  console.dir(devices)
})

Bug & Tip

  1. tip: Mac系统可能无法获取advertisDataRSSI,请使用真机调试
  2. tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中

低功耗蓝牙接口

wx.createBLEConnection(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

连接低功耗蓝牙设备

OBJECT参数说明:

参数类型必填说明
deviceIdstring蓝牙设备 id,参考 getDevices 接口
successFunction成功则返回本机蓝牙适配器状态
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

示例代码:

wx.createBLEConnection({
  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
  deviceId: deviceId,
  success: function (res) {
    console.log(res)
  }
})

wx.closeBLEConnection(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

断开与低功耗蓝牙设备的连接

OBJECT参数说明:

参数类型必填说明
deviceIdstring蓝牙设备 id,参考 getDevices 接口
successFunction成功则返回本机蓝牙适配器状态
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

示例代码:

wx.closeBLEConnection({
  success: function (res) {
    console.log(res)
  }
})

wx.getBLEDeviceServices(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

获取蓝牙设备所有 service(服务)

阅读剩余部分

相关阅读 >>

微信小程序 运力方使用previewtemplate

微信小程序绘图api 画布绘制文本

微信小程序云开发 api数据库导出

微信小程序 广告-激励视频广告

微信小程序云开发 第一个云开发小程序

微信小程序云开发 兼容性问题

微信小程序api nfc-ndef标签

微信小程序 weui操作按钮组件

微信小程序api 获取小程序页面二维码

微信小程序开放数据 ad-custom

更多相关阅读请进入《微信小程序》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...