2013-05-11 2 views
2

Я, наконец, получил все датчики, которые отправили данные в текстовые файлы и т. Д., Но у меня проблема с PHP. Я могу подключиться к Arduino с помощью PHP-сайта. Я могу включить или выключить LED. Но я не могу этого сделать, пока я читаю данные от Arduino.Монитор Arduino, работающий вместе с PHP

Я использую команду:

cat /dev/ttyACM0 > data.txt 

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

Если я не использую команду «cat», я обычно могу использовать сайт PHP, но я не могу видеть данные датчиков.

Любые идеи?

+2

Как насчет вызова 'exec()'? Кроме того, всегда хорошая идея не говорить кому-либо код, который вы используете, чтобы они не отвлекались на него от хорошего ответа ... – Sven

+0

Эй! Дело не в коде. Я могу использовать простой код для чтения температуры в мониторе Arduino, и пока я читаю, процессор Arduino занят, и я не могу ничего делать с PHP. PHP-скрипту нужен процессор Arduino, чтобы быть свободным, но я не знаю, как я могу читать и писать в одно и то же время. Это моя проблема. –

+1

Используйте один cronjob для работы с одной задачей Arduino, а с PHP вы только отправляете команды в очередь cronjobs и читаете результаты. – Sven

ответ

0

Непонятно из вашего вопроса, где вы получаете ошибки подключения. Если arduino или linux выбрасывают ошибки, скорее всего скрипт PHP блокирует файл data.txt. Убедитесь, что вы открыть файл в режиме чтения только

fopen("data.txt", "r"); 

Если это браузер, может быть проблема в том, как вы читаете файл. Если PHP входит в цикл, читающий файл, время соединения заканчивается, так как оно никогда не достигает «Конец файла». Вы можете попробовать создать PHP-скрипт, который читает часть файла, например, последние 50 строк или около того (или «tail -n 50 data.txt»), и другую страницу с периодическим вызовом ajax для этого скрипта PHP.

Для получения дополнительной справки вы должны действительно опубликовать свой наиболее подходящий код PHP

Смежные вопросы