Seite 1 von 1

Mehrere NFC Reader an einem Raspberry Pi anschließen.

Verfasst: Montag 6. Juni 2022, 18:04
von martin_467
Hallo,
ich möchte mehrere NFC Reader(https://www.amazon.de/gp/product/B01M28 ... UTF8&psc=1) an einem Raspberry Pi anschließen und mittels Python mit denen kommunizieren.
Mit diesem Tutorial(https://pimylifeup.com/raspberry-pi-rfid-rc522/) wird ein NFC Reader an einem Raspberry Pi angeschlossen.
Folgende Pins werden benötigt:
- Pin 24 (CE0)
- Pin 23 (SLCK)
- Pin 19 (MOSI)
- Pin 21 (MISO)
- Pin 6
- Pin 22
- Pin 1

Kann man, da es fast alle Pins doppelt gibt also 2 NFC Reader an ein Raspberry Pi anschließen? Was ist mit Pin 24 (CE0), wäre Pin 26 (CE1) identisch?

Das Python Code aus dem Tutorial:

Code: Alles auswählen

#!/usr/bin/env python

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
        id, text = reader.read()
        print(id)
        print(text)
finally:
        GPIO.cleanup()
Wie würde ich es hinbekommen, das Skript für die anderen Pins anzupassen. Oder gibt es eine bessere Möglichkeit mehrere NFC Reader ein einem Raspberry Pi anzuschließen(kostengünstig).

Re: Mehrere NFC Reader an einem Raspberry Pi anschließen.

Verfasst: Montag 6. Juni 2022, 19:07
von __deets__
Weil das ein SPI-Geraet ist, kannst du die alle an SCLK, MOSI und MISO haengen, und dann brauchst du nur jeweils einen Pin fuer das Chip-Select. Also CE0, CE1. Wenn du mehr als zwei willst, kann ein Wechsel auf SPI1 helfen, das kann laut https://github.com/raspberrypi/linux/tr ... s/overlays bis zu 3 CS haben. Allerdings ist CS auch so simpel, das du deinen Treiber einfach selbst um das ansteuern eigener CS via GPIO erweitern kannst.

Der Code kann zumindest mit den vorgesehenen CS auch einfach genutzt werden, siehe https://github.com/pimylifeup/MFRC522-p ... 22.py#L128 - da kannst du den bus ebenso wie die device-Nummer, die das CS repraesentiert, angeben.

Das SimpleMFRC522 ist dafuer aber nicht geeignet, weil es diese Argumente nicht weiterleitet. Das musst du also wahlweise so umschreiben, oder eben gleich die unterliegende Implementierung MFRC522 benutzen.