分享一下之前用uni-app写小程序的时候,做的蓝牙库
git地址:https://github.com/qinnnn/bleTool
使用方法
主要是项目中 utils/bleTool.js 的文件,这个是库的本体,可以单独使用
首先需要执行 init
去初始化
BleTool.init()
- 1
在开启搜索前,需要执行 getBleState
获取蓝牙状态,返回参数为状态,如果蓝牙 状态正常,则可以开始搜索
BleTool.getBleState((state)=>{})
- 1
搜索的方法为search
返回参数如果失败是false,如果搜索完成,会返回搜索到的蓝牙列表
BleTool.search((callback)=>{})
- 1
返回参数:storageList
已经有连接过的设备列表devicesList
查询出的所有蓝牙列表
搜索完成后,需要根据选择,执行连接的方法 connectDevice
BleTool.connectDevice(devices,(state)=>{})
- 1
连接方法需要传入,你选择的蓝牙信息(就是搜索出来的列表那的其中一条)
连接方法的反回的是一个状态,成功就是连接成功,反之亦然
连接成功之后就是写入方法,写入方法有两个,根据自己的参数选择writeCharacteristicList(buff,(state)=>{})
: 多次写入,根据参数进行分割,连续写入进去,分割的每次传入的大小是蓝牙库文件里的oneTimeData
变量控制writeCharacteristicValue(buff,(state)=>{})
: 单次写入,直接将传的数据写进去
注意:写入时传的buff为ArrayBuffer
格式
格式转换可以使用这个
https://github.com/inexorabletash/text-encoding 例如:
new encode.TextEncoder(
'gb18030', {
NONSTANDARD_allowLegacyEncoding: true
}).encode(str)
如果蓝牙库使用上有什么问题,请看看git上的示例,如果示例解决不了,请私信或留言给我
分享一下之前用uni-app写小程序的时候,做的蓝牙库
git地址:https://github.com/qinnnn/bleTool
使用方法
主要是项目中 utils/bleTool.js 的文件,这个是库的本体,可以单独使用
首先需要执行 init
去初始化
BleTool.init()
- 1
在开启搜索前,需要执行 getBleState
获取蓝牙状态,返回参数为状态,如果蓝牙 状态正常,则可以开始搜索
BleTool.getBleState((state)=>{})
- 1
搜索的方法为search
返回参数如果失败是false,如果搜索完成,会返回搜索到的蓝牙列表
BleTool.search((callback)=>{})
- 1
返回参数:storageList
已经有连接过的设备列表devicesList
查询出的所有蓝牙列表
搜索完成后,需要根据选择,执行连接的方法 connectDevice
BleTool.connectDevice(devices,(state)=>{})
- 1
连接方法需要传入,你选择的蓝牙信息(就是搜索出来的列表那的其中一条)
连接方法的反回的是一个状态,成功就是连接成功,反之亦然
连接成功之后就是写入方法,写入方法有两个,根据自己的参数选择writeCharacteristicList(buff,(state)=>{})
: 多次写入,根据参数进行分割,连续写入进去,分割的每次传入的大小是蓝牙库文件里的oneTimeData
变量控制writeCharacteristicValue(buff,(state)=>{})
: 单次写入,直接将传的数据写进去
注意:写入时传的buff为ArrayBuffer
格式
格式转换可以使用这个
https://github.com/inexorabletash/text-encoding 例如:
new encode.TextEncoder(
'gb18030', {
NONSTANDARD_allowLegacyEncoding: true
}).encode(str)
如果蓝牙库使用上有什么问题,请看看git上的示例,如果示例解决不了,请私信或留言给我