Newsgroup: it.comp.os.linux.sys
Titolo: linux - rs232

Ciao a tutti.
Vorrei trovare una applicazione che legga i dati dalla seriale 
e mi permetta di manipolarli al fine di creare un grafico....
è fantascenza???
perchè altrimenti mi tocca imparare visual basic con ore su win :( 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Perche' *una* applicazione?
Comunque sei nel newsgroup sbagliato. Prova it.comp.os.linux.software
Alessandro.

 perchè altrimenti mi tocca imparare visual basic con ore su win :(
Non penso che esista un programma generico: in primis, dipende dal
formato col quale il tuo apparato riceve le interrogazioni ed ritorna i
dati.
bye G.L.
--
« E' assolutamente evidente che l'arte del cinema
 si ispira alla vita, mentre la vita si ispira alla TV »
(Woody Allen)

Pensare di usare perl?


 Pensare di usare perl?
Non ti saprei consigliare, non sono un programmatore.    ;-)


 Non ti saprei consigliare, non sono un programmatore.    ;-)
se sulla seriale passa ascii, volendo anche bash (per esperienza...) :-D

> se sulla seriale passa ascii, volendo anche bash (per esperienza...) :-D
cioč potrei avere direttamente un file di testo dalla seriale?
sottolineo che non ho mai utilizzato la seriale con linux, quindi non 
so quale sia l'"hyper terminal di linux"!!! :( 
non speditemi su iniziare please :)



Perche' no? Anche 
www.google.it
 ti avrebbe potuto aiutare.
Alessandro.

 non speditemi su iniziare please :)
La seriale passa caratteri da 8 bit (beh, puoi anche impostarla a 7 a 6 se
sei un kamikaze) che puoi gestire come caratteri o come numeri, dipende da
come ti vengono passati i dati dalla roba che attacchi alla seriale. Es.
potrebbe spedirti il numero 7 come 7 o come 55 (in decimale). Nel secondo
caso in effetti sarebbe sufficiente:
cat /dev/ttyS0 > pippo
In questo modo nel file pippo ti trovi tutto quello che ha sparato la
seriale gia' bello e pronto. Poi naturalmente devi leggere il file e creare
il grafico. In quanto a questo io l'ho fatto con php e le librerie jpgraph,
per pubblicarlo poi su una pagina web con apache.
Nicola.
-- 
chi va pian va san e va lontan

 
Cerca "logserial" su google: e' un daemon che legge la seriale e 
manda il risultato su stdout, che tu poi mandi in pipe a un
tuo programmello che si occupa di generare il grafico.

 perchè altrimenti mi tocca imparare visual basic con ore su win :( 
per l'amor di Dio. perl + GD, o python (non so se ha il supporto alle GD
ma suppongo di si). La scelta ricade giocoforza su quello che conosci
meglio/che vuoi imparare.
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Lottery: a tax on people who are bad at math.

 wrote in message
news:slrnblr9nv...@server.minerbio.vbi

...ehhm... non riesco proprio a dirgli di usare come controllo di 
flusso xon/xoff.... si usa l'opzione -c? con cosa dopo? sul file
README non si capisce.... comunque è un problema che ho anche al di
fuori di logserial, non riesco a impostare la seriale!
L'apparato collegato è un analizzatore di spettro che se non vede
la porta collegata in modo corretto si disconnette...
Grazie mille per le informazioni!!!


Skull wrote:

Questo si'... ma interpretare dati e creare grafici con bash...
ummhhh....    :-)
Cioe', volevo dire, piu' precisamente: leggere e scrivere sulla seriale
forse e' il meno. E' conoscere i comandi da inviare, e decifrare i risultati
ricevuti, il piu'. Ed ancora di piu', creare il grafico...    :-)


 ricevuti, il piu'. Ed ancora di piu', creare il grafico...    :-)
Cosi` a braccio, come spunto:
#!/usr/bin/perl
use Chart::Plot;
my $img = new Chart::Plot;
my @data = qw( 1 1  -2 4  -5 3  -1 0);
$img->SetData(\@data);
open (GRAPH, '>graph.png');
print GRAPH $img->draw();
close GRAPH;
Questo e` il piu` comodo che ricordo.
(ovviamente e` un proof of concept).
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
There is no substitute for good manners, except, perhaps, fast reflexes.

 (ovviamente e` un proof of concept).
Tutto sommato, fare un programma completo sara' meno impegnativo di quel che
pensavo...     :-)


 > forse e' il meno. 
Sicuramente è così, ma io ancora non ci sono :(
Facendo 
cat /dev/ttyS0 > file 
riesco ad inviare i dati al file.
Però fanno schifo perchè la seriale non è settata correttamente.
Ho visto che si usa setserial ma.... come cuspide faccio ad impostare 
la velocità a 19200??? Le opzioni proposte da man mi sono oscure...
grazie 


 grazie
setserial lo conosco poco... pero', prova se questo fa al caso tuo:
# stty 19200 ixon -ixoff < /dev/ttySx
Poi, per verificare i settaggi:
# stty -a < /dev/ttySx


 quel che pensavo...     :-)
Finisci di scrivere: usando il perl. :)
cmq, per farsi ispirare: 
http://search.cpan.org/modlist/Graphics
ps:
apprezzerai che ho scritto il codice _non_ come fosse un cartone
animato, alla faccia di chi pensa che scrivere in perl significa buttare
caratteri non alfanumerici a caso. :)


 caratteri non alfanumerici a caso. :)
Dico male se dico che spesso un codice malamente leggibile da terzi al
programmatore, dipende piu' dal programmatore piu' che dal linguaggio?
:-|
p.s.: ho capito quel che faceva il tuo programma da un veloce sguardo (be', non
sono programmatore sul piano dell'attivita' odierna prevalente, seppure a dire il
vero abbia programmato in Fortran IV, Pascal, Basic, assembler vari, sia pure in
ambito scolastico/amatoriale, e Vb in ambito professionale fino a 4/5 anni fa).


 p.s.: ho capito quel che faceva il tuo programma da un veloce sguardo
L'obbiettivo era quello, in effetti. La chiave sono i moduli GD e
Chart::Plot di perl. Ma ce ne sono tanti altri, a seconda di che output
desideri/quanto ti vuoi sbattere.
Buon divertimento (e chiudo che andiamo OT).
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
kill -9 them all. Let init sort them out.

, 

ho un piccolo grande problema:
intendi tramite
logserial -opzioni >> file  ?
perchè non ce la fa... senza mandarlo in un file lo visualizza 
correttamente però sovrasccrive le righe, cioè alla fine mi resta una 
riga sola.... 


 Buon divertimento (e chiudo che andiamo OT).
Semmai un giorno mi volessi cimentare... chiudiamo pure l'OT.   :-)


> so quale sia l'"hyper terminal di linux"!!! :( 
minicom.
per evitare i problemi sui permessi della porta seriale,
promuoviti root e digita "minicom -s".
se ti dice che e' un comando sconosciuto, installa minicom.

 flusso xon/xoff.... si usa l'opzione -c? con cosa dopo?
Se imposti l'opzione -c (senza parametri) viene usato il controllo
di flusso xon/xoff anziche' il cts/rts (di default).

 cioč potrei avere direttamente un file di testo dalla seriale?
cat /dev/ttyS0 ?
sembra una vaccata, invece funziona, anche se probabilmente non č utile...

 caratteri non alfanumerici a caso. :)
Come dice il saggio:
	A Perl script looks like an explosion in an ASCII factory.
:-)
+++
E se non fosse un po' sporco, in fondo, il Perl non ci piacerebbe. ;-)
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)       [ 
http://digilander.libero.it/ebassi/blog
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 :-|
Dici benissimo.
Certo, ci sono alcuni linguaggi che facilitano più o meno l'adozione di
tecniche "sporche", e il Perl rientra nella categoria dei "più", ma, in
ultima analisi, sta al programmatore capirsi e farsi capire.


 ultima analisi, sta al programmatore capirsi e farsi capire.
Perlomeno, me l'hanno insegnato alle superiori. Parti da una analisi il piu'
possibile buona, scrivi ben strutturato, indenta bene, usa variabili con nome
per quanto possibile esplicativo, commenta bene, documenta approfonditamente,
il tuo programma deve essere comprensibile a terzi, etc. etc.
Ma... standardizzando il tutto, questo non e' per caso "ingegneria del
software"?     :-)
bye G.L.
p.s.: chiudiamo per davvero l'OT.    :-)
