Türschloss: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
=== Türschlossantrieb === |
=== Türschlossantrieb === |
||
# Das Bluetooth-Modul (zu sehen in Abb. |
# Das Bluetooth-Modul (zu sehen in Abb. 5) 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: |
# An die folgenden Testpads wurden Drähte angelötet und ins Batteriefach geführt: |
||
#* MP10 (Taster «Öffnen») |
#* MP10 (Taster «Öffnen») |
||
Line 53: | Line 53: | ||
* Python-Skript zum öffnen/schliessen via Raspi-GPIO-Pins |
* Python-Skript zum öffnen/schliessen via Raspi-GPIO-Pins |
||
* Ansteuerung via SSH Pubkey + ForceCommand |
* Ansteuerung via SSH Pubkey + ForceCommand |
||
** ssh open@<door> → öffnet das Schloss |
** <code>ssh open@<door></code> → öffnet das Schloss |
||
** ssh close@<door> → schliesst das Schloss |
** <code>ssh close@<door></code> → schliesst das Schloss |
||
** ssh status@<door> → Status-Abfrage des Schlosses |
** <code>ssh status@<door></code> → Status-Abfrage des Schlosses |
||
* Ansteuerung via SSH (Alternative für Kompatibilität mit der «Trigger»-App) |
|||
** <code>ssh door@<door> open</code> → öffnet das Schloss |
|||
** <code>ssh door@<door> close</code> → schliesst das Schloss |
|||
** <code>ssh door@<door> status</code> → Status-Abfrage des Schlosses |
|||
* Ansteuerung via TLS Client Certificate + HTTP cgi-bin |
* Ansteuerung via TLS Client Certificate + HTTP cgi-bin |
||
** https://<door>/door/open → öffnet das Schloss |
** <code>https://<door>/door/open.py</code> → öffnet das Schloss |
||
** https://<door>/door/close → schliesst das Schloss |
** <code>https://<door>/door/close.py</code> → schliesst das Schloss |
||
** https://<door>/door/status → Status-Abfrage des Schlosses |
** <code>https://<door>/door/status.py</code> → Status-Abfrage des Schlosses |
||
=== Clients === |
|||
{|class="wikitable" |
|||
! Name |
|||
! Plattform |
|||
! Installation |
|||
|- |
|||
| Trigger |
|||
| Android |
|||
| [https://f-droid.org/en/packages/com.example.trigger/ F-Droid] [https://github.com/mwarning/trigger GitHub] |
|||
|} |
|||
=== Status-Anzeige === |
=== Status-Anzeige === |
Revision as of 20:07, 20 September 2020
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. 5) 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)
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.
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).
Software
- Python-Skript zum öffnen/schliessen via Raspi-GPIO-Pins
- Ansteuerung via SSH Pubkey + ForceCommand
ssh open@<door>
→ öffnet das Schlossssh close@<door>
→ schliesst das Schlossssh status@<door>
→ Status-Abfrage des Schlosses
- Ansteuerung via SSH (Alternative für Kompatibilität mit der «Trigger»-App)
ssh door@<door> open
→ öffnet das Schlossssh door@<door> close
→ schliesst das Schlossssh door@<door> status
→ Status-Abfrage des Schlosses
- Ansteuerung via TLS Client Certificate + HTTP cgi-bin
https://<door>/door/open.py
→ öffnet das Schlosshttps://<door>/door/close.py
→ schliesst das Schlosshttps://<door>/door/status.py
→ Status-Abfrage des Schlosses
Clients
Name | Plattform | Installation |
---|---|---|
Trigger | Android | F-Droid GitHub |
Status-Anzeige
Format: JSON
{ "latch": "OPEN|CLOSED|UNKNOWN", "lock": "UNLOCKED|LOCKED|UNKNOWN" }