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:
    [Blocked Image: 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
    sudo nano /boot/config.txt


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

    Code
    device_tree_param=spi=on
    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
    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
    sudo reboot now



    Software installieren


    zuerst müssen wir das entsprechende Paket installieren:

    Code
    sudo apt-get install git python-dev


    Das Python SPI modul clonen wir zuerst:

    Code
    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
    cd SPI-Py
    sudo python setup.py install
    cd ..


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

    Code
    sudo mkdir RFID


    Nun kopieren wir alles rein:

    Code
    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
    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
    # Variable for the date to write
    data = []


    Zeile 55-56 Nach der Veränderung:

    Code
    # Variable for the date to write
    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
    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?

  • Sieh mal hier:

    Kaffeemaschine automatische Abrechnung

    Dort hab ich es so modifiziert das BCM verwendet wird ^^


    Zum Tutorial:

    Es ist kein sudo im Userhomeverzeichnis nötig -> mkdir RFID python Read.py

    Da ich aber gerade sehe das das Tutorial schon über 2 Jahre alt ist.....