Hallo,

Ik wil graag een hexadecimale waarde naar een rs232 poort sturen onder linux.

Als ik in een terminal dit intyp: echo -e '\xFF' > /dev/ttyUSB0
Dan werkt dit gewoon.

Als ik echter dit doe;

<?php
echo exec("echo -e '\xFF' > /dev/ttyUSB0");
?>

Dan werkt het niet meer (geeft een lege pagina).

Kan iemand mij vertellen hoe ik ervoor zorg dat php ook toegang to /dev heeft.
Ik heb /dev al gechmod naar 777, maar dat maakt niets uit.



Bvd
De oplossing is simpel, het php script probeert de exec uit te voeren in je DocumentRoot. Ik heb een directory aangemaakt: mkdir test en vervolgens chmod 777 test en het script aangepast:

<?php
echo shell_exec("echo -e '\xFF' > test/test.log");
?>

en het werkt, dus issue is autorisatie en dat geld ook voor je seriele poort.
Helaas, hierdoor ontstaat er een ander probleem.

Na het chmodden van /dev/ttyUSB0 kan ik er niets meer naartoe sturen.
In de terminal blijf hij hangen, en ik krijg geen error.
In php blijft de pagina laden. (Ik bedenk mij nu, dat dit erop duid dat hij geen permissieproblemen heeft, anders hing hij niet.)

Nou heeft dit denk ik met deze bug te maken:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/661321

Deze bug heeft al eerder wat roet in het eten gegooid.

Ik heb een "rs232 gender changer" gekocht, zodat ik niet meer afhankelijk ben van die USB kabel, maar ik de rs232 poort op mijn singleboardcomputer kan gebruiken.
Hier wacht ik dus op, zodra ik die binnen heb ga ik verder...

In ieder geval bedankt voor jullie hulp.

Reageren