Spaceportal: Unterschied zwischen den Versionen
K (→py-dooropen) |
|||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 37: | 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 47: | Zeile 47: | ||
[[Datei:Spaceportal software.png|right|thumb|320px|Softwarearchitektur]] | [[Datei:Spaceportal software.png|right|thumb|320px|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: [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 | + | 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 hinterlegt sind. |
Der Code befindet sich hier: [https://github.com/Schinken/bckspc-dooropen github.com] | Der Code befindet sich hier: [https://github.com/Schinken/bckspc-dooropen github.com] |
Aktuelle Version vom 10. Juli 2024, 00:09 Uhr
Spaceportal Status: stable | |
---|---|
![]() | |
Beschreibung | Das Tor zu einer anderen Welt |
Autor: | schinken,bobapple,ptflea |
PayPal | ![]() |
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
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
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 hinterlegt 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.