Foros del Web » Programando para Internet » Python »

Múltiples dispositivos HID USB

Estas en el tema de Múltiples dispositivos HID USB en el foro de Python en Foros del Web. Hola, Tengo unas lectoras USB de tarjetas RFID que quiero conectar a un solo equipo, estas lectoras funcionan de igual manera que un teclado, osea ...
  #1 (permalink)  
Antiguo 18/02/2012, 20:32
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Múltiples dispositivos HID USB

Hola,

Tengo unas lectoras USB de tarjetas RFID que quiero conectar a un solo equipo, estas lectoras funcionan de igual manera que un teclado, osea que escribe una cadena de texto y un retorno de carro. La idea es conectar 10 lectoras al mismo tiempo, y funcionan (después de lograr que pudieran tener todas corriente a cierta distancia distancia), pero lo que pasa es que si se pasan al mismo tiempo dos tarjetas en diferentes lectoras a veces me mezcla los datos, y pues así no sirve.

Estuve viendo con la librería PyUSB cómo hacerlo y aun ando dandome de topes aunque no sé si esta es la opción, ya que veo cosas de bajo nivel, e incluso tengo que crear un driver con libusb-win32 (necesaria para PyUSB) para mi dispositivo y entonces deja de funcionar como lo hacía (ya no escribe como si fuera teclado).

No sé si hay alguna otra manera de lograr lo que quiero, solo necesito que funcione en MS Windows, si no pues tendré que seguirle con PyUSB.

Saludos y Gracias
__________________
Grupo Telegram Docker en Español
  #2 (permalink)  
Antiguo 18/02/2012, 21:09
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Múltiples dispositivos HID USB

Puedes intentar con este paquete (pywinusb), clama tener soporte para lo que necesitas.
  #3 (permalink)  
Antiguo 18/02/2012, 21:54
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Múltiples dispositivos HID USB

Pues con los demos que vienen no me detecta los dispositivos:

Cita:
There's not any non system HID class device available
Y sí están:


(Uno es mi teclado y los otros son dos lectoras)

Tuve que desinstalar el controlador de libusb-win32 , por que así no aparecen como HID, pero de ninguna forma los detecta pywinusb.

Ya logré que los detectara PyUSB con usb.core.find(find_all=True), ya solo me falta averiguar como leer los datos

Saludos
__________________
Grupo Telegram Docker en Español
  #4 (permalink)  
Antiguo 19/02/2012, 21:25
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Múltiples dispositivos HID USB

Pues ya pude leer datos de la lectora con pyUSB, lo hice de esta manera por si alguien quiere saber:

Código Python:
Ver original
  1. readers = usb.core.find(find_all=True)
  2. for reader in readers:
  3.     endpoint = reader[0][(0,0)][0]
  4.     readed = False
  5.     data = []
  6.     datalist = []
  7.         for i in range(22):
  8.             data = reader.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize, timeout=10000000)
  9.             datalist.append(data)

Que me manda datos en bruto:
Código Res:
Ver original
  1. [0, 0, 39, 0, 0, 0, 0, 0]
  2. [0, 0, 0, 0, 0, 0, 0, 0]
  3. [0, 0, 39, 0, 0, 0, 0, 0]
  4. [0, 0, 0, 0, 0, 0, 0, 0]
  5. [0, 0, 30, 0, 0, 0, 0, 0]
  6. [0, 0, 0, 0, 0, 0, 0, 0]
  7. [0, 0, 32, 0, 0, 0, 0, 0]
  8. [0, 0, 0, 0, 0, 0, 0, 0]
  9. [0, 0, 30, 0, 0, 0, 0, 0]
  10. [0, 0, 0, 0, 0, 0, 0, 0]
  11. [0, 0, 30, 0, 0, 0, 0, 0]
  12. [0, 0, 0, 0, 0, 0, 0, 0]
  13. [0, 0, 36, 0, 0, 0, 0, 0]
  14. [0, 0, 0, 0, 0, 0, 0, 0]
  15. [0, 0, 32, 0, 0, 0, 0, 0]
  16. [0, 0, 0, 0, 0, 0, 0, 0]
  17. [0, 0, 33, 0, 0, 0, 0, 0]
  18. [0, 0, 0, 0, 0, 0, 0, 0]
  19. [0, 0, 37, 0, 0, 0, 0, 0]
  20. [0, 0, 0, 0, 0, 0, 0, 0]
  21. [0, 0, 40, 0, 0, 0, 0, 0]
  22. [0, 0, 0, 0, 0, 0, 0, 0]

Ahora solo me falta hacer que sea al mismo tiempo, creo que lo más sencillo serán threads por cada lectora que me detecte.

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 20/02/2012, 11:41
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Múltiples dispositivos HID USB

Ya está, la solución final: http://pastebin.com/3gdvENp1 (Falta refactorizar algunas cosas pero es el código básico)

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: dispositivos, ide, usb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:27.