CH1CC0
19-04-2009, 21:55
Ciao a tutti,
sto "giocando" con un microcontrollore programmabile (simile ad un PLC) che viene programmato in basic e che ha un'uscita seriale.
All'uscita seriale è collegato un adattatore seriale/ethernet (con webserver) che mi permette di raggiungerlo via IP attraverso un semplice telnet.
Dall'altra parte ho uno script in PERL che (attraverso Net::Telnet e telnet.pm) fa un telnet al webserver, lancia un comando e prende (o meglio dovrebbe prendere) l'output di questo comando.
Fino al lancio del comando, tutto funziona perfettamente (me lo conferma il microcontrollore), tuttavia quando è ora di restituire l'output letto, lo script PERL mi dice che il comando è andato in timeout (su una specifica riga dello script che è proprio quella che lancia il comando e ne copia l'output su una variabile prima di stamparlo a video)
Il mio dubbio è:
il basic restituisce una semplice variabile, subito dopo ho aggiunto un semplice "CR" per andare a capo.
Credo che il protocollo telnet si aspetti di trovare qualcos'altro prima di recuperare l'output ma non capisco cosa :cry:
Qualcuno ha qualche idea di dove/come si può sistemare?
Se servono info più specifiche su qualche aspetto, ditelo e cercherò di essere più preciso possibile.
Grazie
sto "giocando" con un microcontrollore programmabile (simile ad un PLC) che viene programmato in basic e che ha un'uscita seriale.
All'uscita seriale è collegato un adattatore seriale/ethernet (con webserver) che mi permette di raggiungerlo via IP attraverso un semplice telnet.
Dall'altra parte ho uno script in PERL che (attraverso Net::Telnet e telnet.pm) fa un telnet al webserver, lancia un comando e prende (o meglio dovrebbe prendere) l'output di questo comando.
Fino al lancio del comando, tutto funziona perfettamente (me lo conferma il microcontrollore), tuttavia quando è ora di restituire l'output letto, lo script PERL mi dice che il comando è andato in timeout (su una specifica riga dello script che è proprio quella che lancia il comando e ne copia l'output su una variabile prima di stamparlo a video)
Il mio dubbio è:
il basic restituisce una semplice variabile, subito dopo ho aggiunto un semplice "CR" per andare a capo.
Credo che il protocollo telnet si aspetti di trovare qualcos'altro prima di recuperare l'output ma non capisco cosa :cry:
Qualcuno ha qualche idea di dove/come si può sistemare?
Se servono info più specifiche su qualche aspetto, ditelo e cercherò di essere più preciso possibile.
Grazie