簡體   English   中英

使用節點串行端口和AT命令發送短信

[英]Use node serial port and AT commands to send sms

我正在使用nodejs和串行端口 npm軟件包通過com端口連接智能手機。 我正在使用AT命令發送短信。 我面臨的問題是,它僅在字符串中沒有空字符時才發送短信。 例如,將發送“ myTest”,但不發送“ my Test”並給出錯誤。 這是我的代碼。

const SerialPort = require('serialport');
const serialPort = new SerialPort('myComPort');

serialPort.on('open', () => {
 serialPort.write('AT+CMGF=1\r'); // set SMS text mode
 serialPort.write('AT+CMGS="02122323232"\r'); // send sms message
 serialPort.write('my' + ' ' +String.fromCharCode(26)+'Test' + ' '+ String.fromCharCode(26)+'STring\r\n');
 serialPort.write('\x1A');
 serialPort.write('^z'); 
});

我如何發送帶有空格的字符串作為短信。

您是否在heperterm應用程序中嘗試過? 其他我認為所有行都必須不是'\\ r'而是'\\ r \\ n'

const SerialPort = require('serialport');
const serialPort = new SerialPort('myComPort');

serialPort.on('open', () => {
 serialPort.write('AT+CMGF=1\r\n'); // set SMS text mode
 serialPort.write('AT+CMGS="02122323232"\r\n'); // send sms message
 serialPort.write('my Test STring\r\n');
 serialPort.write('\x1A');
 serialPort.write('^z'); 
});

這里的問題文本有些不同,但是代碼實際上與此問題中的代碼相同,並且所有相同的問題都適用,因此我的所有答案也都適用。

區別在於您只用\\r (優秀)正確地終止了命令行,並且應該使用String.fromCharCode(26)創建轉義字符。

暫無
暫無

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

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