Доступ к выводу последовательного монитора Arduino в PHP через fopen выдает ошибку отказа в разрешении

 "Warning: fopen(com3): failed to open stream: Permission denied in D:\XAMP\htdocs\Backend\arduino.php on line 4"

мой код выглядит следующим образом

<?php
exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off");

$fp = fopen("com3", "r");
if (!$fp) {
echo "Not open";
} else {
$string = fgets($fp);
echo $string;
fclose($fp);
}
?>

Все параметры верны (или я так думаю), порт COM3, скорость передачи также правильная. Остальная часть кода, которую я не знаю, только что получила его от интернета. Новое в интеграции Arduino и PHP. Веди меня. Спасибо

-1

Решение

Проблема была решена с помощью dio_open.

  • Вы должны сначала скачать расширение формы dio_open. Вот.

  • Извлеките файл dll и добавьте его в XAMP \ php \ ext

  • Отредактируйте файл php.ini и добавьте туда свое расширение.

Окончательный код выглядит примерно так:

<?php
ini_set("display_errors", "1");
error_reporting(E_ALL);
exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off");

$fd =  _open('com3', O_RDWR);

if (!$fd) {
echo "Not open";
} else {
$string = dio_read($fd,1024);
echo $string;
}
dio_close($fd);
?>
0

Другие решения

Других решений пока нет …