0

我正在使用 Node.js 串行端口模块的 3.10 版本。
我有一个 GSM 调制解调器连接到 Ubuntu 机器的串行端口,我正在通过调制解调器发送 SMS。这是简化的代码:

var serialPort = require("serialport");
const Readline = serialPort.parsers.Readline;

var portSerial = new serialPort("/dev/ttyUSB1", {
    baudrate: 115200,
    dataBits:8, stopBits:1, parity: 'none'
}, function (err) {
    if (err)
      //log error here
    });

parser = new Readline();

portSerial.pipe(parser);

portSerial.on("open", function(err) {
  if (err)
     return console.log("Error in opening serial port");
  console.log("Port opened");
});

portSerial.on('error', function(err) {
   //log error
})

//Send SMS
setTimeout(function() {
  portSerial.write('AT+CMGF=1\nAT+CMGS="'+SMSphone + '"\n' +     
              SMSmessage +  '\032');
}, 1000);

是的,我正在设置 SMSphone 和 SMSmessage 变量。而且代码其实有点复杂,但是发送短信的核心代码如上图所示。

问题:如果我在发送 SMS 时运行 minicom,一切正常。我退出 minicom 的那一刻,短信不出去。portSerial.write 停止工作。

在我升级串行端口版本之前一切正常。

4

0 回答 0