Parallel vier RFID Lesegeräte über Spi betreiben

  • Moin Leute,

    ich sitze da jetzt schon seit zwei tagen dran und komme einfach nicht weiter. Ich würde gerne 4 RFID Lesergeräte (RC522) parallel betreiben und Tags auslesen.

    Leider kriege ich es nur mit einem hin. Ich versuche es über ein LOW signal einene Reader anzusprechen, kriege es aber irgendwie nicht hin. Ich es habe es einfach parrallel versucht, denn die Leseanfrage wird ja durch die Funkionen des MFRC522.py gelesen. Leider macht mein PI überhaupt nichts. Habe den Ausgang schon mit einem Standartprogramm mittels einer LED kontrolliert. Ich habe in Foren gelesen, dass es ohne weiteres möglich sei ein Chipselect manuell mit GpIO auszuführen. Ich wollte erstmal nur einen Reader mit GPIO ansprechen. Kirege es aber leider nicht hin.

    Ich hiffe ihr könnt mir helfen. :D

  • andrej1993

    Changed the title of the thread from “Parallel vier RFID Lesegeräte über Spi betreieben” to “Parallel vier RFID Lesegeräte über Spi betreiben”.
  • Dein Code ist ja aus dem Beispiel diverser alter Anleitungen. Funktioniert der wenigstens ohne Deine Änderungen (mit dürfte es einige Fehler hageln)?


    Mit python ist fast jeder andere besser als ich, doch einiges kann so nicht funktionieren. Das abschließende cleanup in der Schleife gehört auch dazu. Der RPi verfügt über zwei CE, nämlich GPIO08 und GPIO07, ob es mit derartig simplen low/high überhaupt funktioniert, würde ich mal bezweifeln.

  • Moin, ja das auslesen der Tags funktioniert soweit. Nur wenn ich anfange ausgänge zu schalten, meckert der immer folgendes.

    Traceback (most recent call last):

    File "Read5.py", line 36, in <module>

    GPIO.setmode(GPIO.BCM)

    ValueError: A different mode has already been set!


    Das heist dass dar irendwas mit der Bibliotheken in kollision kommt.


    Gibt es denn neuere Beispielprogramme mit geschalteteten Ausgängen ?


    Grus Andy :)

  • Hallo,


    die Fehlermeldung passt nicht zum gezeigten Code. Der Fehler tritt bei dir in Zeile 36 auf, das ist im Listing oben aber eine Kommentarzeile.

    Außerdem benutzt du Python 2, dass ist in drei Tagen ohne Support durch die Entwickler. Also willst du so wie so dringend erst mal auf Python 3 umsteigen.


    Poste mal bitte eine Link auf die Doku des Python-Moduls, dass du zum Ansprechen des Readers benutzt.


    Gruß, noisefloor

  • Oh mann :D keine ahnung. Kenne mich mit den Versionen nicht so aus. Dachte Python ist halt Python :D Habe dann warscheinlich echt eine alte Anleitung verwendet und mir das alte Python installiert.


    Einmal der Link mit den Bibliotheken.


    https://github.com/coding-world/MFRC522-python


    Folgende Fehlermeldung bei dem unten angehängten Prgramm

    File "Read5.py", line 27, in <module>

    MIFAREReader = MFRC522.MFRC522()

    File "/home/pi/Desktop/MFRC522-python/MFRC522.py", line 134, in __init__

    GPIO.setup(self.NRSTPD, GPIO.OUT)

    RuntimeError: Please set pin numbering mode using GPIO.setmode(GPIO.BOARD) or GPIO.setmode(GPIO.BCM)







  • Hallo,

    Quote

    Folgende Fehlermeldung bei dem unten angehängten Prgramm

    Kann nicht sein. Zeile 27 ist eine Leerzeile in deinem Skript.

    Und wenn man dem Stacktrace weiter folgt: Der aktuellst Code des Moduls (Link importiert gar kein RPi.GPIO und kann darum den Fehler den o.g. Fehler nicht erzeugen.


    Aber das ist dein Problem, wenn du nicht den richtigen Code hier zeigst oder alte Versionen des Python-Moduls verwendest...


    Grundsätzlich: les' mal die Seite http://www.netzmafia.de/skript…ware/RasPi/RasPi_SPI.html. OOTB unterstützt der Raspi "nur" zwei SPI Devices. Dem MFRC522 Modul kannst du über das Argument `dev=` mitgeben, ob auf `/dev/spidev0.0` oder `/dev/spidev0.1` zugegriffen werden soll.

    Mehr geht grundsätzlich wohl auch, aber das musst du selber Coden. Keine Ahnung, wie aufwendig das mit Python ist (und wie das geht).


    Gruß, noisefloor