X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FMIFAREClient.py;fp=sql-edition%2Fservers%2FMIFAREClient.py;h=358f550bd8cfb10e95c4ef468b82a092b6295f12;hp=0000000000000000000000000000000000000000;hb=07137a6ba9397180f6edb5b61a74bb6c18746811;hpb=2c69fb3d4f90783efe9cab91f1d7ff65c852f88e diff --git a/sql-edition/servers/MIFAREClient.py b/sql-edition/servers/MIFAREClient.py new file mode 100644 index 0000000..358f550 --- /dev/null +++ b/sql-edition/servers/MIFAREClient.py @@ -0,0 +1,37 @@ +from MIFAREDriver import MIFAREReader, MIFAREException +from serial import Serial +from LDAPConnector import get_uid, set_card_id + +class MIFAREClient: + def __init__(self): + self.port = Serial('/dev/ttyS2', baudrate = 19200) + self.reader = MIFAREReader(self.port) + self.reader.set_led(red = False, green = True) + self.reader.beep(100) + + def get_card(self): + self.reader.set_led(red = True, green = False) + try: + card_id, capacity = self.reader.select_card() + except MIFAREException: + self.reader.set_led(red = False, green = True) + return None + else: + self.reader.set_led(red = False, green = True) + self.reader.beep(100) + return card_id + + def add_card(self, uid): + self.reader.set_led(red = True, green = False) + for attempt in range(5): + self.reader.beep(50) + try: + card_id, capacity = self.reader.select_card() + except MIFAREException: + pass + else: + set_card_id(card_id, uid) + self.reader.set_led(red = False, green = True) + return True + self.reader.set_led(red = False, green = True) + return False \ No newline at end of file