[LUGargano] apache2 +PHP 5 + porta seriale RS232

Alessandro Rendina ale@seleneinformatica.it
Ven 9 Maggio 2008 18:58:38 CEST


<?php
$fd = @fopen("/dev/ttyS1", "r");
if ($fd) {
    while (!feof($fd)) {
        $buffer = fgets($fd, 4096);
        echo $buffer;
    }
    fclose($fd);
}
?>

oppure con fgetc nel loop:

$char = fgetc($fd)
echo "$char\n";

o altrimenti potresti vedere se aprendo la tty con popen non so se potrebbe 
andare meglio. O bisognerebbe cercare un comando che legge bit a bit e te lo 
giri in decimale con un algoritmo.

Il Friday 09 May 2008 18:33:45 Marco Baldinetti ha scritto:
> Alessandro Rendina ha scritto:
> > Credo che dovresti circondarlo con un while ed inserire una print a
> > schermo dentro il while cosė vedi che roba arriva.
> >
> > Il Friday 09 May 2008 17:20:51 Marco Baldinetti ha scritto:
> >>> il codice che avevi postato e` questo:
> >>>
> >>> <?php
> >>>      $filename = "/dev/ttyS0";
> >>>      $fd = fopen($filename, "r");
> >>>
> >>>      $contents = fread ($fd, 1);
> >>>      echo $contents;
> >>>
> >>>      fclose($fd);
>
> ho provato ma non va...
>
> l'istruzione : $contents = fread ($fd, 1);
>
> termina dopo 30 secondi per timeout non leggendo nulla... mi ritorna il
> valore ""




Maggiori informazioni sulla lista LUGargano