Re: [Python] dati da seriali

2011-05-21 Per discussione Andrea Tagliolini -Gmail

Ciao,
Non sò se è quello che ti serve, ma puoi provare a dare uno sguardo a 
minicom per gestire la seriale su linux...

lo trovi nei repo di ubuntu/debian...
Ciao

Il 20/05/2011 23:42, Vittorio Zuccala' ha scritto:

Buona sera a tutti,
tramite una scheda elettronica invio dei dati sulla usb che il sistema
vede come se fosse unq seriale grazie ai driver ftdi.
Questi dati hanno una freq di campionamento di un secondo e rilevano
lo stato di un sensore che può esser 1,2,3.
Con un banale script pythonleggo la seriale e a seconda della lettura
compio una azione sul pc.
Il sensore,però, cambia di stato di rado x cui sollecito la cpu
inutilmente con una lettura continua.
Posso far in modo che lo script si attivi solo al cambio stato?
Se ai quale strada sguire?
Eventualmente potrei programmare la scheda in modo da inviare un input
inseriale solo al cambio stato...
Per ora gira su win ma mi piacerebbe girasse anche su linux.
Qualche idea?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] dati da seriali

2011-05-21 Per discussione Pietro Battiston
Il giorno ven, 20/05/2011 alle 23.42 +0200, Vittorio Zuccala' ha
scritto:
 Buona sera a tutti,
 tramite una scheda elettronica invio dei dati sulla usb che il sistema
 vede come se fosse unq seriale grazie ai driver ftdi.
 Questi dati hanno una freq di campionamento di un secondo e rilevano
 lo stato di un sensore che può esser 1,2,3.
 Con un banale script pythonleggo la seriale e a seconda della lettura
 compio una azione sul pc.
 Il sensore,però, cambia di stato di rado x cui sollecito la cpu
 inutilmente con una lettura continua.

Davvero una lettura continua (un read() continuo, immagino) sollecita
la CPU?!

 Posso far in modo che lo script si attivi solo al cambio stato?


Io userei glib.io_add_watch:


--88888---


seriale_da_controllare = Serial( '/indi/riz/zo' )

def azioni_da_fare_per_leggere( *args ):
# leggi e fai quel che devi fare

glib.io_add_watch( seriale_da_controllare,
   glib.IO_IN,
   azioni_da_fare_per_leggere )

glib.MainLoop().run()

--88888---


poi presumo che cose analoghe ci siano anche al di fuori di
glib/gobject.


ciao

Pietro


 Se ai quale strada sguire?
 Eventualmente potrei programmare la scheda in modo da inviare un input
 inseriale solo al cambio stato...
 Per ora gira su win ma mi piacerebbe girasse anche su linux.
 Qualche idea?
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] dati da seriali

2011-05-21 Per discussione Vittorio Zuccala'
grazie x le risposte.
Andrea, minicom non lo conosco ma provo a guardare. In realtà a me non
serve solo legger l'output ma anche effettuare una azione sul pc al
cambio di stato e non so se minicom lo permette.
Pietro, su win vedo un diagramma costante sull'attività della cpu che
quando il programma che legge da seriale non gira non vedo.
Ad ogni modo non conosco la soluzione che mi hai consigliato e mi informo.
Ora son con il cellulare e mi è più difficile ma lunedì darò una
occhiata ad entrambe le soluzioni.
Per il momento grazie.  vi tengo informati

Il 21/05/11, Pietro Battistonm...@pietrobattiston.it ha scritto:
 Il giorno ven, 20/05/2011 alle 23.42 +0200, Vittorio Zuccala' ha
 scritto:
 Buona sera a tutti,
 tramite una scheda elettronica invio dei dati sulla usb che il sistema
 vede come se fosse unq seriale grazie ai driver ftdi.
 Questi dati hanno una freq di campionamento di un secondo e rilevano
 lo stato di un sensore che può esser 1,2,3.
 Con un banale script pythonleggo la seriale e a seconda della lettura
 compio una azione sul pc.
 Il sensore,però, cambia di stato di rado x cui sollecito la cpu
 inutilmente con una lettura continua.

 Davvero una lettura continua (un read() continuo, immagino) sollecita
 la CPU?!

 Posso far in modo che lo script si attivi solo al cambio stato?


 Io userei glib.io_add_watch:


 --88888---


 seriale_da_controllare = Serial( '/indi/riz/zo' )

 def azioni_da_fare_per_leggere( *args ):
 # leggi e fai quel che devi fare

 glib.io_add_watch( seriale_da_controllare,
glib.IO_IN,
azioni_da_fare_per_leggere )

 glib.MainLoop().run()

 --88888---


 poi presumo che cose analoghe ci siano anche al di fuori di
 glib/gobject.


 ciao

 Pietro


 Se ai quale strada sguire?
 Eventualmente potrei programmare la scheda in modo da inviare un input
 inseriale solo al cambio stato...
 Per ora gira su win ma mi piacerebbe girasse anche su linux.
 Qualche idea?
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python