Spaceportal: Unterschied zwischen den Versionen

K
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 9: Zeile 9:
 
[[Category:Hardware]]
 
[[Category:Hardware]]
 
[[Category:Software]]
 
[[Category:Software]]
 +
[[Category:Infrastruktur]]
  
 
== Beschreibung ==
 
== Beschreibung ==
Zeile 36: Zeile 37:
 
Wer sich mit dem Innenleben näher beschäftigen will, kann das mit diesem PDF: [http://www.techome.de/manuals/65431_Keymatic%20_web.pdf Keymatic Anleitung]
 
Wer sich mit dem Innenleben näher beschäftigen will, kann das mit diesem PDF: [http://www.techome.de/manuals/65431_Keymatic%20_web.pdf Keymatic Anleitung]
  
Den 2-adrigem Schaltdraht haben wir per Akkuschrauber auf 6 Adern gedrillt. Jeweils 2 Adern für Öffnen/Schließen und 2 Adern für die 5V Stromversorgung wurden an der Tür entlang bis zur LSA-Leiste, in den Hausbus geführt.
+
Den 2-adrigem Schaltdraht haben wir per Akkuschrauber auf 6 Adern gedrillt. Jeweils 2 Adern für Öffnen/Schließen und 2 Adern für die 5V Stromversorgung wurden an der Tür entlang bis zur LSA-Leiste, in den [[Hausbus]] geführt.
  
 
=== Spannungsversorgung ===
 
=== Spannungsversorgung ===
Zeile 44: Zeile 45:
 
== py-dooropen ==
 
== py-dooropen ==
  
[[Datei:Spaceportal software.png|right|thumb|320px]]
+
[[Datei:Spaceportal software.png|right|thumb|320px|Softwarearchitektur]]
  
Py-dooropen bietet ein Webinterface, das für die Bedienung an einem Touchscreen optimiert wurde. Es steht ein Eingabefeld für das Passwort, sowie jeweils ein Button zum Öffnen und Schliessen der Tür zur Verfügung. Diese Seite ist nur über das interne WLAN verfügbar. Zur sicheren Übertragung der eingegebenen Daten wird HTTPS verwendet.
+
py-dooropen ist ein in Python geschriebenes Webinterface, das für die Bedienung an einem Touchscreen optimiert wurde. Als HTTP-Library wurde python-flask verwendet. Es steht ein Eingabefeld für das Passwort, sowie jeweils ein Button zum Öffnen und Schliessen der Tür zur Verfügung. Diese Seite ist nur über das interne WLAN verfügbar: [https://door.bckspc.de door.bckspc.de]. Zur sicheren Übertragung der eingegebenen Daten wird HTTPS verwendet.
  
 
Die Applikation ist über uWSGI an den Webserver nginx über einen socket angebunden. Die Authentifizierung des Benutzers erfolgt über eine MySQL-Datenbank, in der die Passwörter gesalted und gehashed interlegt sind.
 
Die Applikation ist über uWSGI an den Webserver nginx über einen socket angebunden. Die Authentifizierung des Benutzers erfolgt über eine MySQL-Datenbank, in der die Passwörter gesalted und gehashed interlegt sind.

Version vom 1. November 2013, 16:10 Uhr

Crystal Clear action run.png
Spaceportal

Status: stable

Backspace door teaser 400.png
Beschreibung Das Tor zu einer anderen Welt
Autor: schinken,bobapple,ptflea
PayPal Spenden für Spaceportal

Beschreibung

Da im Space nur 3 Schlüsselsätze existieren, aber weit über 20 Mitglieder zu verschieden Zeiten anwesend sein wollen, wurde die Schlüsselverwaltung und -beschaffung immer wieder zum Problem.

Deshalb wurde das Spaceportal geschaffen.

Das Spaceportal ist ein Zugangssystem, das über ein Smartphone gesteuert werden kann. Komponenten, wie zum Beispiel das Webrelais und der Hausbus wurden für die Umsetzung verwendet. Das System besteht ausserdem aus einem mechanisierten Schliesszylinder und einen Türsummerkontakt, mit denen die Haus- und Eingangstür geöffnet werden kann.

Das Schliessystem

Die Haustür verfügt über einen Summer, der auf das Telefon der Gegensprechanlage geschalten war. Diesen Kontakt konnten wir zum Öffnen der Haustür weiterverwenden. Für die Eingangstür zum Space haben wir uns für das motorisierte Schliessystem "ABUS HomeTec CFA 1000 Comfort" entschieden, das wir für ca. 35 Euro bei Ebay erstanden haben. Um das System einsetzen zu können, mussten wir den Schliesszylinder austauschen. Einmal muss er zur Befestigung einige Zentimeter aus der Tür herausstehen und er muss die Möglichkeit bieten von Aussen schliessen zu können, wenn Innen ein Schlüssel steckt.

Umbau

Geöffnetes Gehäuse

Für das externe Steuern des Abus-Sytems bietet der Hersteller selbst ein "KeyMatic KM 300 RI Remote Interface" an. Das Remote Interface wird über 4 Adern mit dem Interface verbunden, spricht darüber mit einem eigenen Protokoll und bietet Anschlüsse für das Öffnen/Schliessen der Tür.

Fazit: Viel zu teuer und ausserdem sind wir hier im Hackerspace!

Es lag nahe, die beiliegende Fernbedienung zum Steuern zu verwenden, doch warum über die Fernbedienung um dann per Funk die Hometc zu schalten, wenn wir gleich mit den Kabel ans Gerät können. Ausserdem würden erneut Batterien nötig und eine Funkverbindung ist immer unzuverlässiger als ein Kabel.

Unsere Lösung verwendet die auf der Gehäusevorderseite angebrachten Taster. Das Sytem ist reparaturfreundlich, ein paar Schrauben später hatten wir Zugriff auf die Steuerplatine. Die Taster bestanden nur aus einem Metallplättchen die wir, um an die eigentliche Verbindung zu kommen, entfernt haben. An diese Kontakte haben wir einfachen Schaltdraht angelötet und mit Heißkleber fixiert.

Wer sich mit dem Innenleben näher beschäftigen will, kann das mit diesem PDF: Keymatic Anleitung

Den 2-adrigem Schaltdraht haben wir per Akkuschrauber auf 6 Adern gedrillt. Jeweils 2 Adern für Öffnen/Schließen und 2 Adern für die 5V Stromversorgung wurden an der Tür entlang bis zur LSA-Leiste, in den Hausbus geführt.

Spannungsversorgung

Die normale Versorgungsspannung der Hometec Keymatic beträgt 4,5V (3x AA-Batterien). Wir verwenden die zentrale 5V Spannungsversorgung von unserem Hausbus, das spart Kosten für Batterien und schont die Umwelt.

py-dooropen

Softwarearchitektur

py-dooropen ist ein in Python geschriebenes Webinterface, das für die Bedienung an einem Touchscreen optimiert wurde. Als HTTP-Library wurde python-flask verwendet. Es steht ein Eingabefeld für das Passwort, sowie jeweils ein Button zum Öffnen und Schliessen der Tür zur Verfügung. Diese Seite ist nur über das interne WLAN verfügbar: door.bckspc.de. Zur sicheren Übertragung der eingegebenen Daten wird HTTPS verwendet.

Die Applikation ist über uWSGI an den Webserver nginx über einen socket angebunden. Die Authentifizierung des Benutzers erfolgt über eine MySQL-Datenbank, in der die Passwörter gesalted und gehashed interlegt sind.

Der Code befindet sich hier: github.com

Werden die Zugangsdaten als valide erkannt, werden die Relais in einen gesonderten Thread wie folgt geschalten:

Aufschliessen

  • Relais 2 an
  • 3 Sekunden warten
  • Relais 2 aus
  • Relais 0 an
  • 0.1 Sekunden warten
  • Relais 0 aus

Abschliessen

  • Relais 1 an
  • 0.1 Sekunden warten
  • Relais 1 aus

Auf dem Display erscheint nun die Meldung "Your door should lock now" respektive "Your door should open now"

Protokollierung

Alle Zugangsversuche werden in der Datenbank mit Zeitstempel gespeichert, und sind im internen Netz für jedes Mitglied offen einsehbar.

Webrelais

Die Relais sind mit einem eigenen Benutzer und Passwort geschützt, damit keine andere Applikation diese ansteuern kann. Auch hier findet die Kommunkation zum Webrelais per HTTPS statt, damit die Zugangsdaten nicht mitgeschnitten werden können.

Zum Schalten des Schliesssystems und des Türsummers wurde das Webrelais wie folgt beschalten:

Relais Verwendung
Relais 0 Öffnen des Schliesszylinders
Relais 1 Schliessen des Schliesszylinders
Relais 2 Türsummer

Ausblick

Uns fehlt noch eine Rückmeldung, ob die Tür geschlossen oder offen ist.

Das HomeTec-System verfügt über eine "Comfort-LED", welche durch Blinksignale verschiedene Stati wiedergeben kann. Diese Signale müssten mit einem Arduino oder ähnlichen gesampled werden. Allerdings könnten die Signale ausbleiben, wenn das Schloss mechanisch geschlossen wird. Die Signalbreite und Abfolge muss mit einem Oszilloskop betrachtet werden.

Wir überlegen uns gerade das Problem mit einen Magneten und Reedkontakt zu lösen, da dieser zuverlässiger Aussage darüber treffen kann, ob der Riegel sich in der Falle befindet.

Zum komfortablen Verschließen der Tür werden wir einen Taster an der Innenseite anbringen, der nach Betätigung in 10 Sek. die Tür verriegelt.

Weitere Bilder