Forum: Mikrocontroller und Digitale Elektronik 2 RFID-Reader am Raspberry Pi


von Johann K. (john1999)


Lesenswert?

Guten Tag,

Ich möchte zwei RFID-Reader mit einem Raspberry Pi verbinden.
Ich favorisiere momentan Wiegand-Reader, da es da schöne, wasserfest 
versiegelte Exemplare zu günstigen Preisen auf eBay gibt. Am wichtigsten 
ist aber, dass Wiegand-Reader große Strecken von Lesegerät zum µC/RPi 
überbrücken können. Deswegen ist auch USB (leider) nicht geeignet für 
mein Projekt.
Den RPi möchte ich am liebsten verbauen weil er relativ günstig ist und 
ich zusätzlich zum RFID-Zeug noch weitere, kleine (Server-)Software auf 
dem Ding laufen lassen kann. Außerdem kann ich damit auch bequem am 
Laptop die Karten-IDs verwalten (mit entsprechendem Programmieraufwand, 
versteht sich).

Ich habe nun schon reichlich recherchiert und bin dabei sehr schnell auf 
PiDoorMan gestoßen. Das sieht ja alles schon mal sehr viel versprechend 
aus, doch ein Problem gibt es dennoch: wie Eingangs erwähnt muss ich 
zwei (!) Reader anschließen. Bei PiDoorMan wird der Reader an die 
GPIO-Ports 0 und 1 (Rev1) bzw. 2 und 3 (Rev2) angeschlossen. So wie ich 
das verstanden habe, sind GPIO 2 und 3 für I²C zuständig, woraus ich 
schließe, das PiDoorMan I²C benutzt. Nun könnte ich natürlich einen 
zweiten RPi nehmen, aber ich würde natürlich eine Lösung anstreben, die 
möglichst wenig kostet. Es soll ja auch möglich sein, auf dem P5-Header 
einen zweiten I²C-Port zu „generieren“. Damit habe ich mich aber noch 
nicht näher beschäftigt.

Berichtigt mich bitte, aber zum Grundverständnis der GPIO-Header: Am 
P6-Header gibt es 17 I/O-Pins, davon sind 2 I²C-fähig (macht einen 
I²C-Port), dann noch UART und SPI. Außerdem 8 frei programmierbare, 
reine I/O Pins auf 3,3V.
Ich weiß überings, dass Wiegand 5v nutzt und die GPIOs des RPi 3,3v. Das 
ist ja auf der PiDoorMan-Website auch incl. Anleitung dargestellt.

Also wie könnte ich es nun schaffen, zwei (Wiegand)-Reader an – 
bestenfalls – einen Raspberry Pi anzuschließen, so dass ich die ID der 
Karten auslesen kann.

Links:
PiDoorMan: http://tonigor.com/pidoorman/
GPIO-P6-Belegung: 
http://developer-blog.net/wp-content/uploads/2013/09/raspberry-pi-rev2-gpio-pinout.jpg
Zeiter I²C: 
http://medicforlife.blogspot.co.uk/2013/02/two-i2c-buses-on-raspberry-pi.html

Vielen Dank schon mal, dass ihr überhaupt diesen ziemlich langen Text 
bis hierhin gelesen habt. Ich hoffe ihr könnt mir helfen.

von tut (Gast)


Lesenswert?

Der Beaglebone Black hat 3 /dreu) I2C-Busse, von denen 2 sofort nutzbar 
sind http://datko.net/2013/11/03/bbb_i2c/

von tut (Gast)


Lesenswert?

P.S. Kann man den Wiegand-Readern nicht mehr als 1 Adresse zuweisen, 
dann kannst Du beide Reader am gleichen Bus benutzen.

von Johann K. (john1999)


Lesenswert?

Keine Ahnung ob man das kann, werde gleich mal nach Info's suchen.
Wichtiger wäre (meiner Meinung nach) aber erstmal zu wissen, ob 
PiDoorMan überhaupt mit I²C arbeitet.

PS: Ich habe doch gar keine Hardware gekauft, es ist also noch alles 
offen.

EDIT: So langsam reimt sich hier gar nichts mehr: I²C arbeitet mit einer 
Clock- und einer Datenleitung, Wiegand jedoch mit 2 Datenleitungen. Kann 
das zusammen passen? Ich weiß es nicht. Aus diesem Grund scheint es mir 
auch unmöglich, mehrere Reader an einen Bus zu betreiben.
Die Frage ist halt nur: Nutzt PiDoorMan I²C oder nicht? Vielleicht ließe 
sich diese Frage leichter beantworten, wenn man wüsste, ob die 
festgelebten GPIOs des RPi (I²C, SPI, UART) sich auch als normale I/Os 
benutzen lassen.

: Bearbeitet durch User
von Johann K. (john1999)


Lesenswert?

Ich glaube, ich habe den Fehler gedunden und das Problem gelößt:

Ich habe eine veränderte (weiterentwickelte) Version von PiDoorMan 
gefunden: 
http://irishjesus.wordpress.com/2013/12/02/goodbye-dryspell-hello-raspberry-pi-wiegand-rfid/
Beim durchlesen des dort gezeigten Quellcodes fiel es mir wie Schuppen 
von Augen: Dieses Script nutzt nicht die „normale“ GPIO-Belegung des 
sysfs, sondern die WiringPi-API! Das bedeutet Pin 0 ist auf dem Header 
eigentlich Pin 17 und Pin 1 ist in Wirklichkeit Pin 18 (siehe 
http://wiringpi.com/pins/). Das sind normale GPIO-Pins, und davon gibt 
es insgesamt sogar 12 Stück auf dem RPi (8 Stk. auf P1 und 4 Stk. auf 
P5).

Sieht also so aus als würde ich es doch mit dem Raspberry Pi 
durchziehen. Ich hätte auch Lust, das Projekt zu dokumentieren, da das 
ja scheinbar noch Niemand „so richtig“ gemacht hat. Aber wahrscheinlich 
fange ich mit dem Projekt eh erst zum Sommer hin an. Dann kann ich ja 
mal einen Artikel im Wiki verfassen.

Vielen Dank,
Johann

: Bearbeitet durch User
von Neuling (Gast)


Lesenswert?

Lassen sich über den RPi auch Schrittmotoren und Hubmagneten steuern?
Wenn ja wie würde so ein Aufbau aussehen?

von Max H. (hartl192)


Lesenswert?

Relais mit Logik ansteuern Das Relais wird durch den Hubmagneten 
ersetzt.

von Mike (Gast)


Lesenswert?

Neuling schrieb:
> Lassen sich über den RPi auch Schrittmotoren und Hubmagneten steuern?
> Wenn ja wie würde so ein Aufbau aussehen?

Und was hat das mit RFID zu tun?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.