Подключение к COM порту через PHP

190
28 июля 2018, 13:40

Требуется настроить отправку и получение SMS через GSRS- модем (используется GPRS-модем iRZ MC52iT). Сообщения будут хранится в базе и предполагается, что скрипт на PHP будет периодически их выбирать и посылать по нужному номеру.
Для установки соединения с модемом используется библиотека php_serial.class.php. При запуске скрипта

include ' php_serial.class.php';
$serial = new PhpSerial;
$serial->deviceSet("COM1");
$serial->deviceOpen('w+');
stream_set_timeout($serial->_dHandle, 50);
$serial->confBaudRate(9600); //в этом месте возникает ошибка
$serial->sendMessage("AT",1);
var_dump($serial->readPort());
$serial->sendMessage("AT+CMGF=1\n\r",1);
var_dump($serial->readPort());
$serial->sendMessage("AT+CMGL=\"ALL\"\n\r",3);
var_dump($serial->readPort());
$serial->deviceClose();  

Выводится ошибка Warning: Unable to set the baud rate : the device is either not set or opened
Выяснилось, что ошибка возникает в этом месте

if ($this->_dState !== SERIAL_DEVICE_SET) {
        trigger_error("Unable to set the baud rate : the device is " .
                      "either not set or opened", E_USER_WARNING);
        return false;
    }

, где $this->_dState, почему-то, равняется 2, а SERIAL_DEVICE_SET = 1.

Подскажите, пожалуйста, как разобраться с этой проблемой?
P.S. через putty к COM1 подключаюсь.

Answer 1

Похоже нужно вначале:

$serial->confBaudRate(9600);

а уже потом:

$serial->deviceOpen('w+');
READ ALSO
Условие с in_array не работает

Условие с in_array не работает

Почему это условие не истинно?

168
Помогите разобраться с qmake

Помогите разобраться с qmake

Решил перейти от cmake к qmake и тут же напоролся на такую проблему: как написатьpro-файл для компиляции проги с двумя создаваемыми библиотеками?...

197
можете объяснить коротко что делает map

можете объяснить коротко что делает map

можете объяснить коротко что делает map

199
Сделать хвост для змейки

Сделать хвост для змейки

Всем привет! Я самостоятельно учу с++ и решил написать змейкуДля роста её хвоста при съедении еды я хотел использовать массив, хранящий положение...

197