| | |
| | | let serialPort:any; // 串口实例 |
| | | |
| | | const initPort=(path:String,baudRate:Number)=>{ |
| | | // 是否清零了 |
| | | let sfqingling=true |
| | | // 配置文件定义的对此次数 |
| | | const yanjiancishu=confingInfoStore().confingInfo.jianyancishu===undefined?4:confingInfoStore().confingInfo.jianyancishu |
| | | console.log('初始化打开XK3190-A12体重秤端口',yanjiancishu) |
| | |
| | | const parser = serialport.pipe(new DelimiterParser({ delimiter:Buffer.from([107,103,13,10]),includeDelimiter:true })) |
| | | parser.on('data', (value: string | any[])=>{ |
| | | console.log(value.toString()) |
| | | const str=value.toString() |
| | | const str=value.toString() |
| | | // 截取结果 |
| | | // const list=str.substring(2,10) 得到数字 |
| | | |
| | | ipcRenderer.invoke('logger', `收到体重秤数据${value.toString()}`) |
| | | const list = parseFloat(str.replace(/[^\d.]/g, '')).toString(); |
| | | console.log(list) |
| | | if(Number(list)>20){ |
| | |
| | | // 对比4次结果都一致 |
| | | if(duibinum>=yanjiancishu){ |
| | | // 数据发送 体重没有清零 下次就不播报不发送 |
| | | sfqingling=false |
| | | const res=Number(list) |
| | | console.log(res,'获取到的体重') |
| | | ipcRenderer.invoke('logger', `获取到的体重${res.toString()}`) |
| | | sockteStore().setweightSockte( |
| | | { |
| | | deviceName:'XK3190-A12', |
| | |
| | | duibinum=0 |
| | | lisijieguo='' |
| | | }else{ |
| | | // sfqingling=false |
| | | } |
| | | |
| | | |
| | | |
| | | }else{ |
| | | sfqingling=true |
| | | console.log('小于20') |
| | | // 小于20 就做测量准备 可以扫码识别了 |
| | | sockteStore().setis测量准备(true) |
| | | // ipcRenderer.invoke('logger', `小于20就算归零状态了,可以继续人脸识别`) |
| | | } |
| | | }) // all data after READY is received |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | // const serialport = new SerialPort({ path, baudRate }, (err: any) => { |
| | | // if (err) { |
| | | // console.log(err) |
| | | // ElMessage({ |
| | | // message: 'XK3190-A12体重秤端口打开失败!', |
| | | // type: 'error', |
| | | // }) |
| | | // console.log(err) |
| | | // }else{ |
| | | // ElMessage({ |
| | | // message: 'XK3190-A12体重秤端口打开成功', |
| | | // type: 'success', |
| | | // }) |
| | | // } |
| | | // }) |
| | | // serialport.on("close",(err: any)=>{ |
| | | // console.log('XK3190-A12体重秤端口异常端口链接断开') |
| | | // console.log(err) |
| | | // }) |
| | | // // 解析分割数据流 |
| | | // // 77 6E 30 30 30 30 30 2E 30 6B 67 0D 0A |
| | | // // 77 6E 30 30 30 30 32 38 2E 36 6B 67 0D 0A |
| | | // // 77 6E 30 30 30 30 32 38 2E 36 6B 67 0D 0A |
| | | // //wn000016.6kg |
| | | // const parser = serialport.pipe(new DelimiterParser({ delimiter:Buffer.from([107,103,13,10]),includeDelimiter:true })) |
| | | // parser.on('data', (value: string | any[])=>{ |
| | | // console.log(value.toString()) |
| | | // const str=value.toString() |
| | | // // 截取结果 |
| | | // // const list=str.substring(2,10) 得到数字 |
| | | |
| | | // const list = parseFloat(str.replace(/[^\d.]/g, '')).toString(); |
| | | // console.log(list) |
| | | // if(Number(list)>20){ |
| | | // // 判断是否相等 相等加一 |
| | | // if(list===lisijieguo){ |
| | | // duibinum++ |
| | | // }else{ |
| | | // lisijieguo=list |
| | | // duibinum=0 |
| | | // } |
| | | // // 对比4次结果都一致 |
| | | // if(duibinum>=yanjiancishu){ |
| | | // // 数据发送 体重没有清零 下次就不播报不发送 |
| | | // sfqingling=false |
| | | // const res=Number(list) |
| | | // console.log(res,'获取到的体重') |
| | | // sockteStore().setweightSockte( |
| | | // { |
| | | // deviceName:'XK3190-A12', |
| | | // type:"体重秤", |
| | | // result:res.toString(), |
| | | // resultTime:new Date().toString(), |
| | | // state:2 |
| | | // } |
| | | // ) |
| | | // duibinum=0 |
| | | // lisijieguo='' |
| | | // }else{ |
| | | // // sfqingling=false |
| | | // } |
| | | |
| | | |
| | | |
| | | // }else{ |
| | | // sfqingling=true |
| | | // console.log('小于20') |
| | | // } |
| | | // }) // all data after READY is received |
| | | |
| | | } |
| | | |
| | | export { |