0

I'm using this MFRC522 UART library in python. MFRC522-UART-Python While reading if the module gets reset, it stops reading and doesn't print anything. This is read.py which is calling the external class MFRC522.py Should i call this MFRC522 by using thread or threre are any better options to get from the external code. Does anybody have any suggestions??

#!/usr/bin/env python
# -*- coding: utf8 -*-


import MFRC522
import signal
import threading

continue_reading = True
#SECTORS_TOREAD = 8
#sector_now = 0

# Capture SIGINT for cleanup when the script is aborted
def end_read(signal,frame):
    global continue_reading
    print "Ctrl+C captured, ending read."
    continue_reading = False
    exit()

# Hook the SIGINT
signal.signal(signal.SIGINT, end_read)

# Create an object of the class MFRC522
MIFAREReader = MFRC522.MFRC522()

# Welcome message
print "Welcome to the MFRC522 data read example"
print "Press Ctrl-C to stop."

def rfid_check():
    # This loop keeps checking for chips. If one is near it will get the UID and authenticate
    while continue_reading:
        try:
            # Scan for cards    
            (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQA)

        
            # Get the UID of the card
            (status,uid) = MIFAREReader.MFRC522_Anticoll()

            # If we have the UID, continue
            if status == MIFAREReader.MI_OK:
                # Print UID
                print "Card read UID: "+str(uid[0])+","+str(uid[1])+","+str(uid[2])+","+str(uid[3])
        except:
            print("HANDLING EXCEPTION")

threading.Thread(target=rfid_check).start

Any better way I can do it?

0 Answers0