使用AT命令通过gsm调制解调器发送短信后获取发送状态

时间:2017-01-16 12:41:09

标签: php gsm at-command

我的php文件包含以下代码:

$serial->deviceOpen();

$serial->sendMessage('AT+CMGF=1'); 
$serial->sendMessage(chr(13));
$serial->sendMessage('AT+CMGS="+3XXXXX"');
$serial->sendMessage(chr(13));
$serial->sendMessage("THIS IS  TEST");
$serial->sendMessage(chr(26));

sleep(6);

$read=$serial->readPort();

我的代码包含AT命令,它现在可以通过gsm调制解调器将短信发送到任何号码。现在我想获得交货状态。我在putty软件中使用了AT命令来传递状态,并得到了正确的结果。我希望通过我的php代码查看报告。怎么办呢?

2 个答案:

答案 0 :(得分:0)

您可以通过新的传入短信检查传送状态,这将告知成功。通过此AT cmds访问它应该不难:

AT+CNMI New SMS message indication
AT+ CMGL List SMS messages from preferred storage
AT+CMGR Read SMS message

答案 1 :(得分:0)

通过CNMI命令启用交货状态报告,然后通过CSMP命令启用交货报告请求。

AT+CNMI=2,1,0,1,0
AT+CSMP=49,167,0,0

CSMP命令中的第一个参数49,指示向GSM网络发送报告的请求。如果不需要交货报告,只需使用17而不是49。 然后使用CMGS命令发送您的SMS。 交付报告将通过+ CDS URC代码从调制解调器报告给主机。