From: Grigor K. <gri...@gm...> - 2012-06-27 11:28:26
|
Hi! I try to read data from USB Fingerprint reader I connect wit reader and it work import sys import usb.core import usb.util VENDOR_ID=0x045E PRODUCT_ID=0x00BD DATA_SIZE=64 device = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID) try: device.set_configuration() except usb.core.USBError as e: sys.exit("Could not set configuration: %s" % str(e)) endpoint = device[0][(0,0)][0] print endpoint data = [] swiped = False print "Send a code..." a = 0 while 1: try: dev = device.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize) data.append(dev.buffer_info()) if len(data)>2: print data[a] a = a+1 if not swiped: print "Reading..." swiped = True except usb.core.USBError as e: if e.args == ('Operation timed out',) and swiped: if len(data) < DATA_SIZE: swiped = False continue else: break # we got it! How can get value? |
From: Wander L. C. <wan...@gm...> - 2012-06-27 11:46:40
|
Sorry, I could not figure out what is your problem, could you please give more details? 2012/6/27 Grigor Kolev <gri...@gm...>: > Hi! > > I try to read data from USB Fingerprint reader > > I connect wit reader and it work > > import sys > > import usb.core > > import usb.util > > > > VENDOR_ID=0x045E > > PRODUCT_ID=0x00BD > > DATA_SIZE=64 > > > > device = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID) > > > > > > > > try: > > device.set_configuration() > > > > except usb.core.USBError as e: > > sys.exit("Could not set configuration: %s" % str(e)) > > > > endpoint = device[0][(0,0)][0] > > print endpoint > > > > data = [] > > swiped = False > > print "Send a code..." > > a = 0 > > while 1: > > try: > > dev = device.read(endpoint.bEndpointAddress, > > endpoint.wMaxPacketSize) > > data.append(dev.buffer_info()) > > > > if len(data)>2: > > print data[a] > > a = a+1 > > > > if not swiped: > > print "Reading..." > > swiped = True > > > > except usb.core.USBError as e: > > if e.args == ('Operation timed out',) and swiped: > > if len(data) < DATA_SIZE: > > swiped = False > > continue > > else: > > break # we got it! > > > > How can get value? > > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users > -- Best Regards, Wander Lairson Costa |
From: Tormod V. <lis...@gm...> - 2012-06-27 18:49:39
|
On Wed, Jun 27, 2012 at 1:30 PM, Grigor Kolev wrote: > Hi! > > I try to read data from USB Fingerprint reader > > I connect wit reader and it work > > import sys > > import usb.core > > import usb.util > > > > VENDOR_ID=0x045E > > PRODUCT_ID=0x00BD > > DATA_SIZE=64 > > > > device = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID) > > > > > > > > try: > > device.set_configuration() > > > > except usb.core.USBError as e: > > sys.exit("Could not set configuration: %s" % str(e)) > > > > endpoint = device[0][(0,0)][0] > > print endpoint > > > > data = [] > > swiped = False > > print "Send a code..." > > a = 0 > > while 1: > > try: > > dev = device.read(endpoint.bEndpointAddress, > > endpoint.wMaxPacketSize) > > data.append(dev.buffer_info()) This looks wrong to me. device.read() returns the data as an array. The buffer_info() method return the address and length of this array. You'd want to append the elements themselves of this array to your "data" array: data.extend(dev) Also, if you're not 100% sure you are using the right endpoint, please show us the output from "lsusb -d 045E:00BD -v" and a link to any documentation that you have on the device. Tormod |