【发布时间】:2023-03-12 18:12:02
【问题描述】:
我已经在两台设备上测试了这段代码,但它在一台设备上运行没有任何问题,而在另一台设备上它只发送一次短信,第二次出现超时错误。
var serialportgsm = require('serialport-gsm');
var modem = serialportgsm.Modem();
var options = {
baudRate: 115200,
dataBits: 8,
stopBits: 1,
parity: 'none',
rtscts: false,
xon: false,
xoff: false,
xany: false,
autoDeleteOnReceive: true,
enableConcatenation: true,
incomingCallIndication: true,
incomingSMSIndication: true,
pin: '',
customInitCommand: '',
logger: console
};
modem.open(com, options, function (err, result) {
if (err) {
console.log("error in open modem", err);
}
if (result) {
console.log("modem open", result);
}
});
modem.on('open', function () {
modem.initializeModem(function (msg, err) {
if (err) {
console.log('Error Initializing Modem - ', err);
} else {
console.log('InitModemResponse: ', JSON.stringify(msg));
modem.setModemMode(function () {
var i = 0;
modem.sendSMS(Mobile, Message, false, function (result) {
i++;
if(i == 2){
modem.close(function () {
console.log('modem closed')
});
}
});
}, 'PDU');
}
})
});
我也尝试在发送第一条消息后不关闭调制解调器,但在同一设备上第二次发送仍然失败。
这两款设备来自同一家公司,同一型号,只是它们的版本不同。
有人可以帮助我吗? 谢谢。
【问题讨论】:
-
不要关闭连接。
标签: node.js serial-port sms gsm