[Python] dati da seriali

Pietro Battiston me a pietrobattiston.it
Sab 21 Maggio 2011 11:49:55 CEST


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:


------8<------------8<------------8<------------8<------------8<-------


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

------8<------------8<------------8<------------8<------------8<-------


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 a lists.python.it
> http://lists.python.it/mailman/listinfo/python




Maggiori informazioni sulla lista Python