Türschloss: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(2 intermediate revisions by the same user not shown) | |||
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 37: | Line 37: | ||
</gallery> |
</gallery> |
||
=== 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 '''ab'''geschlossen ist (Anschluss der Lichtschranke via Pogopins). |
|||
<gallery> |
|||
File:Pogo1.jpg|thumb|Pogopin-Kontakte, geöffnet. |
|||
File:Pogo2.jpg|thumb|Pogopin-Kontakte, geschlossen. |
|||
</gallery> |
|||
== Software == |
== Software == |
||
Line 53: | Line 42: | ||
* 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 === |
|||
Siehe [[/Client-Einrichtung]]. |
|||
=== Status-Anzeige === |
=== Status-Anzeige === |
Latest revision as of 18:11, 11 May 2024
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.
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
Siehe /Client-Einrichtung.
Status-Anzeige
Format: JSON
{ "latch": "OPEN|CLOSED|UNKNOWN", "lock": "UNLOCKED|LOCKED|UNKNOWN" }