更新记录

V1.0(2023-03-01) 下载此版本

初次发布


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

使用方法

  1. 引入文件 import Bluetooth from "@/common/bluebooth.js"
  2. 实例化对象const bluetooth = new Bluetooth(bluetoothName, osName, readCallBack, msgCallBack)
  3. 初始化初始化蓝牙模块bluetooth.initBluetooth()
  4. 获取搜索设备bluetooth.searchDevice(newDeviceCallback)
  5. 向蓝牙设备写入数据bluetooth.manualConnectDevice(deviceId,writeArrayBuffer)
  6. 断开指定设备连接bluetooth.closeBLEConnection(deviceId)

参数说明

Bluetooth(bluetoothName,osName,readCallBack,msgCallBack)

参数 说明 示例
bluetoothName 蓝牙能搜索到的设备名称 一号打印机
osName ios或android默认按照安卓的方式处理蓝牙连接通信
readCallBack 回调函数,蓝牙设备返回数据,格式:{deviceId,write,read}
readCallBack.deviceId 蓝牙设备ID 11:5D:1F:44:1A:13
readCallBack.write 写入蓝牙的数据,类型ArrayBuffer需要使用Int8Array 或者等同的视图引用它 new Uint8Array(write)
readCallBack.read 读取蓝牙的数据,类型ArrayBuffer需要使用Int8Array 或者等同的视图引用它 new Uint8Array(read)
msgCallBack 回调函数,蓝牙连接中产生的错误,格式{type,msg} 建议自定义 参数不在说明

searchDevice(newDeviceCallback)

参数 说明 示例
newDeviceCallback 发现新设备的回调
newDeviceCallback.device 搜索到的蓝牙设备
newDeviceCallback.device.deviceId 蓝牙设备ID 11:5D:1F:44:1A:13

manualConnectDevice(deviceId,writeArrayBuffer)

参数 说明 示例
deviceId 设备id
writeArrayBuffer ArrayBuffer类型 可以使用new Uint8Array([0x01,0x02]).buffer这种方式转化

closeBLEConnection(deviceId)

参数 说明 示例
deviceId 设备id

特殊说明

  1. 在实际项目中initBluetooth 初始化蓝牙和 closeBlueAdapter 是成对出现的,在调用搜索设备时searchDevice(newDeviceCallback) 如果发现设备不要立即向设备写入数据 manualConnectDevice(deviceId,writeArrayBuffer),否者大概率会写入失败,建议使用延时函数延迟一段时间(本人是1秒)再写数据
  2. 需要修改bluebooth.js文件中this.serviceId(主服务ID)和this.characteristicId(蓝牙服务特征值),这些是标识你要向某个特征值写入数据,可以调用bluetooth.getBLEDeviceServices(deviceId) 查看所有主服务与特征值

隐私、权限声明

1. 本插件需要申请的系统权限列表:

蓝牙

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问