微信小程序蓝牙连接 写入api整理

304 阅读2分钟

wx.openBluetoothAdapter 初始化蓝牙模块

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

wx.onBluetoothDeviceFound 监听搜索到新设备的事件

wx.onBLEConnectionStateChange 监听蓝牙低功耗连接状态的改变事件,包括开发者主动连接或者断开连接,设备丢失,连接异常断开等等

wx.onBLECharacteristicValueChange 监听蓝牙低功耗设备的特征值变化事件,必须先调用wx.notifyBLECharacteristicValueChange接口才能收到设备推送的notification

wx.notifyBLECharacteristicValueChange启用蓝牙低功耗设备特征值变化时的notify功能,订阅特征。注意点:必须设备的特征支持notify 或者indicate 才可以调用。另外必须先启用wx.notifyBLECharacteristicValueChange才能监听到设备characteristicValueChange事件

wx.getConnectedBluetoothDevices 根据主服务UUID获取已连接的蓝牙设备

wx.getBluetoothDevices 获取在蓝牙模块生效期间所有搜索到的蓝牙设备。包括已经和本机处于连接状态的设备

wx.stopBluetoothDevicesDiscovery 停止搜寻附件的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,建议调用改接口停止蓝牙搜索

wx.createBLEConnection 连接蓝牙低功耗设备。若小程序在之前已有搜索过某个蓝牙设备,并建立连接,可直接传入之前搜索获取的deviceId 直接尝试连接该设备,无需再次进行搜索操作

wx.getBLEDeviceServices 获取蓝牙低功耗设备所有服务

wx.getBLEDeviceCharacteristics 获取蓝牙功耗设备某个服务中所有特征

wx.closeBLEConnection 断开与蓝牙低功耗设备连接

wx.getBluetoothAdapterState 获取本机蓝牙适配器状态

wx.writeBLECharacteristicValue 向蓝牙低功耗设备特征值写入二进制数据。注意:必须设备的特征支持write才可以调用

流程:

一、初始化-设备列表

1.首先进去查询页面 调用初始化方法init() 初始化蓝牙wx.openBluetoothAdapter()----优化:wx.getConnectedBluetoothDevices获取已经连接的设备 --获取蓝牙生效期间的设备wx.getBluetoothDevices

2.调用wx.onBluetoothAdapterStateChange判断蓝牙适配器是否可用 不可用清除缓存 绑定监听适配器change事件(EventEmitter)

3.调用wx.onBluetoothDeviceFound 监听获取到的蓝牙列表并过滤获取指定类型的蓝牙设备,绑定found事件 返回蓝牙列表(EventEmitter)

4.获取订阅 需蓝牙设备支持订阅特性

5.调用wx.onBLEConnectionStateChange 监听蓝牙的连接情况 监听设备连接情况(EventEmitter)

6.如果init中调用wx.onBluetoothAdapterStateChange返回不可用(false) 调用wx.getBluetoothAdapterState 获取蓝牙配置返回的available

二、连接

1.连接蓝牙 检查蓝牙是否打开 true--下一步 false--return

2.检查设备 (通过监听蓝牙)是否已经连接 true--下一步 false--return false

3.调用wx.writeBLECharacteristicValue将信息写入

三、断开

wx.closeBLEConnection 传入id 断开连接