[LUGargano] apache2 +PHP 5 + porta seriale RS232
Marco Baldinetti
marcobaldinetti@tele2.it
Gio 8 Maggio 2008 19:20:09 CEST
Matteo Fasanella ha scritto:
> Marco Baldinetti ha scritto:
>
>> Matteo Fasanella ha scritto:
>>
>>
>>> Marco Baldinetti ha scritto:
>>>
>>>
>>>
>>>> ciao a tutti,
>>>>
>>>> ho installato sulla mia gentoo un web server con apache2 e php.
>>>>
>>>> Il mio scopo è quello di poter effettuare operazioni di input/output
>>>> sulla porta seriale del web server tramite il browser di un qualsiasi
>>>> client della mia rete lan.
>>>>
>>>> per scrivere utilizzo il seguente metodo e tutto funziona alla grande:
>>>>
>>>> <?php
>>>> $filename = "/dev/ttyS0";
>>>> $fd = fopen($filename, "r+");
>>>>
>>>> fwrite ($fd, "stringa da scrivere");
>>>>
>>>> fclose($fd);
>>>> ?>
>>>>
>>>> il problema risiede nella lettura, che con il seguente metodo non riesco
>>>> ad eseguire:
>>>>
>>>> <?php
>>>> $filename = "/dev/ttyS0";
>>>> $fd = fopen($filename, "r");
>>>>
>>>> $contents = fread ($fd, 1);
>>>> echo $contents;
>>>>
>>>> fclose($fd);
>>>> ?>
>>>>
>>>>
>>>> qualcuno ha qualche idea a riguardo??
>>>>
>>>>
>>>>
>>>>
>>> Semplicemente lettura e scrittura non sono sincronizzate...
>>> ...ovvero _quando scrivi_, non c'e` nessuno dall'altra parte in
>>> ascolto... :-)
>>>
>>>
>>> Matteo
>>>
>>>
>>>
>>>
>>>> grazie!!!
>>>>
>>>> ciao ciao :-)
>>>>
>>>> Marco
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>> ci avevo pensato ma pensavo che una volta che trasmettevo i dati
>> andassero in un buffer che poi lo si svuotava in lettura...
>>
> il device si puo` bufferizzare per una questione di performance... ma
> prima devi inizializzare il device e cmq non ha molto senso essendo una
> porta _seriale_.... :-)
>
>
>> magari
>> domani faccio un po' di prove...
>>
>> grazie! :-)
>>
>> p.s. tutto bene da quelle parti? se tutto va come previsto dovrei
>> salirci a settembre/ottobre per frequentare ingegneria
>> dell'automazione... :-)
>>
>>
> Vieni a fare ingegneria qui a Bologna ?
>
> Complimenti per l'ottima scelta! :-)
>
> ...buoni docenti e bella citta`.... :-)
>
>
> Matteo
>
>
>> ciao ciao
>>
>> Marco
>>
>>
>
>
e per risolvere la questione del sincronismo come si potrebbe fare?
avevo pensato di leggere di continuo la porta ed aspettare che arrivi
qualcosa ma la funzione fread non termina se appunto non legge niente e
nonostante i dati arrivino, non riesce a leggere niente.
non ne sto venendo a capo... qualche idea in merito?
x matteo: si vengo a Bologna a fare ingegneria! :-)
ciao ciao
Marco
Maggiori informazioni sulla lista
LUGargano