SATS/feature/rfid-read/source/read.py

58 lines
1.1 KiB
Python

#!/usr/bin/env python
# -*- coding: utf8 -*-
import RPi.GPIO as GPIO
import MFRC522
# [1] Create an object of the class MFRC522
GPIO.setwarnings(False);
MIFAREReader = MFRC522.MFRC522()
# [2] Scan for cards
(status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
# [3] If no card found -> exit 1
if status != MIFAREReader.MI_OK:
print 127;
exit(127);
# [4] Get the UID of the card
(status,uid) = MIFAREReader.MFRC522_Anticoll()
# [5] If no UID read -> exit 1
if status != MIFAREReader.MI_OK:
print 127;
exit(127);
# [6] Print UID
hexCode = [];
hexcode.append( str(hex(uid[0]))[2:] );
hexcode.append( str(hex(uid[1]))[2:] );
hexcode.append( str(hex(uid[2]))[2:] );
hexcode.append( str(hex(uid[3]))[2:] );
if( len(hexCode[0]) == 1 ):
hexCode[0] = '0' + hexCode[0];
if( len(hexCode[1]) == 1 ):
hexCode[1] = '0' + hexCode[1];
if( len(hexCode[2]) == 1 ):
hexCode[2] = '0' + hexCode[2];
if( len(hexCode[3]) == 1 ):
hexCode[3] = '0' + hexCode[3];
suid = hexCode[0];
suid += '-' + hexCode[1];
suid += '-' + hexCode[2];
suid += '-' + hexCode[3];
print suid;
exit(0);