[pyar] Modulo USB para windows

SAn gringotumadre en gmail.com
Dom Jul 24 12:39:53 ART 2011


2011/7/24 Marcelo Fernandez <marcelo.fidel.fernandez en gmail.com>:
> El día 23 de julio de 2011 21:05, Alan Jonatan Romero
> <eldoblecero en gmail.com> escribió:
>> Hola capos! (y por capos me refiero a capos y "capas") Solo queria
>> preguntar esto. Anduve googleando por un modulo para leer datos que
>> entran por un puerto USB. Me topé con:
>>
>> -pySerial
>> -pyParallel(dentro de la pagina de pySerial)
>> -pyUSB (lo que mas se parece de movida a lo mio...)
>>
>> La cosa es asi... necesito hacerme un programita que me capture los
>> eventos (o los datos) que envia mi pedalera de efectos de guitarra,
>> para transformarlos en lo que a mi se me antoje. Esta pedalera se
>> conecta a mi compu mediante una interface MIDI-USB (la pedalera tiene
>> MIDI, y va a la compu por USB).
>
> Lo primero que tenés que saber es como qué clase de dispositivo USB
> [1] se hace ver en el sistema. Si bien podés interactuar "a pelo"
> mediante pyUSB mandando y recibiendo bytes por el canal, muchas veces
> es más sencillo usar una biblioteca que hace ese trabajo por vos.
>
> Por ejemplo, si estamos hablando de una impresora USB, casi nadie se
> animaría a aprenderse el lenguaje de la impresora y escribirle en el
> port USB lo necesario para que ésta imprima, sino que utilizaría los
> mecanismos estándares para imprimir que te provee el SO. Lógico que
> éste no es el caso, pero se me ocurre que la pedalera puede hacerse
> ver como dispositivo Serie (0x02), como HID (joystick, 0x03), o MIDI
> (0x01). Ignoro cómo se hace eso en Windows (Google puede ayudar acá),
> pero si tenés un Linux a mano lo ves en el syslog al enchufarlo.
>
> Una vez que sepas eso, si se muestra como un dispositivo serial, es
> más fácil usar pySerial (en Linux se ve como /dev/ttyUSB0), por
> ejemplo. Si se ve como un joystick usás (pyJoystick? existe? :-P ),
> etc.
>
> En mi caso tuve que utilizar pyUSB a mano con una impresora medio
> extraña, pero eso no es más que copiar el ejemplo de la página (una
> vez que sabés el idVendor y el idDevice, que nuevamente, lo sacás del
> syslog de tu Linux más cercano).

Sí, es como dice matías, fijate si implementan alguna clase.
Posiblemente implementen o un composite-device que vendria a ser una
clase con varias clases adentro, por ejemplo, AUDIO + MIDI, o un
driver totalmente custom que tendrias que pelearte en bajo nivel. En
una de esas es un composite mezclando clases standard con algo custom,
aunque no se si eso está permitido.



More information about the pyar mailing list