[Python-es] script_IBOB

Chema Cortes pych3m4 en gmail.com
Lun Mayo 18 11:33:06 CEST 2015


El 17 de mayo de 2015, 1:02, Rolando Paz <flxpaz en gmail.com> escribió:

> Hola nuevamente !
>
> Este script lo que debe hacer es obtener los datos desde una tarjeta
> llamada IBOB (que en algún momento comenté por acá), enviados por UDP, y
> luego graficarlos.
>
> Los datos son FFTs (Fast Fourier Transform) que procesa la IBOB.
>
> Pueden darme su opinión?
>

Parece un código bastante directo. Si funciona, no hay más que decir.

Tal como está, a la dirección de HOST le faltan las comillas y la variable
cs de pronto se expande como controlsocket. Por lo demás, ¿es necesario
desempaquetar los datos recibidos como "unsigned long" (>L)? Si los datos
se envían como floats, igual sería mejor desempaquetarlos directamente como
float (>f). Ten en cuenta que np.array no te hace una conversión binaria de
un "long" en "float".

Por otro lado, del socket puedes recibir cualquier cantidad de datos, pero
en cambio sólo estás desempaquetando un único dato, algo ilógico porque
debes esperar más si quieres hacer una gráfica con ello, y además da error.
Supongo que lo que buscas es desempaquetar una secuencia de datos:

    pkglen = struct.calcsize(fmt)
    dataUDP = (struct.unpack('>f', s[i:i+pkglen]) for i in
range(0,len(resp),pkglen))



>
> #!/usr/bin/python
> """
> Primera prueba que busca graficar los datos binarios enviados por UDP,
> Rolando Paz
> """
> import numpy as np
> import math, struct, socket, pyfits
> import matplotlib.pyplot as plt
>
> HOST = 169.254.128.32
> PORT = 6969
> print '\nConectando la iBOB...',
>
> #estableciendo el socket UDP
> cs = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
> cs.connect((HOST, PORT))
>
> resp = controlsocket.recv(4096)
> print resp
>
> #desempaquetando datos binarios enviados por el enlace UDP
> dataUDP = struct.unpack('>L',resp)
> data = np.array(dataUDP,dtype=float)
> plt.plot(data)
> plt.show()
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
http://ch3m4.org/blog
Buscador Python Hispano: http://ch3m4.org/python-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150518/1c8ba000/attachment.html>


Más información sobre la lista de distribución Python-es