提供蓝牙模块API
wx.openBluetoothAdapter(OBJECT)
初始化小程序蓝牙模块
wx.closeBluetoothAdapter(OBJECT)
关闭蓝牙模块,使其进入未初始化状态。
wx.getBluetoothAdapterState(OBJECT)
获取本机蓝牙适配器状态
wx.onBluetoothAdapterStateChange(CALLBACK)
监听蓝牙适配器状态变化事件
wx.startBluetoothDevicesDiscovery(OBJECT)
开始搜寻附近的蓝牙外围设备。注意,该操作比较耗费系统资源,请在搜索并连接到设备后调用 stop 方法停止搜索。
wx.stopBluetoothDevicesDiscovery(OBJECT)
停止搜寻附近的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,建议调用该接口停止蓝牙搜索。
wx.getBluetoothDevices(OBJECT)
获取在小程序蓝牙模块生效期间所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备。
wx.onBluetoothDeviceFound(CALLBACK)
监听寻找到新设备的事件
wx.createBLEConnection(OBJECT)
连接低功耗蓝牙设备。
wx.closeBLEConnection(OBJECT)
断开与低功耗蓝牙设备的连接
wx.getBLEDeviceServices(OBJECT)
获取蓝牙设备所有 service(服务)
wx.getBLEDeviceCharacteristics(OBJECT)
获取蓝牙设备某个服务中的所有 characteristic(特征值)
wx.readBLECharacteristicValue(OBJECT)
读取低功耗蓝牙设备的特征值的二进制数据值。注意:必须设备的特征值支持read
才可以成功调用,具体参照 characteristic 的 properties 属性
wx.writeBLECharacteristicValue(OBJECT)
向低功耗蓝牙设备特征值中写入二进制数据。注意:必须设备的特征值支持write
才可以成功调用,具体参照 characteristic 的 properties 属性
tips: 并行调用多次读写接口存在读写失败的可能性*
wx.notifyBLECharacteristicValueChange(OBJECT)
启用低功耗蓝牙设备特征值变化时的 notify 功能,订阅特征值。注意:必须设备的特征值支持notify
或者indicate
才可以成功调用,具体参照 characteristic 的 properties 属性
另外,必须先启用notify
才能监听到设备 characteristicValueChange 事件
wx.onBLEConnectionStateChange(CALLBACK)
监听低功耗蓝牙连接状态的改变事件,包括开发者主动连接或断开连接,设备丢失,连接异常断开等等
wx.onBLECharacteristicValueChange(CALLBACK)
监听低功耗蓝牙设备的特征值变化。必须先启用notify
接口才能接收到设备推送的notification。
示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
| Page({ data:{}, onLoad:function(options){ }, openBluetooth:function(){ wx.openBluetoothAdapter({ success: function(res){ console.log(res.errMsg) wx.showToast({ title:"初始化蓝牙适配器成功", duration:2000 }) }, }) },
closeBluetooth:function(){ wx.openBluetoothAdapter() wx.closeBluetoothAdapter({ success: function(res){ console.log("success"+res) } }) },
getBluetoothAdapterState:function(){ wx.getBluetoothAdapterState({ success: function(res){ 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){ console.log(res) }, }) }, onBluetoothDeviceFound:function(){ wx.onBluetoothDeviceFound(function(res) { console.log(res) }) }, getConnectedBluetoothDevices:function(){ wx.getConnectedBluetoothDevices({ success: function (res) { console.log(res) } }) },
createBLEConnection:function(){ wx.createBLEConnection({ deviceId: 'AC:BC:32:C1:47:80', success: function(res){ console.log(res) }, fail: function(res) { }, complete: function(res) { } }) },
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}`) }) },
getBLEDeviceServices:function(){ wx.getBLEDeviceServices({ deviceId: '48:3B:38:88:E3:83', success: function(res){ console.log('device services:', res.services.serviceId) }, fail: function(res) { }, complete: function(res) { } }) },
getBLEDeviceCharacteristics:function(){ wx.getBLEDeviceCharacteristics({ deviceId: '48:3B:38:88:E3:83', serviceId: 'serviceId', success: function(res){ }, fail: function(res) { }, complete: function(res) { } }) } })
|