[LUGargano] apache2 +PHP 5 + porta seriale RS232

Marco Baldinetti marcobaldinetti@tele2.it
Ven 9 Maggio 2008 07:50:18 CEST


Matteo Fasanella ha scritto:
> Marco Baldinetti ha scritto:
>   
>> 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?
>>   
>>     
> forse non ho ben capito come hai implementato il tutto, ma mi pare di 
> capire che la parte in ascolto tu non la metti proprio in esecuzione... 
> o sbaglio ?
>
>   
>> x matteo: si vengo a Bologna a fare ingegneria! :-)
>>   
>>     
> Ancora complimenti per l'ottima scelta! :-)
>
>              Matteo
>
>   
>> ciao ciao
>>
>> Marco
>>
>>
>>   
>>     
>
>   
la parte in ascolto (che ho postato qualche email fa) la mando in 
esecuzione ma è come se andasse in loop non terminando mai, nonostante 
sulla seriale siano presenti dati.

p.s. ci vediamo a Bologna! :-)

ciao ciao

Marco


Maggiori informazioni sulla lista LUGargano