Created
January 25, 2018 13:00
-
-
Save klavestad/4fa7d469a180677e51bc093343a8e5a2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf8 -*- | |
import RPi.GPIO as GPIO | |
import MFRC522 | |
import signal | |
continue_reading = True | |
# 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 | |
GPIO.cleanup() | |
# 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." | |
# This loop keeps checking for chips. If one is near it will get the UID and authenticate | |
while continue_reading: | |
# Scan for cards | |
(status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL) | |
# If a card is found | |
if status == MIFAREReader.MI_OK: | |
print "Card detected" | |
# 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]) | |
# This is the default key for authentication | |
key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF] | |
# Select the scanned tag | |
MIFAREReader.MFRC522_SelectTag(uid) | |
# Authenticate | |
status = MIFAREReader.MFRC522_Auth(MIFAREReader.PICC_AUTHENT1A, 8, key, uid) | |
# Check if authenticated | |
if status == MIFAREReader.MI_OK: | |
MIFAREReader.MFRC522_Read(8) | |
MIFAREReader.MFRC522_StopCrypto1() | |
else: | |
print "Authentication error" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment