需要在PHP中捕获华为E153调制解调器的响应

时间:2014-05-23 10:16:30

标签: php sms gsm at-command

我正在与一个项目一起使用PHP发送带有华为E153加密狗的短信。但是我的代码不能使用这个调制解调器。(它正在使用我的三星手机)。要求解决这个问题我需要检查来自modem的响应。请帮助。这是我的代码。

<?php
$filename ="COM20";

date_default_timezone_set('Asia/Colombo');
 $date = date('Y/m/d H:i:s');
$message="This is a test message 2 .$date.";
$numbers = array("+941234567");
if (!$handle = fopen($filename, 'r+'))
    {
      echo "The device isn't detected";
      exit;
    }
    else
    {

     foreach ($numbers as $value) {
        if (fwrite($handle,"AT+CMGF=1\n\r"))
sleep(5);

     { 
     fwrite($handle, "AT+CMGS=\"$value\"\n\r");
sleep(5);


       fwrite($handle,"$message".chr(26)."\n\r"); 
       sleep(7);
echo "sent to $value <br>";
}
}
fclose($handle);
echo "Port Closed";
}   

?> 

1 个答案:

答案 0 :(得分:0)

在处理AT命令时,请从不使用sleep。有关如何正确解析的建议,请参阅this answer

关于AT+CMGS,您必须在发送邮件内容之前等待来自调制解调器的就绪响应,有关详细信息,请参阅this answer的第一部分。