Schlosssystem

Aktives Projekt

Projektstatus: 
Fortschritt:100% Version: 1.0 Anforderungen für 1.1: - Testumgebung, - Effizienteres öffnen, - Netzanschluss

Anforderungen

  • Jedes Vollmitglied soll jederzeit Zugang zum Hackerspace haben ohne sich mit anderen Mitgliedern absprechen zu müssen.
  • Die Benutzung des Schlossystems soll nicht viel komplizierter sein als die Benutzung eines mechanischen Schlüssels.
  • Die Sicherheit soll mit der eines mechanischen Schlosses ebenbürtig sein.
  • Als Backup soll das mechanische Schloss weiterhin funktionsfähig bleiben.
  • Die Zutrittsberechtigung soll jedem Mitglied separat entzogen werden können. Dies soll am Schliessystem direkt gemacht werden können ohne einen „Schlüssel“ einziehen zu müssen.
  • Die Vervielfältigung eines „Schlüssels“ sollte ähnlich schwierig sein wie die Vervielfältigung eines mechanischen Schlüssels

Umsetzung

AKTUELL

Di, 15.07.14

Do, 17.07.14

Do, 04.09.14

SESAM ÖFFNE DICH

Raimund am basteln

HARDWARE

pishield-6.tar_.gz

  • Eine Mechanik welche den Schliesszylinder von innen auf und zudrehen kann. Die Bewegung von Aussen über einen Schlüssel darf dabei nicht blockiert werden.
  • Ein elektrisches Schliessblech (Klickklack™) auf der Höhe des Türfallen- Riegel.
  • Die Mechanik muss die Position der Türfalle detektieren können. Dies ist erforderlich um den Schliessvorgang auszulösen.
  • Die Türfalle aussen wurde durch einen Knauf ersetzt. Dieser ist gegen verdrehen gesichert. Dank der vorhandenen Mechanik kann der Türfallen- Riegel mit dem Schlüssel, der Türfalle innen oder dem Schloss- Drehknopf innen bewegt werden. (als Backup)
  • Das Schlosssystem soll durch Einschalten der äusseren Lampe „scharf“ geschaltet werden. Deshalb brauchen wir ein Relais welches parallel zur Lampe geschaltet wird, womit dem Raspberry Pi der aktuelle Zustand der Lampe mitgeteilt werden kann.
    • Raimunds Vorschlag zufolge soll das Schlosssystem ständig „scharf“ sein und direkt auf Bluetooth- Verbindungen reagieren. Das Relais würde in dieser Version mit dem inneren Licht verbunden wodurch die Türe auch bei unterbrochener Bluetooth- Verbindung offen gehalten resp. bei geschlossener Türe geöffnet werden könnte. Beide Varianten stellen die gleichen Anforderungen an die Hardware und machen nur einen kleinen Unterschied in der Software aus. Die Vor- und Nachteile müssen noch abgewogen und darauf entschieden werden. 
      • HPO gibt zu bedenken, dass es zwingend außen einen Schalter braucht, da mittels einfacher BT presence nicht unterschieden werden kann, ob eine berechtigte Person KOMMT (aufschließen) oder GEHT (abschließen). Auch alle Timeout - Lösungen funktionieren nicht. Und schließlich braucht es fürs UI eine EINDEUTIGE Anzeige, ob abgeschlossen ist. Spnst ist das Ziel Sicherheit nicht erreicht. 
  • Der Zutritt soll per Bluetooth gewährt werden. Dafür wird ein beliebiges Gerät initial mit dem Schlosssystem verbunden. Diese Verbindung gilt als Authentifizierung. Sie kann auf Seite des Schlosses jederzeit bei Bedarf entfernt werden.
  • Als Öffnungs-Event muss die bewusst ausgelöste Kontaktaufnahme genommen werden, damit nicht ab- und gleich wieder aufgeschlossen wird (z.B. auch Disconnect vor der Türe und Re-Connect wenn man am Fenster zum Bus vorbeigeht…) — hans-peter_oeri 2012/12/09 16:50
  • Schlage vor dass die BT Verbindung weiterhin automatisch aufgebaut werden kann. (Alles andere ist, abhängig vom Gerät, unter Umständen recht kompliziert) Zur Absicherung sollten wir dann aber das Signal der Türklinke als Auslöser für die Öffnung verwenden. — werner 2012/12/09 17:07
  • Die Steuerung des Riegel sowie der Bluetooth- Stack wird von einem Embedded Linux System auf einem Raspberry Pi übernommen. Für die Umsetzung der GPIOs auf 12V für den Magnetriegel wurde eine Erweiterungsplatine hergestellt.

VERBESSERUNGSVORSCHLÄGE

Für die nächste Version der Erweiterungsplatine sollten folgende Verbesserungen beachtet werden:

  • Zusätzlich zu den SMD Pads sollten Bohrungen für klassische Bauteile vorgesehen werden. Es gibt genügend Platz auf der Platine für eine doppelte Auslegung.
  • Die Pull-down Widerstände an den Eingängen können wegfallen. Zumindest fällt mir keine Sinnvolle Schaltung damit ein.
  • Die LEDs sollten wenn möglich so geschaltet werden dass
    1. die Platine ohne oder mit defekten LEDs auch funktioniert
    2. die LEDs der Ausgänge auch ohne Verbraucher funktionieren
  • Die Ein- und Ausgänge sollten voneinander getrennt in separaten Steckern vorgesehen werden. (Kurzschlusspotential bei Fehlmanipulation wird dadurch verringert ;-))
  • Sowohl die Ein- als auch die Ausgänge brauchen +12V nebst den geschalteten Leitungen. Die GND Pins können wir uns an der Stelle dagegen sparen.

SOFTWARE

  • Linux
  • BlueZ
  • Programmierung auf Raspberry Pi

SCRIPTE

setup-gpio.sh wird per /etc/rc.local aufgerufen um die GPIOs zu konfigurieren:

#!/bin/bash
 
#inputs
echo "24" > /sys/class/gpio/export
echo "25" > /sys/class/gpio/export
#outputs
echo "18" > /sys/class/gpio/export
echo "23" > /sys/class/gpio/export
 
sleep 1
 
#inputs
echo "in" > /sys/class/gpio/gpio24/direction
echo "in" > /sys/class/gpio/gpio25/direction
#invert values
echo 1 > /sys/class/gpio/gpio24/active_low
echo 1 > /sys/class/gpio/gpio25/active_low
 
#outputs
echo "out" > /sys/class/gpio/gpio18/direction
echo "out" > /sys/class/gpio/gpio23/direction

test.sh kann manuell aufgerufen werden um die Werte der Inputs im Sekundentakt in die Outputs zu schreiben:

#!/bin/bash
 
while :
do
cat /sys/class/gpio/gpio24/value > /sys/class/gpio/gpio18/value
cat /sys/class/gpio/gpio25/value > /sys/class/gpio/gpio23/value
echo "the ultimate infinite enterprise loop"
sleep 1
done

Der Code des Schlosssystems findet sich auf GitHub.

 

SCHLÜSSEL

  • Beliebiges Bluetooth Gerät - das Pairing dient als Authentifikation.



 

IDEENSAMMLUNG

Diese Ideensammlung stammt noch aus den Anfängen. Die aktuellen Ideen stehen bereits oben unter Umsetzung.

  • z.B. mit RFID oder WiFi/SSH oder Codeschloss oder …

Damit Mitglieder immer hinein können und nicht dutzende Schlüssel kopiert werden müssen

Wichtig bei USB Schloss: Die Schnittstelle darf Eingabegeräte nicht akzeptieren. Sonst kann jemand eine Tastatur anschliessen und das Schloss von hinten herum knacken.

  • Schlüsseltresor mit Zifferncode à la „Veloschloss“, kurzfristige Lösung, Probleme Montage und Schlüsselrückruf (Codewechsel unumgänglich), z.B. Migros Do-It-Yourself „ABUS KeyGarage“ Fr. 70)

Christoph:

Bin heute auf Umwegen wieder mal bei ELV gelandet und habe mal dieses
Funkschloss-Nachrüstsystem angesehen, von dem ich schon erzählt hatte.

Das System heisst Key-Matic und gibt es auch in einer
fast-fertig-Bausatz Variante. Kostet mit 110.- Fr. auch weniger als
gedacht:
http://www.elv.ch/output/controller.aspx?cid=74&detail=10&detail2=13254&flv=&bereich=&marke=

Hinweise zur Mongage/Zylinderkompatibilität:
http://www.elv.ch/output/controller.aspx?cid=680&detail=10&detail2=43

Nein, ich möchte nicht ein fix-fertiges Produkt kaufen. Key-Matic
erfüllt auch nur schlecht unsere Ansprüche (z. B. kostet eine
zusätzliche Fernbedienung 26.- Fr.) 
Aber ich würde Vorschlagen, den Schlosskasten (Schlosszylindermontage,
Antrieb, Gehäuse, Möglichkeit des manuellen Öffnens von innen etc.) als
BASIS für unser eigenes Zutrittssystems zu nutzen (Und modifizieren
soweit wie es nötig ist).

 

ALTLASTEN

Der Vollständigkeit halber habe ich mal alles was im aktuellen System nicht mehr gebraucht wird hier hin verschoben.

ALTES PROTOKOLL VOR DER UMSETZUNG PER RASPBERRY PI

Das Kommunikationsprotokoll zwischen Mikrocontroller und Steuerungsrechner ist wir folgt definiert:

  • Textprotokoll über Serielle Schnittstelle.
  • Als Codierung ist ASCII zu verwenden.
  • Das Zeilenende ist LF (\n)
  • Es werden nur Kleinbuchstaben verwendet
  • Die Kommunikation kann von beiden Seiten angestossen werden.
  • Ein Kommunikationsvorgang besteht immer aus einem Befehl und einer Antwort. Die Antwort muss innerhalb von 100 ms gegeben werden. Keine Antwort innerhalb dieser Zeit wird als Fehler gewertet. 
  • Verfügbare Befehle (mit den möglichen Antworten) vom Steuerungsrechner an den Mikrocontroller sind:
Befehl  Beschreibung des Befehls  Antwort  Beschreibung 
open  Schloss Öffnen  unlocked  Es ist bereits offen 
busy  Schliess- oder Öffnungsvorgang im Gange 
error  Der Zustand des Schlosses ist unbekannt / fehlerhaft 
close  Schloss schliessen  locked  Es ist bereits geschlossen 
busy  Schliess- oder Öffnungsvorgang im Gange 
error  Der Zustand des Schlosses ist unbekannt / fehlerhaft 
lockstatus  Den Status des Schlosses abfragen  locked  Das Schloss ist geschlossen 
unlocked  Das Schloss ist offen 
busy  Schliess- oder Öffnungsvorgang im Gange 
error  Der Zustand des Schlosses ist unbekannt / fehlerhaft 
greenledon  Schalte die grüne LED ein  ok  Wurde ausgeführt oder war bereits an 
redledon  Schalte die rote LED ein  ok  Wurde ausgeführt oder war bereits an 
greenledoff  Schalte die grüne LED aus  ok  Wurde ausgeführt oder war bereits aus 
redledoff  Schalte die rote LED aus  ok  Wurde ausgeführt oder war bereits aus 
ledstatus  Den Status der LEDs abfragen  green  Die grüne LED ist eingeschaltet 
red  Die rote LED ist eingeschaltet 
both  Beide LEDs sind eingeschaltet 
none  Keine LED ist eingeschaltet 
  • Verfügbare Befehle (mit den möglichen Antworten) vom Mikrocontroller an den Steuerungsrechner sind:
Befehl  Beschreibung des Befehls  Antwort  Beschreibung 
locked  Das Schloss hat soeben den Schliessvorgang erfolgreich abgeschlossen  ok  Meldung angekommen 
unlocked  Das Schloss hat soeben den Öffnungsvorgang erfolgreich abgeschlossen  ok  Meldung angekommen 
handlesignal  Die Türklinke wurde nach oben gedrückt  ok  Meldung angekommen 
buttonpressed  Der Knopf auf der Innenseite wurde betätigt  ok  Meldung angekommen 
error  Es ist soeben ein Fehler aufgetreten  shit  Meldung angekommen 

ANSCHLUSSMASSE ALTER RUUM

 
SCHLIESSZYLINDER
  • Gewinde: M3
  • Anschluss Durchmesser: 8
  • Flansch Schlüsselweite: 6
  • Flansch Tiefe: 11
  • Aussendurchmesser Flansch am Knauf: 15.1
  • Tiefe Aussendurchmesser Flansch: 4 
TÜRBLENDE
  • Vierkant: 8
  • Dicke Blende: 9.6
  • Dicke Abdeckung: 10.5
  • Breite Blende: 33.6
  • Breite Abdeckung: 32.7
  • Abstand Bolzen: 91.5
  • Lichtmass zu Vierkant: 78.5
  • Durchmesser Loch in Blende unten: 22.4
  • Durchmesser Loch in Blende oben: 26.4
  • Lochabstand in Blende: 94