簡體   English   中英

使用Node.JS SerialPort發送短信

[英]Send SMS with Node.JS SerialPort

我正在嘗試使用為此目的的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消息,但是第三行什么也不返回,因為它沒有得到處理。

任何幫助,將不勝感激。

    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);

假設0x1a是您需要發送的字節,則只需將其正確發送到緩沖區即可。 您不能簡單地串聯。 如果這樣做,則最終得到字面意義上的字符串mensaje\ ,而不是0x1a的字符。

嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM