首先要蓝牙初始化
- wx.openBluetoothAdapter({})//确定蓝牙是否打开,
- wx.startBluetoothDevicesDiscovery()//搜索蓝牙设备,这个搜索需要大概 2秒左右可以携带,可以根据蓝牙的特征值进行搜索 如蓝牙设备services(Server UUID),
- 获取设备的deviceId
wx.getBluetoothDevices({
success: function(res) {
for (var i = 0; i <res.devices.length; i++)
{
if (macList[j] == deviceMAC) {
isFacilityType = true
deviceId = res.devices[i].deviceId//获取蓝牙设备的deviceId,本人所用的这个蓝牙锁是没个手机获取到的deviceId是不同的,所以每次都要去搜索蓝牙
}
}
}
})//获取蓝牙设备
4.wx.stopBluetoothDevicesDiscovery()//关闭搜索蓝牙设备,这个比较好资源,所以找到你所对应的设备关闭搜索蓝牙
5. 根据deviceID连接设备
wx.createBLEConnection({
deviceId:上面获取到的deviceId,
timeout:3000;//连接蓝牙多久连接不上,超时时间
success:function(res){
}
})//连接蓝牙
6.getBLEDeviceServices({})//获取蓝牙的所有的服务,我这边是获取蓝牙的UUid
7.wx.getBLEDeviceCharacteristics({})//获取蓝牙的特征值,获取特征值是否可以写入等特征,只有这个蓝牙特征值允许写入才能发送指令,如果不允许写入,就是不支持发送指令
8.wx.notifyBLECharacteristicValueChange({})//启用 notify
9.wx.onBLECharacteristicValueChange({})//当蓝牙特征值发生变化时,执行的操作,
10.wx.writeBLECharacteristicValue({})//写入值