本文整理自网络,侵删。
蓝牙适配器接口
基础库版本 1.1.0 开始支持,低版本需做兼容处理
iOS 微信客户端 6.5.6 版本开始支持,Android 客户端暂不支持
wx.openBluetoothAdapter(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理初始化蓝牙适配器
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
success | Function | 是 | 成功则返回成功初始化信息 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码:
wx.openBluetoothAdapter({
success: function (res) {
console.log(res)
}
})
Bug & Tip
tip
: 由于系统的问题,目前仅在 mac 版的开发工具上支持蓝牙调试tip
: 基础库版本 1.1.0 开始支持,低版本需做兼容处理
wx.closeBluetoothAdapter(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理关闭蓝牙模块。调用该方法将断开所有已建立的链接并释放系统资源
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
success | Function | 是 | 成功则返回成功关闭模块信息 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码:
wx.closeBluetoothAdapter({
success: function (res) {
console.log(res)
}
})
wx.getBluetoothAdapterState(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理获取本机蓝牙适配器状态
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
success | Function | 是 | 成功则返回本机蓝牙适配器状态 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数:
参数 | 类型 | 说明 |
---|---|---|
discovering | Boolean | 是否正在搜索设备 |
available | Boolean | 蓝牙适配器是否可用 |
errMsg | String | 成功:ok,错误:详细信息 |
示例代码:
wx.getBluetoothAdapterState({
success: function (res) {
console.log(res)
}
})
wx.onBluetoothAdapterStateChange(CALLBACK)
基础库版本 1.1.0 开始支持,低版本需做兼容处理监听蓝牙适配器状态变化事件
CALLBACK参数说明:
参数 | 类型 | 说明 |
---|---|---|
available | boolean | 蓝牙适配器是否可用 |
discovering | boolean | 蓝牙适配器是否处于搜索状态 |
示例代码:
wx.onBluetoothAdapterStateChange(function(res) {
console.log(`adapterState changed, now is`, res)
})
wx.startBluetoothDevicesDiscovery(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理开始搜寻附近的蓝牙外围设备。注意,该操作比较耗费系统资源,请在搜索并连接到设备后调用 stop 方法停止搜索。
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
services | Array | 否 | 蓝牙设备主 service 的 uuid 列表 |
allowDuplicatesKey | boolean | 否 | 是否允许重复上报同一设备, 如果允许重复上报,则onDeviceFound 方法会多次上报同一设备,但是 RSSI 值会有不同 |
interval | integer | 否 | 上报设备的间隔,默认为0,意思是找到新设备立即上报,否则根据传入的间隔上报 |
success | Function | 是 | 成功则返回本机蓝牙适配器状态 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
services参数说明:某些蓝牙设备会广播自己的主 service 的 uuid。如果这里传入该数组,那么根据该 uuid 列表,只搜索有这个主服务的设备。
success返回参数:
参数 | 类型 | 说明 |
---|---|---|
errMsg | string | 成功:ok,错误:详细信息 |
isDiscovering | boolean | 当前蓝牙适配器是否处于搜索状态 |
示例代码:
// 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备
wx.startBluetoothDevicesDiscovery({
services: ['FEE7'],
success: function (res) {
console.log(res)
}
})
wx.stopBluetoothDevicesDiscovery(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理停止搜寻附近的蓝牙外围设备。请在确保找到需要连接的设备后调用该方法停止搜索。
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
success | Function | 是 | 成功则返回本机蓝牙适配器状态 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数:
参数 | 类型 | 说明 |
---|---|---|
errMsg | string | 成功:ok,错误:详细信息 |
adapterState
蓝牙适配器状态信息
参数 | 类型 | 说明 |
---|---|---|
discovering | boolean | 是否正在搜索设备 |
available | boolean | 蓝牙适配器是否可用 |
示例代码:
wx.stopBluetoothDevicesDiscovery({
success: function (res) {
console.log(res)
}
})
wx.getBluetoothDevices(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理获取所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
success | Function | 是 | 成功则返回本机蓝牙适配器状态 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数:
参数 | 类型 | 说明 |
---|---|---|
devices | Array | uuid 对应的的已连接设备列表 |
errMsg | string | 成功:ok,错误:详细信息 |
device 对象
蓝牙设备信息
参数 | 类型 | 说明 |
---|---|---|
name | string | 蓝牙设备名称,某些设备可能没有 |
deviceId | string | 用于区分设备的 id |
RSSI | int | 当前蓝牙设备的信号强度 |
advertisData | ArrayBuffer | 当前蓝牙设备的广播内容(注意:vConsole 无法打印出 ArrayBuffer 类型数据) |
示例代码:
wx.getBluetoothDevices({
success: function (res) {
console.log(res)
}
})
Bug & Tip
tip
: Mac系统可能无法获取advertisData
及RSSI
,请使用真机调试tip
: 开发者工具和 Android 上获取到的deviceId
为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId
不能硬编码到代码中
wx.getConnectedBluetoothDevices(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理根据 uuid 获取处于已连接状态的设备
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
services | Array | 是 | 蓝牙设备主 service 的 uuid 列表 |
success | Function | 是 | 成功则返回本机蓝牙适配器状态 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数:
参数 | 类型 | 说明 |
---|---|---|
devices | Array | 搜索到的设备列表 |
errMsg | string | 成功:ok,错误:详细信息 |
device对象
蓝牙设备信息
参数 | 类型 | 说明 |
---|---|---|
name | string | 蓝牙设备名称,某些设备可能没有 |
deviceId | string | 用于区分设备的 id |
示例代码:
wx.getConnectedBluetoothDevices({
success: function (res) {
console.log(res)
}
})
Bug & Tip
tip
: 开发者工具和 Android 上获取到的deviceId
为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId
不能硬编码到代码中
wx.onBluetoothDeviceFound(CALLBACK)
基础库版本 1.1.0 开始支持,低版本需做兼容处理监听寻找到新设备的事件
CALLBACK参数说明:
参数 | 类型 | 说明 |
---|---|---|
devices | Array | 新搜索到的设备列表 |
device对象
参数 | 类型 | 说明 |
---|---|---|
deviceId | string | 蓝牙设备 id,参考 device 对象 |
name | string | 蓝牙设备名称,参考 device 对象 |
RSSI | int | 当前蓝牙设备的信号强度 |
advertisData | ArrayBuffer | 当前蓝牙设备的广播内容(注意:vConsole 无法打印出 ArrayBuffer 类型数据) |
示例代码:
wx.onBluetoothDeviceFound(function(devices) {
console.log('new device list has founded')
console.dir(devices)
})
Bug & Tip
tip
: Mac系统可能无法获取advertisData
及RSSI
,请使用真机调试tip
: 开发者工具和 Android 上获取到的deviceId
为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId
不能硬编码到代码中
低功耗蓝牙接口
wx.createBLEConnection(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理连接低功耗蓝牙设备
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 蓝牙设备 id,参考 getDevices 接口 |
success | Function | 是 | 成功则返回本机蓝牙适配器状态 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数:
参数 | 类型 | 说明 |
---|---|---|
errMsg | string | 成功:ok,错误:详细信息 |
示例代码:
wx.createBLEConnection({
// 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
deviceId: deviceId,
success: function (res) {
console.log(res)
}
})
wx.closeBLEConnection(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理断开与低功耗蓝牙设备的连接
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 蓝牙设备 id,参考 getDevices 接口 |
success | Function | 是 | 成功则返回本机蓝牙适配器状态 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数:
参数 | 类型 | 说明 |
---|---|---|
errMsg | string | 成功:ok,错误:详细信息 |
示例代码:
wx.closeBLEConnection({
success: function (res) {
console.log(res)
}
})
wx.getBLEDeviceServices(OBJECT)
基础库版本 1.1.0 开始支持,低版本需做兼容处理获取蓝牙设备所有 service(服务)
相关阅读 >>
更多相关阅读请进入《微信小程序》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
相关推荐
评论
管理员已关闭评论功能...