RFID
Verfasst: Sonntag 4. November 2018, 00:15
Servus, ich habe den unten aufgeführten Code, der mit Hilfe eines RC522 Modules meine RFID Karten auslesen soll.
Das funktioniert soweit auch alles, aber wenn ich meine Karte an das Modul halte, kommt folgender Fehler:
Es liegt also an dem in der PythonCode angegeben Key:
# This is the default key for authentication
key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]
Welche Möglichkeiten habe ich diesen Authentication-Key von einer Karte auszulesen?
Hier auf dieser Seite ist der Aufbau beschrieben, ich werde daraus aber nicht schlau...
https://www.nxp.com/docs/en/data-sheet/MF1S50YYX_V1.pdf
Hier der Code der Read.py
Vielen Dank für die Hilfe!
Das funktioniert soweit auch alles, aber wenn ich meine Karte an das Modul halte, kommt folgender Fehler:
Code: Alles auswählen
Card detected
Card read UID: 136,4,150,165
Size: 4
AUTH ERROR!!
AUTH ERROR(status2reg & 0x08) != 0
Authentication error
# This is the default key for authentication
key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]
Welche Möglichkeiten habe ich diesen Authentication-Key von einer Karte auszulesen?
Hier auf dieser Seite ist der Aufbau beschrieben, ich werde daraus aber nicht schlau...
https://www.nxp.com/docs/en/data-sheet/MF1S50YYX_V1.pdf
Hier der Code der Read.py
Vielen Dank für die Hilfe!
Code: Alles auswählen
MFRC522-python/Read.py
65ebda1 on 20 Mar
@mxgxw mxgxw Merge branch 'master' into master
@mxgxw @mj3052 @wybczu @BiTinerary
82 lines (64 sloc) 2.5 KB
#!/usr/bin/env python
# -*- coding: utf8 -*-
#
# Copyright 2014,2018 Mario Gomez <mario.gomez@teubi.co>
#
# This file is part of MFRC522-Python
# MFRC522-Python is a simple Python implementation for
# the MFRC522 NFC Card Reader for the Raspberry Pi.
#
# MFRC522-Python is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# MFRC522-Python is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with MFRC522-Python. If not, see <http://www.gnu.org/licenses/>.
#
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: %s,%s,%s,%s" % (uid[0], uid[1], uid[2], 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"