写(写入数据,带响应)

[!TIP|labelVisibility:hidden|iconVisibility:hidden] navigator.bluetooth.write(device_id,service_uuid,characteristic_uuid,value, success, error)

支持平台:

  • Android
  • iOS

参数说明

参数 类型 必填 说明
device_id String 设备号
service_uuid String 服务id
characteristic_uuid String 特征值
value ArrayBuffer 要升级的蓝牙模块文件
success Function 成功回调函数
error Function 失败回调函数

device_id (android)设备mac地址,(ios)设备id

service_uuid 服务id,连接蓝牙时返回。

characteristic_uuid 特征值,连接蓝牙时返回。

value 对应到iOS方法里为NSData,javabyte[]

success 函数会返回特征值的新增(如果不为空),iOSNSDataArrayBuffer,javabyte[]ArrayBuffer。前端收到的是ArrayBuffer,移动端有相应的方法将NSDatabyte[]转为ArrayBuffer

error函数会返回一个字符串,错误的相关信息。

示例代码

// 引用js
<script src='supconit://hcmobile.js'></script>
<script>
    // 监听’deviceready‘事件
    document.addEventListener('deviceready', onDeviceReady, false)
    function onDeviceReady(){
      var uuid = 'BA6607B4-***';
      var service_uuid='FFF0';
      var value = '90**';
      navigator.bluetooth.write(uuid, service_uuid,'FFF5',stringToBytes(value), function (res) {
           alert(JSON.stringify(res));
      }, function (error) {
           alert(error);
      });
      function stringToBytes(string) {
        var array = new Uint8Array(string.length);
        for (var i = 0, l = string.length; i < l; i++){
            array[i] = string.charCodeAt(i);
        }
        return array.buffer;
       }
 }
</script>

响应示例代码:

{
    "service": "FF**",
    "characteristic": "FF**",
    "peripheral": "BA6607B4-***"
}

results matching ""

    No results matching ""