我试图使用enfora调制解调器为此目的做标题所说的内容。但是,即使它在minicom中正常工作,它也无法在我的node.js应用程序中工作。 这是我使用的代码:
serialPort.write('AT+CMGF=1\r');
serialPort.write('AT+CMGS="02122323232"\r');
serialPort.write('mensaje'+String.fromCharCode(26)+'\r');
我还尝试使用以下选项替换 String.fromCharCode(26)。没有一个有效。
'\^z'
'^z'
'^(z)'
'\^(z)'
'<ctrl+Z>'
'<ctrl-Z>'
'\#'
'#'
'\u001A'
Buffer([0x1A])
我真诚地相信这是代码中有问题的部分,因为我从前两行得到了一条OK消息,但第三行没有返回任何内容,因为它没有得到处理。
对此有任何帮助将不胜感激。
答案 0 :(得分:3)
setTimeout(function(){
serialPort.write('AT+CMGF=1\r')
setTimeout(function(){
serialPort.write('AT+CMGS=\"02142323232\"\r')
setTimeout(function(){
serialPort.write('test sms\r')
setTimeout(function(){
serialPort.write('\x1A')
}, 100);
}, 100);
}, 100);
}, 100);
答案 1 :(得分:1)
假设0x1a
是您需要发送的字节,您只需要正确地将其发送到缓冲区。你不能简单地连接。如果你这样做,你最终会得到字符串mensaje\u001a
,而不是0x1a
的字符。
试试这个:
serialPort.write('mensaje');
serialPort.write(new Buffer[0x1a]);
serialPort.write('\r');