Javascript 使用AT+发送文本消息;node.js和serial.js上的命令

Javascript 使用AT+发送文本消息;node.js和serial.js上的命令,javascript,node.js,serial-port,Javascript,Node.js,Serial Port,我正在尝试使用node.js和serial.js以及下面的命令发送SMS AT+命令,但它似乎跳过了发送者号码,这是设备问题还是我的代码中缺少了什么?我使用的是连接在COM2上的华为gsm调制解调器,我的机器是windows 7 var SerialPort = require('serialport'); var port = new SerialPort('COM2', { baudrate: 9600, dataBits: 8, parity: 'none' }); cons

我正在尝试使用node.js和serial.js以及下面的命令发送SMS 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)");
i、 e.参数顺序错误,应为:

gsm_message_sending(serial, phone_no, message)

你有什么解决办法吗?