[pyar] puerto serie en python

Sebastián Seba ssebastianj en gmail.com
Mar Mar 12 00:34:49 ART 2013


El día 12 de marzo de 2013 00:30, Sebastián Seba
<ssebastianj en gmail.com> escribió:
> El día 11 de marzo de 2013 21:53, Fernando FLORES CORCOBA
> <fef.flores en gmail.com> escribió:
>> Hola Esteban. A lo mejor, deberias intentar con usar un hilo y encolarlo,
>> como te recomienda SAn.
>> El arduino tiene un reloj de cuarzo, los cuales son muy estables, es muy
>> dificil que el desfasaje se produzca por el clock del arduino.
>> El problema esta en la recoleccion de los pulsos (la velocidad con que tomas
>> la lectura desde python).
>> suerte, y avisanos para ver como va eso.
>> efrain
>>
>>
>> El 11 de marzo de 2013 21:18, SAn <gringotumadre en gmail.com> escribió:
>>
>>> Hola Esteban, cómo es el contador de tiempo? Porque no deberias tener
>>> que depender de actualizarlo tan rápido.
>>>
>>> Si es que no podes cambiar la parte del contador, entonces quizas
>>> tengas que recurrir a un Thread que lea del puerto y una Queue para
>>> pasar la informacion al thread principal.
>>> Hay una receta que muestra esto en el wiki de PyAr cortesía de Mariano
>>> Guerra: http://python.org.ar/pyar/ComunicarThreadsConQueue
>>>
>>> saludos y suerte
>>> SAn
>>>
>>>
>>> 2013/3/11 Esteban Alejandro Chauque <achauque en gmail.com>:
>>> > Mi problema es que al ser un sistema de cronometraje si aumento el
>>> > timeout me retrasa el contador de tiempo tambien. Estoy en un problema
>>> > con eso.
>>> >
>>> >
>>> > Saludos
>>> >
>>> > El día 11 de marzo de 2013 16:55, Santiago Paleka
>>> > <santiagopaleka en gmail.com> escribió:
>>> >> El 11 de marzo de 2013 16:14, Esteban Alejandro Chauque
>>> >> <achauque en gmail.com>
>>> >> escribió:
>>> >>>
>>> >>> Buenas tardes lista,
>>> >>> He descargado pandora stop watch
>>> >>> http://www.softpedia.es/programa-Pandora-Stopwatch-224274.html, es un
>>> >>> cronometro hecho en python. La verdad funciona muy bien, pero mi
>>> >>> necesidad me ha llevado a conectarlo con arduino para poder tomar el
>>> >>> tiempo por medio de una barrera infrarroja.
>>> >>> Pero no funciona del todo bien, cada tanto pierde un paso.
>>> >>> La librería que estoy usando es PySerial. No estoy seguro si el
>>> >>> problema se debe a la velocidad de transmisión o la velocidad con que
>>> >>> tomo la lectura desde python.
>>> >>> Las únicas lineas que agregue son:
>>> >>>
>>> >>> 169        strStep = serial.Serial('/dev/ttyUSB0', baudrate = 9600,
>>> >>> timeout=.0001)
>>> >>> 170        d = strStep.readline()
>>> >>> 171        strStep.close()
>>> >>> 172
>>> >>> 173        # Events
>>> >>> 174        if "PASE" in d:
>>> >>> 175            recorded_times.append(stopwatch_time)
>>> >>> 176            records_changed = True
>>> >>>
>>> >>>
>>> >>>
>>> >>> Saludos
>>> >>> _______________________________________________
>>> >>> pyar mailing list pyar en python.org.ar
>>> >>> http://listas.python.org.ar/listinfo/pyar
>>> >>>
>>> >>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>> >>>
>>> >>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> >>> Argentina - http://www.usla.org.ar
>>> >>
>>> >>
>>> >> Hola Esteban, probá de ponerle mas tiempo de timeout, debe estar
>>> >> saliendo
>>> >> del readline (linea 170) sin datos.
>>> >>
>>> >> _______________________________________________
>>> >> pyar mailing list pyar en python.org.ar
>>> >> http://listas.python.org.ar/listinfo/pyar
>>> >>
>>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>> >>
>>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> >> Argentina - http://www.usla.org.ar
>>> > _______________________________________________
>>> > pyar mailing list pyar en python.org.ar
>>> > http://listas.python.org.ar/listinfo/pyar
>>> >
>>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>> >
>>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> > Argentina - http://www.usla.org.ar
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
> No trabajé con Arduino pero si bastante con el puerto serie y también
> iría por la propuesta que hizo Gustavo y que es dejar la
> responsabilidad al Arduino de cronometrar los tiempos y enviar esas
> mediciones al puerto serie. De esa manera separás las mediciones por
> un lado y la recepción y procesamiento de por el otro.
>
> Si es importante poder pausar el cronometraje podrías implementar un
> protocolo simple en el cual enviás comandos desde la computadora al
> Arduino, como por ejemplo: START, STOP, PAUSE (todos strings).

Y sino, de última, probá aumentar la frecuencia con la que realizás el
"polling" (comprobar si hay datos nuevos en el buffer de entrada del
puerto serie).



More information about the pyar mailing list