2013-05-11 3 views
2

마침내 모든 센서가 작동하여 텍스트 파일 등으로 데이터를 보내고 있지만 PHP에 문제가 있습니다. PHP 기반 웹 사이트를 통해 Arduino에 연결할 수 있습니다. 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가 파일을 읽는 루프에 들어가면 "파일 끝"에 도달하지 않으므로 연결 시간이 초과됩니다. 마지막 50 줄 정도 (또는 "tail -n 50 data.txt")와 같은 파일의 일부분을 읽는 PHP 스크립트와 그 PHP 스크립트에 대한 정기 아약스 호출을 가진 다른 페이지를 만들 수 있습니다.

더 많은 도움을 받으려면 가장 관련있는 PHP 코드를 게시해야합니다.