2x RFID Reader an Modell B -> libnfc?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich setzte gerade eine Art 'Time Attendance System' um bei dem per Karte ein und ausgeloggt werden soll. Darum soll es in meiner Frage aber eigentlich gar nicht gehen, sondern würde ich gerne wissen ob und falls ja wie umständlich es ist 2 Reader Module an ein RPi Model B zum laufen zu bekommen. Wohl gemerkt nicht zeitgleich.

    Es geht darum, dass mein System schon recht weit fortgeschritten ist und ich gerne Ausprobieren möchte welches Modul mich in Sachen Lesegeschwindigkeit und Übertragungsfehler mehr überzeugen kann.

    Es geht einmal um:
    125KHZ EM4100 RFID Karte lesen Modul RDM630 (UART)
    und
    PN532 [Anzeige]

    nun habe ich alles beim em4100 eingerichtet wie ich möchte und alles auf eine Steckplatine gelötet.
    Nun würde ich gerne das Breakout kabel abstecken und auf ein Breadboard wechseln und das Zweite Modul testen.

    Bei der Einrichtung des 4100 Moduls habe ich mich an diese Seiten gehalten:
    http://www.elektronx.de/tutorials/rfid-tags-auslesen/
    und
    http://kampis-elektroecke.de/?page_id=3248

    ich habe auch ein Tutorial für das PN532 modul gefunden:
    https://learn.adafruit.com/adafruit-nfc-r…rry-pi/overview

    Leider bin ich im Umgang mit Linux nicht so bewandert, dass ich vorhersehe was passiert wenn ich den dritten Schritt 'Building libnfc' ausführe, aber ich vermute, dass das den 4100 Reader außer Gefecht setzten würde.

    Nun die Frage. Wie stell ich das am besten an? Wie wechsel ich am einfachsten die Reader?
    Und noch eine kleine andere Frage:
    Gibt es praktische Unterschiede je nach Nutzung von UART, I2C oder SPI. Bezüglich Übertragungsgeschwindigkeit oder Fehlerrate?

    Bin für jeden Ratschlag dankbar

    Grüße brooks

    • Offizieller Beitrag

    Warum sollte der alte Leser ausser gefecht gesetzt werden? libnfs ist eine Bibliothek (lib=library) Wenn du sie nicht nutzt, passiert auch nichts damit. Wenn du dann in source code der Beispiel Einwendung schaust wirst du sehen das oben ein <include> dieser lib stattfindet. Da aber beide über uart senden, würde ich den Ansatz vom ersten NFC Reader auch bei diesem Probieren

  • Das ist ja mein Problem ich verstehe zu wenig von Linux, dass ich genau die funktion der lib verstehe.
    Ich habe gerade in meinem Python code nachgesehen und es ist kein include mit der lib vorhanden.

    Ich wurde verunsichert beim installieren der lib, weil auf meinem RPi bereits ein ordner mit libnfc vorhanden ist. Deshalb bin ich davon ausgegangen, dass ich diese mal installiert habe um den 4100 Reader zum laufen zu kriegen.

    Also geh ich recht in der Annahme, dass das erste Modul gar keine libnfc benötigt? Und ich diese wahrscheinlich aus Unwissenheit installiert habe.
    Falls ja, warum braucht der eine Reader die lib, der andere nicht?

    Danke

    • Offizieller Beitrag

    Weil das eine python ist und das andere C ;). Wenn du schon libnfc drauf hast, brauchst sie auch nicht mal. libs sind am ende nichts anderes als eine Sammlung von Funktionen zu einem Bestimmten Thema. libnfc handelt die ganze Kommunikation mit nfc reader ab (vom connecten über auslesen usw.) Welche Funktionen es gibt steht in der Doku. Wenn du jetzt eine dieser speziellen Funktionen nutzen willst musst du sie einbinden, bei C funktioniert das über ein <include libnfc.h>. Python bietet sowas auch, dort heisst es aber Module, der Ansatz ist der gleiche. Eine C lib kann man nicht so einfach in python integrieren. Das Adafriut Beipsiel ist in C, das von Kampi in python..2 vollkommen verschiedene Welten und Ansätze

  • Ok danke, soweit verstanden.
    Jetzt möchte ich natürlich nicht meinen kompletten code in C portieren.
    Ist das Ansprechen dieses Readers nun auch ohne weiteres in Python möglich? Eigentlich doch ja, da UART = UART richtig?

    Vielen dank für deine schnelle Hilfe

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!