Tür-Zutrittskontrolle

Am Anfang stand der Wunsch unserer grossen Tochter einen sicheren Zutritt ins Haus nach der Schule zu ermmöglichen. Sollte Sie den „Schlüssel“ verlieren, sollte dieser mit einfachen Mittel sperrbar und durch ein kostengünstiges Nachfolge-Exemplar ersetzt werden können.

Nach gründlicher Durchdenkung wurden die Ansprüche immer grösser:

Als nächstes begann die Reise durch die Tiefen des Internet … Grundlegende Informationen zu RFID:

Sicherheit bei RFID:

Realisierungsvorschläge:

Unbekannter RFID-Leser:

Mit AD-2000 RFID-Codeschloss (Logik im Codeschloss, nicht wirklich Einbruchsicher!)

Mit http://controlsoft.com/downloads/controlsoft-prox-prox-reader.pdf

Mit SPI-Protokoll:

Mit I2C-Protokoll:

Mit USB-Anschluss und Piface I/O-Expander:

Mit PN532 NFC/RFID controller breakout board und libnfc:

Mit Arduino:

Mit „125KHZ EM4100 RFID Karte lesen Modul RDM630 (UART) kompatibel Arduino“ von hier: http://www.ebay.de/itm/380792420801?clk_rvr_id=751976040572

iButton 1-wire:

… Doch passten immer nur einzelne Aspekte der oben genannten Lösungen für meine Anforderung :-(

Momentan versuche ich den schicken 1-wire-RFID-Leser von hier http://www.ebay.de/itm/MINI-RFID-125kHz-reader-bicolour-LED-1-wire-/121405194029?pt=BI_Security_Fire_Protection&hash=item1c44503f2d zu verwenden …

Wiring: - White goes to DATA (A) - Grey goes to GND (B) - Yellow goes to VDD (C) → 3,3V ⇒ this is different from the normal IButton, that doesn't require VDD - Brown/Green : I connected those to AQ outputs of the Miniserver (extension) with 2v output

Folgende Anschlüsse sind vorhanden: YELLOW: VDD power supply + (3V - 5V) GRAY: power supply - (ground) GREEN: GREEN LED cathode BROWN: RED LED cathode WHITE: 1 wire bus DATA → GPIO4 on Raspberry

Die rote LED, sowie grüne LED lassen sich analog zu einem iButton ansteuern, allerdings invertiert. Das heisst gelb geht auf 5V und durch GND an den braunen oder grünen Draht leuchtet es.

Auch ist 1wire mit grau/weiss verdrahtet.

Issues: (with Loxone miniserver) My LED lights are always on. When I measure the voltage between GND of 1-wire and AQ output of Miniserver (extension), there seems to be a residual voltage of 0.5v. This goes up to 2v when the output goes on (which is ok), but never down to 0v. Even 0.5v is enough to keep the LED going… If I measure between the GND of the AQ outputs, it's 0v, but the 1-wire GND causes 0.5v…No idea why this happens. Some other component in the 1-Wire setup ?

http://kampis-elektroecke.de/?page_id=3678 Hierbei ist zu beachten, dass das Raspberry Pi über keinen Hardware 1-Wire verfügt, sondern alles softwareseitig (Bitbanging) erledigt wird. → Was ist der 1-Wire Bus?:

Als 1-Wire bezeichnet man eine serielle Schnittstelle, welche nur eine Datenleitung benötigt. Im Gegensatz zu vielen anderen seriellen Schnittstellen kann diese Datenleitung auch zur Versorgung der 1-Wire Devices dienen (Parasitäre Spannungsversorgung). 1-Wire verwendet kein Taktsignal und zählt damit zu den asynchronen Datenbusen. Jedes Gerät besitzt eine 64-Bit ROM-ID, welche sich aus einer 48-Bit Seriennummer, einem 8-Bit Family Code und einer 8-Bit CRC zusammen setzt. → Erster Test mit einem DS18B20:

Der aktuelle Kernel besitzt bereits ein 1-Wire Modul, welches nur noch aktiviert werden muss. Dieses Modul nutzt den GPIO 4 und dem entsprechend darf dieser GPIO nirgendwo anders verwendet werden, da sonst das Modul nicht geladen werden kann! Als erstes werden alle notwendigen Module geladen: sudo modprobe wire $ sudo modprobe w1-gpio

Anschließend könnt ihr euch mit dem Befehl $ cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slaves 1

$ cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slaves

die ROM-IDs der angeschlossenen 1-Wire Devices anzeigen lassen

Für jedes 1-Wire Device wird nun unter /sys/bus/w1/devices ein extra Verzeichnis angelegt. In dieses müsst ihr nun wechseln: $ cd /sys/bus/w1/devices/10-00080293bd31 1

$ cd /sys/bus/w1/devices/10-00080293bd31

In diesem Verzeichnis findet ihr nun eine Datei namens w1_slave. Diese Datei beinhalten alle Daten die das Raspberry Pi aus dem Sensor ausließt. Um sie in der Konsole anzeigen zu lassen nutzt ihr den cat Befehl: $ cat w1_slave 1

$ cat w1_slave

Anschließend werden alle Daten aus dem Sensor ausgelesen, in der Datei gespeichert und in der Konsole ausgegeben

Challenge-Response

Mit dem Challenge-Response-Verfahren, kann die Sicherheit deutlich erhöht werden: http://www.maximintegrated.com/en/app-notes/index.mvp/id/4784 Allerdings bedingt dies, dass nicht ein einfacher RFID-Leser und günstige RFID-tokens eingesetzt werden können, sondern dass ein teurer RFID-Schreib-/Leser und teurere beschreibbare Tokens eingestzt werden müssen.



zurück