1.2.8 • Published 3 years ago
jkyy_wx_bluetooth v1.2.8
蓝牙底层模块
支持 uni 和微信小程序
bluetooth.js
蓝牙服务的封装
| 类属性 | 类型 | 描述 |
|---|---|---|
| deviceInfo | Object | 设备信息 |
| connectStatus | String | 连接状态:0 未连接或连接断开,允许连接;1 正在连接,不允许再连接;2 已连接,不允许再连接 |
| isInitializedAdapter | Boolean | 蓝牙适配器是否初始化完成 |
| isAvailableAdapter | Boolean | 蓝牙适配器是否可用 |
| HTTP | Class | 请求服务 |
方法
| 类方法 | 入参 | 返回 | 描述 |
|---|---|---|---|
| openAndListenBluetoothAdapter | - | Promise 对象 | 打开和监听蓝牙适配器 |
| scanCallback | scanCallbackParams | Promise 对象 | 扫描外设 |
| stopScanCallback | - | Promise 对象 | 停止扫描 |
| connectCallback | connectCallbackParams | Promise 对象 | 连接外设,连接指定的外设,需要传入外设对象。注意实现返回对象的 then 和 catch 方法,监听接口是否调用成功。 |
| disconnectCallback | - | Promise 对象 | 断开连接 |
| readCallback | readCallbackParams | Promise 对象 | 读某个服务下的某个特征值。 |
| writeCallback | writeCallbackParams | Promise 对象 | 向蓝牙模块写入数据 |
| notifyCallback | notifyCallbackParams | Promise 对象 | 监听特征值改变 |
| registerDidUpdateConnectStatusCallback | cb 回调函数 | - | 连接状态发生改变时,回调此方法。 |
| registerDidDiscoverDeviceCallback | cb 回调函数 | - | 当扫描到设备时回调此方法 |
| registerDidUpdateValueForCharacteristicCallback | cb 回调函数 | - | 当监听的特征值改变时回调此方法 |
| callBackDiscoverDevice | scanCallbackParams 的入参 | - | 回调发现外设 |
scanCallbackParams
| 参数 | 类型 | 描述 | |
|---|---|---|---|
| services | Array | 要搜索的蓝牙设备主 service 的 uuid 列表。某些蓝牙设备会广播自己的主 service 的 uuid。如果设置此参数,则只搜索广播包有对应 uuid 的主服务的蓝牙设备。建议主要通过该参数过滤掉周边不需要处理的其他蓝牙设备。 | |
| allowDuplicatesKey | Boolean | 是否允许重复上报同一设备。如果允许重复上报,则 wx.onBlueToothDeviceFound 方法会多次上报同一设备,但是 RSSI 值会有不同。 | |
| interval | Number | 上报设备的间隔。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 | |
| powerLevel | String | 默认 medium 扫描模式,越高扫描越快,也越耗电, 仅安卓 7.0.12 及以上支持。 | |
| timeout | Number | 扫描超时时间,毫秒。在该时间内未扫描到符合要求的设备,上报超时。默认 1500ms,-1 表示无限超时 | |
| deviceName | String | 通过蓝牙名称过滤,需要匹配的设备名称 | |
| containName | String | String[] | 通过蓝牙名称过滤,需要包含的设备名称 |
optionsServices
| 参数 | 类型 | 描述 |
|---|---|---|
| uuid | String | 服务 uuid |
| serviceId | String | 筛选哪个服务用到的 id |
| serviceIdArr | Array | 筛选哪个服务用到的 id(用到多个服务的时候) |
connectCallbackParams
| 参数 | 类型 | 描述 |
|---|---|---|
| device | deviceObject | 指定连接的外设对象,从 registerDidDiscoverDeviceCallback 注册的回调中得到 |
| timeout | Number | 连接超时时间,毫秒,默认 15000ms |
device
| 参数 | 类型 | 描述 |
|---|---|---|
| deviceExtra | String | 设备扩展数据, json 字符串 |
| deviceExtra.uuid | String | 蓝牙连接唯一标识 ios 的 uuid,传这个值 |
| deviceId | String | 蓝牙连接唯一标识 android 的 mac 地址,传这个值,这样 就可以做到,ios android 跳过扫描直接连接 |
readCallbackParams
| 参数 | 类型 | 描述 |
|---|---|---|
| suuid | String | 特征对应的服务 uuid |
| cuuid | String | 写入特征 uuid |
writeCallbackParams
| 参数 | 类型 | 描述 |
|---|---|---|
| suuid | String | 特征对应的服务 uuid |
| cuuid | String | 写入特征 uuid |
| value | Hex string | 16 进制字符串 |
notifyCallbackParams
| 参数 | 类型 | 描述 |
|---|---|---|
| suuid | String | 特征对应的服务 uuid |
| cuuid | String | 写入特征 uuid |
| state | Hex string | 是否启用 notify,可以通过重复调用接口改变此属性打开/关闭监听 |
enum.js
所有错误的集合包括微信的错误和自己定义的错误
| code | message |
|---|---|
| 210 | 发现外设 |
| 211 | 扫描完成 |
| 220 | 蓝牙打开 |
| 221 | 正在连接 |
| 222 | 连接成功 |
| 223 | 断开成功 |
| 410 | 扫描超时 |
| 420 | 蓝牙关闭 |
| 421 | 连接失败 |
| 422 | 连接断开 |
| 2010 | 扫描接口成功调用 |
| 2020 | 停止扫描接口成功调用 |
| 2030 | 连接接口成功调用 |
| 2040 | 断开接口成功调用 |
| 2050 | 读特征值接口成功调用 |
| 2060 | 写入数据接口成功调用 |
| 2070 | 监听特征值接口成功调用 |
| 4000 | 当前基础库版本低,请更新微信版本 |
| 4010 | 扫描失败,请稍后重试 |
| 4011 | 扫描错误:蓝牙被关闭 |
| 4012 | 没有找到指定的蓝牙服务 |
| 4013 | 请打开手机蓝牙,并进入手机应用设置开启微信的蓝牙授权,方可查找设备 |
| 4020 | 停止蓝牙扫描失败 |
| 4021 | 请打开手机蓝牙后再试 |
| 4030 | 蓝牙连接失败,请稍后重试 |
| 4031 | 请开启手机蓝牙后再试 |
| 4032 | 蓝牙正在连接 |
| 4033 | 蓝牙连接超时,请稍后重试 |
| 4034 | 蓝牙连接设备 id 不能为空 |
| 4040 | 蓝牙断开失败 |
| 4050 | 读特征值失败 |
| 4051 | 蓝牙未连接 |
| 4052 | 当前特征不支持读操作 |
| 4053 | 没有找到指定服务 |
| 4054 | 没有找到指定特征值 |
| 4060 | 写入数据失败 |
| 4061 | 蓝牙未连接 |
| 4062 | 当前特征不支持写操作 |
| 4063 | 没有找到指定服务 |
| 4064 | 没有找到指定特征值 |
| 4070 | 监听特征值失败 |
| 4071 | 蓝牙未连接 |
| 4072 | 当前特征不支持监听操作 |
| 4073 | 没有找到指定服务 |
| 4074 | 没有找到指定特征值 |
extends.js
log 输出
tool.js
常用的蓝牙传输数据的方法,继承此类的各个硬件的 SDK,可以调用这里面的方法
promisify.js
小程序 api 的封装,支持 promise
http.js
请求服务的封装,继承此类的各个硬件的 SDK,可以使用此服务发送请求
1.2.8
3 years ago
1.2.7
3 years ago
1.2.6
3 years ago
1.2.5
4 years ago
1.2.0
4 years ago
1.1.9
4 years ago
1.1.8
4 years ago
1.1.7
4 years ago
1.1.6
4 years ago
1.2.4
4 years ago
1.1.5
4 years ago
1.2.3
4 years ago
1.1.4
4 years ago
1.2.2
4 years ago
1.2.1
4 years ago
1.1.3
4 years ago
1.1.2
4 years ago
1.1.1
4 years ago
1.1.0
4 years ago
1.0.9
4 years ago
1.0.8
4 years ago
1.0.7
4 years ago
1.0.6
4 years ago
1.0.5
4 years ago
1.0.4
4 years ago
1.0.2
4 years ago
1.0.3
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago