jkyy_wx_bluetooth
v1.2.8
Published
微信UNI蓝牙模块
Downloads
5
Readme
蓝牙底层模块
支持 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,可以使用此服务发送请求