automatisches Türzugangsystem für Studenten


door v0.1

Diese erste Lösung basiert auf einem kleinen PC (hierfür reicht im prinzip eine kleine CPU und wenig RAM mehr als aus), der unter Linux (hier debian) je Tür 2 parallele Schnittstellen (Druckerports) ansteuertert. Der erste Port ist zur Steuerung des 2x16 Zeichen LCD-Displays (wichtig: nur HD44780); der zweite für die Steuerung der LEDs bzw. des Türöffners.

Ansicht des Portottypen
Bild: Ansicht des Prototypen

Die 2. Schnittstelle dient der Ausgabe der LEDs bzw. Betätigen des Türoffners (LPT2-Belegung: PIN 2 = Takt,3 = Tür ,4 Server-OK). Die Konfiguration erfolgt in jeweils in der config.h. Die LEDs an den Ausgängen werden logischerweise über Schalttransistoren angesteuert (Türöffner z.B. über einen BD677. Bitte auch nicht die antiparallele schnelle Diode über den Türöffner vergessen (wichtig!). Als Barcode-Scanner wird z.B. ein "bcrzs" verwendet (bei reichelt "SCANNER BCD 3", CCD Barcodescanner mit seriell Anschlusskabel). Diese sind woanders auch um die 80EUR zu erhalten. Der "Auslöse-Button" wird mit einem normalen Bewegugsmelder ausgelöst (gibt es fertig für wenige EUR zu kaufen; z.b. 12V PIR-Melder Orion bei Conrad).
Auch wenn mehrere Türen zu steuern sind, reicht je Institut ein einziger Serverprozess aus (das Serverprogramm "forkt" sich automatisch, wenn entspr. viele gleichzeitige Anfragen kommen). Wenn verschiedene Institute, dann werden mehrere Serverprozesse gestartet (auf verschiedenen Ports!).

Die Daten bei der Kommunikation werden über ein Passwort verschlüsselt. Zudem erfolgt die Kommunikation über einen Autorisierungskey und über variable Serial-Keys, die für jede Abfrage automatisch generiert werden. Wenn eines von eines von nicht passt, dann wird diese Abfrage verworfen.

Mit Hilfe des IMKDB ist es also möglich allen oder bestimmten Studenten (anhand von "Blockkriterien") der LVs (Lehrveranstaltungen) Türzugang zu erlauben. Man muß also nicht mehr jeden Account einzeln ein- oder austragen bzw. die samba-accounts anlegen (passiert alles automatisch). Die 2x16-er Anzeige zeigt im Falle des Öffnenes der Tür die "altuelle" Gültigkeit der Karte an (also wielange das durch die aktuelle LV-Belegung abgedekt ist) bzw. "Karte nicht gefunden", wenn diese Karte beim entspr. Instutut aktuell nicht eingetragen ist.

Das ist die erste Pre-version, d.h. vermutlich noch nicht 100% fehlerfrei (läuft aber bei uns derzeit noch ohne Beanstandungen ;-) )...
Zum comilieren der C-Files ist unter Debian das Packet "libmysqlclient15-dev" (libmysqlclient) zu installieren.

Die LCD-Routine stammt von Jan Svenungson ; siehe z.b. hier oder hier.
(c) sylvio, imk, unimd