[LUGargano] apache2 +PHP 5 + porta seriale RS232

Matteo Fasanella mfasanella@web-consult.it
Ven 9 Maggio 2008 00:43:32 CEST


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
>
>
>   



Maggiori informazioni sulla lista LUGargano