javascript - 在node.js和serial.js上使用AT+命令发送短信

标签 javascript node.js serial-port

我正在尝试使用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('"')

我的控制台返回如下

enter image description here

任何建议都会很棒!提前致谢!

最佳答案

我还没有尝试过你的例子,但是,看看代码,你正在调用:

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/

相关文章:

c++ - 模拟串口

windows - Windows 7打开串口命令

javascript - 如何在动态字符串的react js中事件监听器或单击监听器?

javascript - React Component - 多次重新加载数据

javascript - 从服务器nodejs返回的RSA加密

node.js - 使用 node_redis 在 node.js 应用程序中使用 redis 检查缓存键是否存在

javascript - Konva在舞台外继续追踪鼠标

javascript - 如何获取 ui-router 状态参数?

javascript - 使用 lodash 根据条件过滤对象数组中的数据

javascript - Node JS异步执行和事件发出/监听器模型