Alipay JSSDK V3.1.1

ap.readBLECharacteristicValue(OPTION, CALLBACK)

读取低功耗蓝牙设备特征值中的数据。调用后在 ap.onBLECharacteristicValueChange() 事件中接收数据返回。

OPTION 参数说明

名称类型必填描述
deviceIdString蓝牙设备 id,参考 device 对象
serviceIdString蓝牙特征值对应 service 的 uuid
characteristicIdString蓝牙特征值的 uuid

CALLBACK 参数说明

名称类型描述
characteristicObject设备特征值信息

characteristic对象

蓝牙设备characteristic(特征值)信息

名称类型描述
characteristicIdString蓝牙设备特征值的 uuid
serviceIdString蓝牙设备特征值对应服务的 uuid
valueHex String蓝牙设备特征值的 value

错误码说明

error描述
12读取数据失败

代码示例

<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script>

<button id="J_btn" class="btn btn-default">读取设备特征值</button>
<script>
  var btn = document.querySelector('#J_btn');
  btn.addEventListener('click', function(){
    ap.readBLECharacteristicValue({
      // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
      deviceId: 'deviceId',
      // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
      serviceId: 'serviceId',
      // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
      characteristicId: 'characteristicId',
      success: function(res){
        ap.alert('正在读取,请在 ap.onBLECharacteristicValueChange 事件中接收');
      },
      fail: function(res) {
        ap.showToast('读取数据指令失败');
      }
    });
  });
</script>

其他说明

  • 设备的特征值必须支持 read 才可以成功调用,具体参照 characteristic 的 properties 属性
  • 并行多次调用读写接口存在读写失败的可能性。
  • 如果读取超时,错误码 10015,ap.onBLECharacteristicValueChange 接口之后可能返回数据,需要接入方酌情处理。