uni-app 小程序蓝牙库

转载:uni-app 小程序蓝牙库

分享一下之前用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)

   
    
    
  • 1
  • 2
  • 3
  • 4

如果蓝牙库使用上有什么问题,请看看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)

   
  
  
  • 1
  • 2
  • 3
  • 4

如果蓝牙库使用上有什么问题,请看看git上的示例,如果示例解决不了,请私信或留言给我

猜你喜欢

转载自blog.csdn.net/qq_25430563/article/details/120113188