//serialPort.js //引入第三方插件,主要是要引入其中me.f1reking.serialportlib底层d额串口操作包 const serialPort = uni.requireNativePlugin('Fvv-UniSerialPort') //引入相关对象 plus.android.importClass("me.f1reking.serialportlib.listener.Status") plus.android.importClass("me.f1reking.serialportlib.entity.Device") plus.android.importClass("me.f1reking.serialportlib.listener.IOpenSerialPortListener") plus.android.importClass("me.f1reking.serialportlib.listener.ISerialPortDataListener") //引入串口操作类 var SerialPortHelper = plus.android.importClass("me.f1reking.serialportlib.SerialPortHelper") export const openSerialPort = (port = '/dev/ttyS9', baudRate = 9600, opt) => { //串口操作实例 var ser = new SerialPortHelper() //设置串口 ser.setPort(port) //设置波特率这里传d额是要数值,如果传字符串会异常的 ser.setBaudRate(baudRate) //实现原生java打开串口相关的事件 var iop = plus.android.implements("me.f1reking.serialportlib.listener.IOpenSerialPortListener", { "onSuccess": function(res) { console.log(res,1) opt.onSuccess && opt.onSuccess(res) }, "onFail": function(res) { console.log(res,2) opt.onFail && opt.onFail(res) } }) //实现原生java打开串口后数据接收/发送相关的事件 var isd = plus.android.implements("me.f1reking.serialportlib.listener.ISerialPortDataListener", { "onDataReceived": function(res) { var str = String.fromCharCode.apply(null, res).trim() opt.onDataReceived && opt.onDataReceived(str) }, "onDataSend": function(str) { ser.sendTxt(str) } }) //配置相关内容 ser.setIOpenSerialPortListener(iop) ser.setISerialPortDataListener(isd) //打开串口 ser.open() }