Re: [Python] dati da seriali
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
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
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