微信小程序蓝牙开发
1、蓝牙模块(小程序蓝牙模块每一个操作都是通过封装好的API函数来 调用该功能,从成功回调函数里面得到需要的数据)
蓝牙连接过程:
1)初始化蓝牙适配器,执行初始化操作
// 打开蓝牙
openBluetooth:function () {
var that = this;
// 初始化蓝牙适配器
wx.openBluetoothAdapter({
success:function (res) {
console.log(res.errMsg);
wx.showToast({
title:"初始化成功",
duration:1000
});
},
fail:function (res) {
wx.showToast({
title:"请打开手机蓝牙",
duration:2000
});
}
})
// 获取本机蓝牙适配器状态
wx.getBluetoothAdapterState({
success:function(res) {
console.log("适配器状态:",res.errMsg)
}
})
wx.onBluetoothAdapterStateChange(function(res) {
console.log(`adapterState changed, now is`, res)
})
},
同时,调用wx.getBluetoothAdapterState(OBJECT),获取本机蓝牙适配器状态;调用wx.onBluetoothAdapterStateChange(CALLBACK)监听蓝牙适配器状态变化事件。
2)开始搜索设备
wx.onBluetoothAdapterStateChange(CALLBACK)
开始搜寻附近的蓝牙外围设备。注意,该操作比较耗费系统资源,请在搜索并连接到设备后调用 stop 方法停止搜索。
// 以我自己蓝牙设备为例,主服务的 UUID 是 FEE9。传入这个参数,只搜索主服务 UUID 为 FEE9 的设备,该参数也可以不设置
wx.getBluetoothDevices(OBJECT)获取所有已发现的蓝牙设备,包括已经和本机 处于连接状态的设备
已发现的设备在回调函数中,res.devices数组中。然后将数组保存在data中,通过渲染数据将发现的设备显示在页面上。
wx.startBluetoothDevicesDiscovery({
services: ['FEE9'],
success: function (res) {
console.log(res)
setTimeout(function () {
wx.getBluetoothDevices({
success: function (res) {
console.log(res.devices)
}
})
},3000