Узел js Последовательный порт Получить ответ `ERROR` или` OK` модем sms - PullRequest
0 голосов
/ 07 сентября 2018

Я использую Wavecom 8-портовый SMS-модем Моя проблема в том, что я хочу проверить, есть ли ошибка (например, нет баланса нагрузки или не вставлена ​​SIM-карта) при написании AT-команд, тогда он проверит другие доступные порты для повторной отправки SMS.

Я хочу захватить только ОШИБКУ или ОК, вывод

я использовал эту функцию

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);
      });
  });
}

Данные, полученные из порта

1 Ответ

0 голосов
/ 10 сентября 2018

Я сейчас использую serialport 5.0

Я решаю свою проблему, создав эту функцию

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])
    })
  })
}
...