蓝牙API

作者: bianruifeng | 来源:发表于2021-11-08 16:09 被阅读0次

    内容来源:https://www.jianshu.com/p/42a8f71110e8

    API简介

    • 微信小程序目前有蓝牙 API 共 18 个
    1. 操作蓝牙适配器的共有 4 个,分别是
      wx.openBluetoothAdapter 初始化蓝牙适配器
      wx.closeBluetoothAdapter 关闭蓝牙模块
      wx.getBluetoothAdapterState 获取本机蓝牙适配器状态
      wx.onBluetoothAdapterStateChange 监听蓝牙适配器状态变化事件
    2. 连接前使用的共有 4 个,分别是
      wx.startBluetoothDevicesDiscovery 开始搜寻附近的蓝牙外围设备
      wx.stopBluetoothDevicesDiscovery 停止搜寻附近的蓝牙外围设备
      wx.getBluetoothDevices 获取所有已发现的蓝牙设备
      wx.onBluetoothDeviceFound 监听寻找到新设备的事件
    3. 连接和断开时使用的共有 2 个,分别是
      wx.createBLEConnection 连接低功耗蓝牙设备
      wx.closeBLEConnection 断开与低功耗蓝牙设备的连接
    4. 连接成功后使用的共有 8 个,分别是
      wx.getConnectedBluetoothDevices 根据 uuid 获取处于已连接状态的设备
      wx.getBLEDeviceServices 获取蓝牙设备所有 service(服务)
      wx.getBLEDeviceCharacteristics 获取蓝牙设备所有 characteristic(特征值)
      wx.readBLECharacteristicValue 读取低功耗蓝牙设备的特征值的二进制数据值
      wx.writeBLECharacteristicValue 向低功耗蓝牙设备特征值中写入二进制数据
      wx.notifyBLECharacteristicValueChange 启用低功耗蓝牙设备特征值变化时的 notify 功能
      wx.onBLECharacteristicValueChange 监听低功耗蓝牙设备的特征值变化
      wx.onBLEConnectionStateChange 监听低功耗蓝牙连接的错误事件

    内容来源:https://www.cnblogs.com/easyidea/p/13109806.html

    微信小程序只支持BLE每次发送数据不大于20个字节
    要解决发送数据大于20个字节的问题,最简单实用的方式就是分包发送。

    • 小程序源码
     //要发送的字符串(要在起始位置添加起始字符,结束位置添加结束字符)
        let order = that.stringToBytes(recs);
        let byteLen = order.byteLength;//长度
        let pos = 0;       //字符位置
        let tempBuffer;   //一次发送的数据
        var i = 0;          //计数
    
    //为了安全每次发送18个字节 (每次最多20个)
    //发送之前
        while (byteLen > 0) {
          i++;
          if (byteLen > 18) {
            tempBuffer = order.slice(pos, pos + 18);
            pos += 18;
            byteLen -= 18;
            console.log("第", i, "次发送:", tempBuffer);
            that.writeBLECharacteristicValue(tempBuffer);
          } else {
            tempBuffer = order.slice(pos, pos + byteLen);
            pos += byteLen;
            byteLen -= byteLen;
            console.log("第", i, "次发送:", tempBuffer);
            that.writeBLECharacteristicValue(tempBuffer);
          }
        }
        console.log("发送结束");
    

    相关文章

      网友评论

          本文标题:蓝牙API

          本文链接:https://www.haomeiwen.com/subject/bgguzltx.html