Sending SMS AT commands to 3G modem using PHP

怎甘沉沦 提交于 2019-12-04 13:35:16

问题


I'm having trouble sending commands to a 3G modem connected on COM5. The modem is accepting the connection and receiving the commands. But there is something wrong (I think it is in my syntax/AT commands). In hyperterminal the commands are returning errors. If anyone can help I would gladly appreciate it.

-------CODE BELOW-------

<?
exec("mode COM5 BAUD=9600 PARITY=N data=8 stop=1 xon=off");
$fp = fopen ("\\.\COM5:", "r+");
//$fp = dio_open('COM5:', O_RDWR | O_NOCTTY | O_NONBLOCK);
if (!$fp) 
{
    echo "Uh-oh. Port not opened.";
} 
else 
{

    $string  = "AT+CMGF=1";

    $string  = $string."OK";

    $string  = $string."AT+CMGS='+27824139864'";

    $string  = $string."> Hello World?<Ctrl>+<Z>";

    $string  = $string."+CMGS: 44";

    $string  = $string."OK";

    fputs ($fp, $string );
    echo $string."\n";
    fclose ($fp);
}

?>

回答1:


You need to append a \r to the end of each command rather than an "OK". The "OK" is the response you expect to be returned by the phone. Use a terminal program

1 second delay
+++
1 second delay
The modem should respond with "OK"
Type AT+CMGF=1
press enter key
Modem will repond with "OK"

Etc... It is possible your phone does not support SMS text mode only pdu mode

Type at+CMGF=?

Type enter key, if the response is at+CMGF (0,1) it supports both if (0) then pdu only. You will have to enter the SMS message in pdu mode.
There are plenty of examples on how to do this.




回答2:


You need to append a \r to the end of each command rather than an "OK". The "OK" is the response you expect to be returned by the phone. Use a terminal program

1 second delay +++ 1 second delay The modem should respond with "OK" Type AT+CMGF=1 press enter key Modem will repond with "OK"

Etc... It is possible your phone does not support SMS text mode only pdu mode

Type at+CMGF=?

Type enter key, if the response is at+CMGF (0,1) it supports both if (0) then pdu only. You will have to enter the SMS message in pdu mode. There are plenty of examples on how to do this.

CAN U GIVE ME THE CODE



来源:https://stackoverflow.com/questions/9257302/sending-sms-at-commands-to-3g-modem-using-php

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!