You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
wx.onBLEConnectionStateChange(function(res){// 该方法回调中可以用于处理连接意外断开等异常情况console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)})
初始化蓝牙
使用蓝牙之前,首先要先初始化蓝牙
(openBluetoothAdapter)
,之后才能调用蓝牙的各种api。初始化状态分为两种:初始化成功:这时可以去搜索蓝牙设备
(startBluetoothDevicesDiscovery)
。初始化失败:这个时候需要提示用户打开蓝牙,同时监听蓝牙的状态
(onBluetoothAdapterStateChange)
,当蓝牙打开时,去搜索设备。搜索蓝牙设备
开始搜索附近的蓝牙设备
(startBluetoothDevicesDiscovery)
,该操作比较耗费资源,建议在连接到蓝牙设备后,手动停止搜索。获取蓝牙设备
获取蓝牙设备有两个api。
onBluetoothDeviceFound
:获取新发现的设备,将startBluetoothDevicesDiscovery
中的allowDuplicatesKey
设置为true
时,该方法重复上报同一蓝牙设备。getBluetoothDevices
:获取已经发现的蓝牙设备列表,该方法获取的蓝牙设备数量跟搜索时间有关系,一般在开始搜索蓝牙设备后,延时一段时间在调用该方法。连接蓝牙设备
createBLEConnection
:连接蓝牙设备,基本上到这,蓝牙设备就连接上了。为了避免一个设备多个连接实例,一般和closeBLEConnection
成对调用。在连接成功后,一般需要调用stopBluetoothDevicesDiscovery
,停止蓝牙的搜索。停止搜索蓝牙设备
stopBluetoothDevicesDiscovery
: 在蓝牙设备连接成功后,需要停止搜索蓝牙设备。监听蓝牙设备的连接状态
onBLEConnectionStateChange
:监听蓝牙设备的连接状态,包括蓝牙设备的丢失,断开,可以在该方法中进行处理这些连接后发生的异常情况。获取蓝牙设备服务
在连接上蓝牙设备后,我们想要的还是跟蓝牙进行通信,或读取蓝牙设备的数据,或写数据到蓝牙设备。首先需要获取蓝牙设备的服务信息。
获取蓝牙设备的特征值
getBLEDeviceCharacteristics
:根据蓝牙的服务信息,获取可以跟蓝牙进行通信的特征值。一般使用notify或indicate为true、read或write为true
的特征值。启用蓝牙设备的通知功能
notifyBLECharacteristicValueChange
: 启用蓝牙设备的通知功能,该方法需要蓝牙设备的特征值notify 或 indicate 为 true
。只有在在蓝牙设备启用该功能,才能监听到蓝牙设备的数据变化。获取蓝牙设备的数据
onBLECharacteristicValueChange
:监听蓝牙设备的数据变化,当蓝牙设备的数据变化时,可以获取相应变化后的数据。需要在启用蓝牙设备的通知功能后才能使用。写数据到蓝牙设备
writeBLECharacteristicValue
:写数据到蓝牙设备,需要特征值的write为true
。断开蓝牙设备的连接
closeBLEConnection
:断开与蓝牙设备的连接关闭蓝牙模块
closeBluetoothAdapter
: 当蓝牙使用完成后,关闭蓝牙模块,释放系统资源。The text was updated successfully, but these errors were encountered: