Я создаю код, в котором данные могут передаваться с USB на последовательный порт. Проблема в том, что я не могу записывать данные в последовательный порт в системе Windows на php. Устройство было успешно подключено и открыто, скорость передачи, четность, длина, стоповые биты и управление потоком установлены без ошибок.

Когда я отправляю данные на последовательный порт, никаких ошибок или вывода не будет. Кто-нибудь может помочь? Для этого я использую класс последовательного порта php.

include 'src/PhpSerial.php';
$serial = new PhpSerial;
$serial->deviceSet('COM3');
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
$serial->deviceOpen();
$serial->sendMessage(49); 
/* 49 is Ascii value of 1 (Light will ON on press 2 and will off on press 1) */

$serial->deviceClose();

Я использовал свое устройство с программным обеспечением Coolterm, на котором он работал нормально. Но когда я выполняю эту задачу из кода php, я не могу этого сделать.

Кто угодно?

-1
Vinod Saini 14 Мар 2018 в 14:56

2 ответа

Лучший ответ

Я получил ответ

exec("mode COM3: BAUD=9600 PARITY=n DATA=8 STOP=1 to=off dtr=off rts=off");
    $fp =fopen("COM3", "w");
    // $fp = fopen('/dev/ttyUSB0','r+'); //use this for Linux
    fwrite($fp, 2); //write string to serial
    fclose($fp);
    return;
0
Vinod Saini 2 Апр 2018 в 12:43

Установите виртуальную машину и сделайте это в * nix.

Поверьте, я потерял много времени.

0
Humberto Davila 1 Апр 2018 в 15:44