Отправить смс через GSM модем с произвольным портом в PHP - PullRequest
0 голосов
/ 02 ноября 2011

Если у меня есть GSM-модем с 6 портами и в каждый порт вставлена ​​SIM-карта, как я могу отправлять смс со случайным портом?

Вот простой код:

  include "php_serial_class.php";

  $serial=new phpSerial();
  $serial->deviceSet("/dev/ttyUSB0");
  $serial->deviceOpen();

  //continue....  

  ?>

Итак, теперьSMS будут отправлены через порт 1 (ttyUSB0). Что я могу добавить или изменить сценарий, чтобы он мог быть отправлен с произвольным портом?Например, если порт 1 занят или отправляет другие смс, он изменится на порт 2 ...

Я пробовал что-то вроде этого:

  if(!$serial->deviceOpen())
  {
      $serial->deviceSet("/dev/ttyUSB1"); 
  }

и он не будет работать ..Заранее спасибо.

1 Ответ

1 голос
/ 02 ноября 2011

Вы не узнаете, занято ли устройство, если не попробуете его открыть, поэтому вам нужно проверить его за один шаг с помощью метода deviceOpen.Пример:

$ports = range(0,5);
shuffle($ports);

$serial = new phpSerial();

foreach($ports as $port){
    if($serial->deviceSet("/dev/ttyUSB{$port}")){
        if($serial->deviceOpen()){
            // send sms
            break; // break the loop after sending sms
        }
    }
}
...