简体   繁体   English

节点js串行端口获取响应`ERROR`或`OK` sms调制解调器

[英]Node js Serial Port Get Response `ERROR` or `OK` sms Modem

I am using Wavecom 8 port SMS Modem My problem is i want to check if there is an error (such as no load balance or no sim inserted) in writing AT commands then it will check another available ports to re send the SMS. 我正在使用Wavecom 8端口SMS调制解调器我的问题是我想检查在编写AT命令时是否存在错误(例如没有负载平衡或未插入sim),然后它将检查另一个可用端口以重新发送SMS。

I want to capture only the ERROR or OK output 我只想捕获ERROR或OK输出

i used this function 我用了这个功能

function sendSync(port, src) {
  return new Promise((resolve, reject) => {
      port.write(src,(err)=>{
        if(err){
          reject(err)
        }
        port.drain()
      });
      port.once('data', (data) => {
        console.log('###############################',data.toString())
          resolve(data.toString());
      });

      port.once('error', (err) => {
        console.log('************************')
          reject(err);
      });
  });
}

Data Recieved from Port 从端口接收数据

I am now using serialport 5.0 我现在正在使用Serialport 5.0

I solve my problem by creating this function 我通过创建此函数来解决我的问题

function writeSync(serial,cmd){
  return new Promise(function(resolve,reject){
    serial.write(cmd)
    serial.drain()
    serial.once('data',(data)=>{
      var arr = data.toString()
      var str = arr.split(/\r?\n/);
      //console.log(str[1])
      resolve(str[1])
    })
  })
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM