Отправка SMS AT-команд на 3G-модем с помощью PHP - PullRequest
4 голосов
/ 13 февраля 2012

У меня проблемы с отправкой команд на модем 3G, подключенный к COM5.Модем принимает соединение и получает команды.Но что-то не так (я думаю, это в моих синтаксических / AT-командах).В гипертерминале команды возвращают ошибки.Если кто-то может помочь, я с удовольствием это оценил бы.

------- КОД НИЖЕ -------

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

?>

Ответы [ 2 ]

3 голосов
/ 13 февраля 2012

Вам необходимо добавить \ r в конец каждой команды, а не «ОК». «OK» - это ответ, который вы ожидаете получить по телефону. Используйте терминальную программу

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 ... Возможно, ваш телефон не поддерживает текстовый режим SMS, только режим pdu

Тип при + CMGF =?

Введите клавишу ввода, если ответ имеет значение + CMGF (0,1), он поддерживает оба параметра, если (0), то только pdu. Вам нужно будет ввести SMS-сообщение в режиме pdu.
Есть много примеров того, как это сделать.

0 голосов
/ 09 октября 2013

Вам необходимо добавить \ r в конец каждой команды, а не «ОК». «OK» - это ответ, который вы ожидаете получить по телефону. Используйте терминальную программу

1 секунда задержки +++ 1 секунда задержки Модем должен ответить «ОК» Тип AT + CMGF = 1 нажмите клавишу ввода Модем ответит "ОК"

И т.д. ... Возможно, ваш телефон не поддерживает текстовый режим SMS, только режим pdu

Тип при + CMGF =?

Введите клавишу ввода, если ответ имеет значение + CMGF (0,1), он поддерживает оба параметра, если (0), то только pdu. Вам нужно будет ввести SMS-сообщение в режиме pdu. Есть много примеров того, как это сделать.

МОЖЕТЕ ДАТЬ МНЕ КОД

...