我正在尝试使用node.js和serial.js通过以下命令发送短信AT+命令,但看起来它跳过了发件人号码,这是设备问题还是我的代码缺少某些内容?我正在使用连接在 COM2 上的华为 gsm 调制解调器,我的机器是 Windows 7。
var SerialPort = require('serialport');
var port = new SerialPort('COM2', {
baudrate: 9600,
dataBits: 8,
parity: 'none'
});
console.log('port is now open');
port.on("open", function () {
console.log('Serial communication open');
port.write("AT");
port.write('\r');
port.on('data', function(data) {
console.log("Received data: " + data);
});
gsm_message_sending(port, "test2", "89410238(example only)");
});
function gsm_message_sending(serial, phone_no, message) {
serial.write("AT+CMGF=1");
serial.write('\r');
serial.write("AT+CMGS=\"" + phone_no + "\"");
serial.write('\r');
serial.write(message);
serial.write(Buffer([0x1A]));
serial.write('^z');
}
我尝试使用下面的代码更改该行,但输出仍然相同。
serial.write("AT+CMGS=\"");
serial.write(phone_no);
serial.write('"')
我的控制台返回如下
任何建议都会很棒!提前致谢!
最佳答案
我还没有尝试过你的例子,但是,看看代码,你正在调用:
gsm_message_sending(port, "test2", "89410238(example only)");
即参数顺序错误,应该是:
gsm_message_sending(serial, phone_no, message)
关于javascript - 在node.js和serial.js上使用AT+命令发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44712052/