Türschloss
Hardware
- Raspberry Pi Zero W
- «Eqiva BLUETOOTH SMART» Türschlossantrieb
- Lichtschranke im Türrahmen
- Pogopin-«Kontaktsensor»
Türschlossantrieb
- Das Bluetooth-Modul (zu sehen in Abb. 4) wurde entfernt. Lötarbeiten sind nicht notwendig, der Chip lässt sich einfach mit einem Seitenschneider vom PCB trennen.
- An die folgenden Testpads wurden Drähte angelötet und ins Batteriefach geführt:
- MP10 (Taster «Öffnen»)
- MP11 (Taster «Schliessen)
- MP16 (GND)
- MP17 (Vcc)
-
Der unmodifizierte Türschlossantrieb mit 2 Knöpfen und einem sehr unhandlichen Knauf zur manuellen Bedienung.
-
Detailansicht des Teils, der über das bestehende Schloss mit Schlüssel gesteckt wird.
-
Der Türschlossantrieb mit entfernter Abdeckung.
-
Detailansicht der PCB-Vorderseite, im Gehäuse eingebaut und mit den anderen Komponenten verbunden.
-
Detailansicht der PCB-Rückseite, besonders prominent sind hier der Microcontroller sowie das Bluetooth-Modul.
-
Detailansicht des mechanischen Aufbaus.
-
Drähte werden aus dem Innenraum in das Batteriefach geführt, und von dort weiter nach aussen.
-
Experimentelles Setups aus modifiziertem Türschlossantrieb, einem Raspberry Pi und 2 MOSFETs.
Lichtschranke
- Die beiden Lichtschrankenteile wurden in einer 3D-gedruckte Halterung befestigt.
- Die Halterung wurde durch das Loch für den Riegel in den Rahmen geführt und von aussen durch bereits existierende Löcher mit Schrauben befestigt.
- Die Kabel der Lichtschranke wurden durch ein ebenfalls bereits existierendes Loch nach aussen geführt.
-
Eine Hälfte der Lichtschranke, innerhalb des Türrahmens montiert.
Kontaktsensor
- Der Kontakt zwischen Tür und Rahmen wird mittels 4 Pogopins realisiert.
- Die 4 Kontakte erfüllen 2 Zwecke:
- Erkennen, ob die Tür geschlossen ist (Pogopin-Kontakt).
- Erkennen, ob die Tür abgeschlossen ist (Anschluss der Lichtschranke via Pogopins).
-
Pogopin-Kontakte, geöffnet.
-
Pogopin-Kontakte, geschlossen.
Software
- Python-Skript zum öffnen/schliessen via Raspi-GPIO-Pins
- Ansteuerung via SSH Pubkey + ForceCommand
- ssh open@<door> → öffnet das Schloss
- ssh close@<door> → schliesst das Schloss
- ssh status@<door> → Status-Abfrage des Schlosses
- Ansteuerung via TLS Client Certificate + HTTP cgi-bin
- https://<door>/door/open → öffnet das Schloss
- https://<door>/door/close → schliesst das Schloss
- https://<door>/door/status → Status-Abfrage des Schlosses
Status-Anzeige
Format: JSON
{ "latch": "OPEN|CLOSED|UNKNOWN", "lock": "UNLOCKED|LOCKED|UNKNOWN" }