Помогите подружить ардуино с php

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Ctrl-C не помогает?

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Не поняла Вас

Процесс нужно "убить" средствами php при определённом условии, к примеру если ожидание (таймаут) равен 1 сек.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Я предположил, что процессу можно послать некоторый код, чтобы сообщить ему, чтобы отстал. Обычно для завершения процесса используется Ctrl-C, а для обозначения конца файла Ctrl-Z. Если Вы можете послать процессу эти коды - посмотрите, что получится.

sadman41
Offline
Зарегистрирован: 19.10.2016

php - это вообще не тот язык, которым стоит начинать чем-то рулить в OS.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Смотрите:

Ардуино отвечает только на один запрос,адрес

Делаю запрос poisk.php?adr=1

Ардуино отвечает, так как адрес раввен 1 (у второй ардуино адрес 2, но она не подключена).

Делаю запрос poisk.php?adr=2

Соответственно ответа от ардуины нет, и программа висит в процессах около 10 секунд, при этом COM порт занят или недоступен.

Следующая команда выполняется толmrj после убития процесса.

 

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

sadman41 пишет:
php - это вообще не тот язык, которым стоит начинать чем-то рулить в OS.

Это я понимаю, но очень легко и удобно получать данные с порта в браузер.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

del

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Решила проблему.

Создала файл stop.cmd           taskkill /IM com_port.exe /F

Запускаю его через секунду после выполнения com_port.exe

 

 

 

negavoid2
Offline
Зарегистрирован: 06.05.2020

убить - как, откуда, чем?

taskkill /F /IM:программа.exe

из php

pclose( popen ( "taskkill /F /IM:software.exe", "r" ) );

 

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Из процессов системы(в диспетчере задач процесс com_port.exe)

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

sadman41 пишет:
php - это вообще не тот язык, которым стоит начинать чем-то рулить в OS.

И других вариантов вывода в браузер, кроме использования интернет шилда, я не нашла. (для хрома не подходит вариант)

sadman41
Offline
Зарегистрирован: 19.10.2016

Чем же хрому не угодил шилд?

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Я не так выразилась немного, выше предлагали использовать модуль (плагин) для работы с ком портом в браузере Хром, этот вариант не подходит.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Delet

черепаха99
Offline
Зарегистрирован: 03.12.2020

(Не знаю живой ли кто еще здесь, но я столкнулся с точно такой же проблемой, мучал мучал и че я получил, если через прило терминал(какое то левое прило) подключиться к порту, а потом отключться, то данные передаются успешно)) Но хватает его до перреподлючения arduino. Походу что то не открывется выше перечисленными способами.)

скрин не загрузился, ну ифиг бы с ним,покопал немного тему, получился такой код 

$Port=6;
exec("mode com6 baud=9600 parity=n data=8 stop=1 xon=off octs=off odsr=off idsr=off dtr=off rts=off");
$file=fopen($Port, "w+"); 
fwrite($file, "5"); // записываем 5
fclose($file);