[pyar] pyserial, twisted y +
Martin Volpe
martin.volpe en gmail.com
Dom Jul 6 12:59:17 ART 2014
Hola!
Yo usé ese mismo stack hace unos años para un proyecto que podés encotrar
acá <https://github.com/martinvol/Donnees-Acquisition-Data-software>. Este
software busca datos por serie, grafica y hace de server TCP también.
Twisted sirve para todo, pero en su momento decidí darle un proceso aparte
al serie, porque a veces bloqueaba (no tenía tiempo de hacer una interfaz
no-bloqueante de PySerial) y es (o era) medio jodido con los buffers y si
cuidaba el thread para que no bloquee seguro algún dato se me perdía.
Te dejo también una charla que te puede interesar
https://www.youtube.com/watch?v=vn8yvrpWS90
Cualquier cosa consultame,
Abrazo
2014-07-06 1:08 GMT-03:00 Manuel Kaufmann <humitos en gmail.com>:
> Hola lista,
>
> Ayer estuve jugando un rato con una placa electrónica (que hizo un
> amigo) conectada al USB y que manda los datos usando el puerto serie
> en RS232.
>
> Básicamente la información que manda es:
>
> 10 20 30 40 50 60 70 80 90 100
>
> y vuelve a empezar (son las decenas desde 10 a 100 y separadas por un
> espacio).
>
> Lo primero que hice fue conectarme con "cutecom" y ver que
> efectivamente estaba mandando lo que él me decía que tenía que mandar.
> Después, me puse a jugar con pyserial y llegué a algo que funciona:
>
> import serial
> ser = serial.Serial('/dev/ttyACM0', 9600, timeout=1)
> while True:
> data = ser.read(40)
> print data
>
> Después, lo que quise hacer es graficar esos puntos que me estaban
> llegando (próximamente la información va a ser un poco más valiosa que
> las simples decenas) y empecé a probar "matplotlib" para eso.
>
> Lo que hice fue crear un Thread que sea el productor (quien se conecta
> al puerto serie y guarda los datos en un buffer (Queue.Queue()) y en
> el main del archivo los consumía mediante un while True y usando
> Queue.Queue.get() . Esto me trajo algunos problemas ya que, por alguna
> razón, a veces se me quedaba bloqueado.
>
> Me cansé de pelear con eso y me puse a leer un poco más: llegué a
> Twisted y SerialPort:
>
>
> https://twistedmatrix.com/documents/13.1.0/api/twisted.internet.serialport.SerialPort.html
>
> Ahora bien, usé Twisted una sola vez y muy por arriba y ahora no estoy
> seguro que me pueda servir para hacer lo que quiero: "captar los datos
> del puerto serie -sin perder ninguno, sino que guardando en un buffer-
> y luego graficarlos en 2 dimensiones"
>
> ¿Por dónde me conviene seguir investigando? ¿Es Twisted útil para eso?
>
> Muchas gracias!
>
> --
> Kaufmann Manuel
> -- http://elblogdehumitos.com.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
>
--
Martín Volpe @Argentina
about.me/MartinVolpe
Print only if necessary.
<http://volteck.net>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140706/e15f8766/attachment.html>
More information about the pyar
mailing list