Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Node.JS SerialPort发送SMS_Javascript_Node.js_Serial Port_Sms - Fatal编程技术网

Javascript 使用Node.JS SerialPort发送SMS

Javascript 使用Node.JS SerialPort发送SMS,javascript,node.js,serial-port,sms,Javascript,Node.js,Serial Port,Sms,我正试图用enfora调制解调器来实现标题所说的目的。但是,即使它在minicom中正常工作,在我的node.js应用程序中也无法工作。 以下是我正在使用的代码: serialPort.write('AT+CMGF=1\r'); serialPort.write('AT+CMGS="02122323232"\r'); serialPort.write('mensaje'+String.fromCharCode(26)+'\r'); 我还尝试用以下选项替换String.fromCharCode2

我正试图用enfora调制解调器来实现标题所说的目的。但是,即使它在minicom中正常工作,在我的node.js应用程序中也无法工作。 以下是我正在使用的代码:

serialPort.write('AT+CMGF=1\r');
serialPort.write('AT+CMGS="02122323232"\r');
serialPort.write('mensaje'+String.fromCharCode(26)+'\r');
我还尝试用以下选项替换String.fromCharCode26。所有这些都不起作用

'\^z'
'^z'
'^(z)'
'\^(z)'
'<ctrl+Z>'
'<ctrl-Z>'
'\#'
'#'
'\u001A'
Buffer([0x1A])
我真诚地认为这是代码中有问题的部分,因为我从前两行收到一条OK消息,但第三行什么也不返回,因为它没有得到处理

如果您在这方面有任何帮助,我们将不胜感激。

假设0x1a是您需要发送的字节,您只需将其正确地发送到缓冲区即可。不能简单地连接。如果您这样做,您将以字符串mensaje\u001a结束,而不是0x1a的字符

试试这个:

serialPort.write('mensaje');
serialPort.write(new Buffer[0x1a]);
serialPort.write('\r');
假设0x1a是需要发送的字节,则只需将其正确地发送到缓冲区中即可。不能简单地连接。如果您这样做,您将以字符串mensaje\u001a结束,而不是0x1a的字符

试试这个:

serialPort.write('mensaje');
serialPort.write(new Buffer[0x1a]);
serialPort.write('\r');

谢谢我会在晚些时候或明天尝试,这取决于我是否能访问办公室的服务器哦,还有。缓冲区部分我不确定它是什么意思,我在另一个stackoverflow帖子中看到了它,它应该和控件z相同。这就是我尝试使用String.FromCharCode26的原因。好吧,我试过了,它仍然不起作用,实际上抛出了错误。没有细节,只是说错误。我想我必须找到另一种方法将控件z发送到serialport。有什么建议吗?@arrigonfr您使用的是什么串行端口API?如果它不接受缓冲区,我建议找一个新的。我做到了。我会在几分钟后把代码作为答案贴出来谢谢。我会在晚些时候或明天尝试,这取决于我是否能访问办公室的服务器哦,还有。缓冲区部分我不确定它是什么意思,我在另一个stackoverflow帖子中看到了它,它应该和控件z相同。这就是我尝试使用String.FromCharCode26的原因。好吧,我试过了,它仍然不起作用,实际上抛出了错误。没有细节,只是说错误。我想我必须找到另一种方法将控件z发送到serialport。有什么建议吗?@arrigonfr您使用的是什么串行端口API?如果它不接受缓冲区,我建议找一个新的。我做到了。我直到几分钟后才把密码作为答案发出去,所以调制解调器跟不上了?你可以把它清理干净一点。创建写入队列的写入函数,以及从该队列读取、写入调制解调器的间隔。您还可以启用硬件流控制来解决此问题。啊,调制解调器跟不上吗?你可以把它清理干净一点。创建写入队列的写入函数,以及从该队列读取、写入调制解调器的间隔。您还可以启用硬件流控制来解决此问题。