RFID-RC522 Tutorial Raspberry Pi 3

  • Was ist eigentlich RFID?



    • RFID ausgeschrieben heißt Radio Frequency IDentification(=Identifizierung mit Hilfe elektromagnetischer Wellen)
    • Ein RFID-System besteht aus einem Transponder und einem Lesegerät
    • Daten können ohne berührung übertragen werden
    • Transponder Wird vom Lesegerät mithilfe von magnetischen Wechselfeldern mit strom versorgt


    Bauteile


    • Lötutensilien
    • Raspberry Pi 3(Funktioniert aber auch mit allen Vorgängern)
    • Weiblich-Weiblich Jumper Kabel
    • Neuftech Mifare RC522
    • RFID TAG


    Verkablung



    Der Pi wird vom netz genommen und wir beginnen mit der Verkablung:
    [IMG:http://fs5.directupload.net/images/160607/5roft8tc.png]
    SPI aktivieren


    Zunächst müssen wir die config.txt vom Pi bearbeiten um Das RFID RC522 Shield verwenden zu können.

    Code
    1. sudo nano /boot/config.txt


    Dann müssen wir Folgendes am ENDE der Datei hinzufügen:

    Code
    1. device_tree_param=spi=on
    2. dtoverlay=spi-bcm2708


    Dann Speichern wir das ganze mit STRG+O, dann mit STRG+X um nano zu beenden.
    Jetzt müssen wir nurnoch SPI in den configs aktivieren. Dazu betreten wir erstmal die Pi config:

    Code
    1. sudo raspi-config


    Unter Advanced Options finden wir SPI. Dann müssen wir es nur noch aktivieren und auf finish gehen. Danach wird der Pi neugestartet. Falls nicht:

    Code
    1. sudo reboot now



    Software installieren


    zuerst müssen wir das entsprechende Paket installieren:

    Code
    1. sudo apt-get install git python-dev


    Das Python SPI modul clonen wir zuerst:

    Code
    1. git clone https://github.com/lthiery/SPI-Py.git


    Dann betreten wir das Verzeichnis, installieren es und gehen wieder nach /home/pi/ zurück:

    Code
    1. cd SPI-Py
    2. sudo python setup.py install
    3. cd ..


    Jetzt müssen wir nur noch ein Verzeichnis erstellen, wo wir alle Scripts reinkopieren:

    Code
    1. sudo mkdir RFID


    Nun kopieren wir alles rein:

    Code
    1. git clone https://github.com/mxgxw/MFRC522-python.git


    Fertig!
    Nun können wir den RFID Reader zum ersten mal testen!
    Dazu müssen wir einfach das Skript laufen lassen:

    Code
    1. sudo python Read.py


    Nun lesen wir also, was in Sektor 8 gespeichert wurde, und die UID. Sektor 8 Kann man auch selber beschreiben, indem man die Write.py Datei verändert. Zeile 55-56 vor der Veränderung:

    Code
    1. # Variable for the date to write
    2. data = []


    Zeile 55-56 Nach der Veränderung:

    Code
    1. # Variable for the date to write
    2. data = [123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123]


    Innerhalb der Eckigen klammern kann man also seine Nachricht mit ASCII Zeichen schreiben lassen.
    Wenn man alle Sektoren lesen lassen will, benutzt man die Dump.py datei:

    Code
    1. sudo python Dump.py
  • Hallo CrazyChicken ,

    danke für das einfach verständliche Tutorial.

    Ich verwende das Modul selber in meinem eigenen Projekt (FrimpieBox) und habe bzgl. MFRC522.py Script 2 Nachteile festgestellt:


    1. Es verwendet GPIO.setmode(GPIO.BOARD).

    Das harmoniert nicht mit der gpiozero Bibliothek (würde ich gerne verwenden um Taster abzufragen), da diese GPIO.BCM verwendet was dann zu einer Fehlermeldung führt. Abgesehen davon wäre es m.E. besser statt mit den physischen Pins, mit den logischen Ports zu arbeiten.


    2. Es verwendet Python 2

    am offensichtlichsten sieht man das an Stellen wie print "Size: "


    Kennst du eine "modernere" Implementierung als Ersatz für das MFRC522 Script?