58 lines
1.1 KiB
Python
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);
|