I was trying to create an attendance system that uses raspberry pi, that contains an rfid and a fingerprint scanner R305, my rfid codes works well with my database but when I tried to insert the fingerscanner code coming from this site https://fingerprint-module-r305-python-and-mysql.readthedocs.io/en/latest/chapter03.html#upload-to-database at first the code works well but the second time I tap the rfid card this error code shows up..
I'm also sorry if my post is messy and thank you in advance please help me.
' pack = [0xef01, 0xffffffff, 0x1] # Header, Address and Package Identifier
def readPacket(): # Function to read the Acknowledge packet
time.sleep(1)
w = ser.inWaiting()
ret = []
if w >= 9:
s = ser.read(9) # Partial read to get length
ret.extend(struct.unpack('!HIBH', s))
ln = ret[-1]
time.sleep(1)
w = ser.inWaiting()
if w >= ln:
s = ser.read(ln)
form = '!' + 'B' * (ln - 2) + 'H' # Specifying byte size
ret.extend(struct.unpack(form, s))
return ret
def readPacket1(): # Function to read the Acknowledge packet
time.sleep(1)
w = ser.inWaiting()
ret = []
form = 'B' * 700
s = ser.read(700)
t=binascii.hexlify(s) # convert to hex
u=t[24:]
cur.execute("insert into fingertb(name,finger) values('%s','%s')" %(name,u) ) # upadate database
cnx.commit()
v=binascii.unhexlify(u)
form1='B'*688
ret1=[]
ret1.extend(struct.unpack(form1, v))
ret.extend(struct.unpack(form, s))
def writePacket(data): # Function to write the Command Packet
pack2 = pack + [(len(data) + 2)]
a = sum(pack2[-2:] + data)
pack_str = '!HIBH' + 'B' * len(data) + 'H'
l = pack2 + data + [a]
s = struct.pack(pack_str, *l)
ser.write(s)
def verifyFinger(): # Verify Module?s handshaking password
data = [0x13, 0x0, 0, 0, 0]
writePacket(data)
s = readPacket()
return s[4]
def genImg(): # Detecting finger and store the detected finger image in ImageBuffer
data = [0x1]
writePacket(data)
s = readPacket()
return s[4]
def img2Tz(buf): # Generate character file from the original finger image in ImageBuffer and store the file in CharBuffer1 or CharBuffer2.
data = [0x2, buf]
writePacket(data)
s = readPacket()
return s[4]
def regModel(): # Combine information of character files from CharBuffer1 and CharBuffer2 and generate a template which is stroed back in both CharBuffer1 and CharBuffer2.
data = [0x5]
writePacket(data)
s = readPacket()
return s[4]
def UpChar(buf): # Upload the character file or template of CharBuffer1/CharBuffer2 to upper computer
data = [0x8,buf]
writePacket(data)
s = readPacket1()`
User contributions licensed under CC BY-SA 3.0