Türschloss: Difference between revisions

From CCC Basel Wiki
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. 4) wurde entfernt. Lötarbeiten sind nicht notwendig, der Chip lässt sich einfach mit einem Seitenschneider vom PCB trennen.
# 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> &rarr; öffnet das Schloss
** <code>ssh open@<door></code> &rarr; öffnet das Schloss
** ssh close@<door> &rarr; schliesst das Schloss
** <code>ssh close@<door></code> &rarr; schliesst das Schloss
** ssh status@<door> &rarr; Status-Abfrage des Schlosses
** <code>ssh status@<door></code> &rarr; Status-Abfrage des Schlosses
* Ansteuerung via SSH (Alternative für Kompatibilität mit der «Trigger»-App)
** <code>ssh door@<door> open</code> &rarr; öffnet das Schloss
** <code>ssh door@<door> close</code> &rarr; schliesst das Schloss
** <code>ssh door@<door> status</code> &rarr; Status-Abfrage des Schlosses
* Ansteuerung via TLS Client Certificate + HTTP cgi-bin
* Ansteuerung via TLS Client Certificate + HTTP cgi-bin
** https://<door>/door/open &rarr; öffnet das Schloss
** <code>https://<door>/door/open.py</code> &rarr; öffnet das Schloss
** https://<door>/door/close &rarr; schliesst das Schloss
** <code>https://<door>/door/close.py</code> &rarr; schliesst das Schloss
** https://<door>/door/status &rarr; Status-Abfrage des Schlosses
** <code>https://<door>/door/status.py</code> &rarr; 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

  1. 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.
  2. 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 Schloss
    • ssh close@<door> → schliesst das Schloss
    • ssh status@<door> → Status-Abfrage des Schlosses
  • Ansteuerung via SSH (Alternative für Kompatibilität mit der «Trigger»-App)
    • ssh door@<door> open → öffnet das Schloss
    • ssh door@<door> close → schliesst das Schloss
    • ssh door@<door> status → Status-Abfrage des Schlosses
  • Ansteuerung via TLS Client Certificate + HTTP cgi-bin
    • https://<door>/door/open.py → öffnet das Schloss
    • https://<door>/door/close.py → schliesst das Schloss
    • https://<door>/door/status.py → Status-Abfrage des Schlosses

Clients

Siehe /Client-Einrichtung.

Status-Anzeige

Format: JSON

{
  "latch": "OPEN|CLOSED|UNKNOWN",
  "lock": "UNLOCKED|LOCKED|UNKNOWN"
}