返回插件列表

MEngineerKit

文档参考: 工程质量蓝牙数据传输通信协议汇承HC-08BLE串口模块使用规格书 质检测量工具配套插件,目前支持仪器: 0:迈测手持激光测距仪 1:联睿科智能靠尺 2:回弹仪

目录

  1. 监听手机蓝牙开关的状态
  2. 注销对手机蓝牙开关的状态监听
  3. 获取已连接设备列表
  4. 搜索设备
  5. 停止搜索设备
  6. 连接设备
  7. 断开设备

API

注意

  1. iOS系统无法获取蓝牙设备MAC地址,用UUID来代表蓝牙设备的地址。
  2. iOS,在使用蓝牙设备需要在hook中添加蓝牙隐私权限:
   // 获取info.plist配置文件对象:plistObj
    ......
    plistObj.NSBluetoothAlwaysUsageDescription = '如果不允许,可能导致应用功能无法正常使用';
    plistObj. NSBluetoothPeripheralUsageDescription = '如果不允许,可能导致应用功能无法正常使用';

监听手机蓝牙开关的状态

用于监听手机蓝牙的开启和关闭状态

MEngineerKit.registerBlueToothObserver(callback);

调用示例

var callback = {
    "onPoweredOn":function (){
        console.log('蓝牙开关打开');
    },
    "onPoweredOff":function (){
        console.log('蓝牙开关关闭');
    }
}

MEngineerKit.registerBlueToothObserver(callback);

注销对手机蓝牙开关的状态监听

MEngineerKit.resignBlueToothObserver();

调用示例

MEngineerKit.resignBlueToothObserver();

获取已连接设备列表

用于获取通过插件API连接的,且当前状态为已连接的设备的列表 注意:该接口不能获取用户通过手机的系统蓝牙自行连接的设备

MEngineerKit.getConnectedDevices(success, fail);

参数说明

参数 类型 作用
success(array) Function 成功回调,array为已连接的设备列表,例:[{"name" : "T7","address":"设备地址"},...]
fail(error) Function 失败回调

调用示例

MEngineerKit.getConnectedDevices(
    function (array) {
        console.log('getConnectedDevices success ', array);
    },
    function (error) {
        console.log(error);
    }
);

搜索设备

已经连接的设备无法被搜索到。如目标蓝牙已被其他设备连接、目标蓝牙已经通过手机系统的蓝牙连接(而非APP内调用API连接)。

MEngineerKit.searchDevice(options, callback);

参数说明

参数 类型 作用
options Object 搜索参数,请参照下方options参数说明
callback Object 回调方法,请参照下方callback参数说明

options参数说明

字段名称 类型 必填 作用
scanPeriod int 蓝牙扫描时间,单位ms,默认10000

callback参数说明

参数 类型 作用
onStart() Function 搜索开始回调
onNewDevice(deviceInfo) Function 搜索到设备回调, deviceInfo:设备信息,例:
{"name" : "T7","address":"设备地址"}
onError(error) Function 失败回调
onFinish() Function 搜索结束回调

调用示例

MEngineerKit.searchDevice(
    {
        "scanPeriod": 10000
    },
    {
        "onStart": function () {
            console.log("onStart ")
        }, "onNewDevice": function (deviceInfo) {
            console.log("onNewDevice ", deviceInfo)
        }, "onError": function (error) {
            console.log("onError", error)
        }, "onFinish": function () {
            console.log("onFinish")
        }
    }
);

停止搜索设备

MEngineerKit.stopSearchDevice(success, fail);

参数说明

参数 类型 作用
success() Function 成功回调
fail(error) Function 失败回调

调用示例

MEngineerKit.stopSearchDevice(
    function () {
        console.log('stopSearchDevice success ');
    },
    function (error) {
        console.log(error);
    }
);

连接设备

若蓝牙正处于搜索设备状态,此时禁止连接设备。

MEngineerKit.connectDevice(options, callback);
参数 类型 必填 作用
options Object 设备参数,请参照下方options参数说明
callback Object 回调方法,请参照下方callback参数说明

options参数说明

参数 必填 类型 作用
address String 设备地址,从搜索结果中获取
type int 设备类型,如下
0:迈测手持激光测距仪
1:联睿科智能靠尺
2:回弹仪
默认参数为0
timeout int 连接设备超时时间,单位ms,默认10000,连接发起时有效,传0表示持续搜索

callback参数说明

参数 必填 类型 作用
onConnect(options) Function 连接成功回调, options为接口调用传入的options
onReceiveData(data, options) Function 数据接收回调,格式请参照下方对应设备data说明
onDisconnect(options) Function 与设备蓝牙的连接中断(如信号干扰,距离问题等)时回调,断开后会自动重连
onError(error, options) Function 失败回调
onClose(options) Function 关闭指定蓝牙连接的回调,关闭后,两台设备间的蓝牙,不再有断开重连功能

迈瑞手持激光测距仪data说明:

参数 必填 类型 作用
distance String 测量距离,单位m

联睿科智能靠尺data说明:

参数 必填 类型 作用
mode String 测量类型:PZD-平整度,CZD-垂直度
value String 测量结果,单位mm

LRK-HT225全自动一体回弹仪data说明:

注意:回弹仪返回单条数据,没有头标识尾标识。当返回数据为多条时,由于数据通过字符串拼接来组装,导致暂无法识别出独立的每一条数据。下方示例为完整的单条数据的示例

参数 必填 类型 作用
data String 设备测量返回的完整结果,例如:1;1;3;1;1;[1.5];{[65,66,53,56,61,57,56,59,57,58,59,66,66,62,65,57]};[60.0];[60.1];60.1;60.1;00.0;0.00;1.5;60.1

调用示例

MEngineerKit.connectDevice({
        "address": "64:33:DB:D7:1F:35",
        "type": 0,
        "timeout": 10000
    },{
        "onConnect": function (options) {
            console.log("onConnect", options);
        }, "onReceiveData": function (data, options) {
            console.log("onReceiveData ", data, options);
        }, "onDisconnect": function (options) {
            console.log("onDisconnect", options);
        }, "onError": function (error, options) {
           console.log("onError", error, options);
        }, "onClose": function (error, options) {
           console.log("onClose", error, options);
        }
    }
);

断开设备

MEngineerKit.disconnectDevice(address, success, fail);

参数说明

参数 类型 作用
address String 设备地址,从搜索结果中获取
success() Function 成功回调
fail(error) Function 失败回调

调用示例

MEngineerKit.disconnectDevice(
    "64:33:DB:D7:1F:35",
    function () {
        console.log('disconnect success ');
    },
    function (error) {
        console.log(error);
    }
);