Host:Door2

From Chaosdorf Wiki
Revision as of 13:57, 8 January 2024 by Haris (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
door2
door2.chaosdorf.space
Ort Seminarraum
Zweck Türöffnung per SSH
OS Raspian 11 (bullseye)
Admin-Toolkit No
Besitzstatus Leihgabe
Benutzung Nachfragen
Admins dfjera
NetBox ID 123


door2 ist ein System zur Öffnung der Tür/Schließmechanismus via ssh-Zugang.

  • release-candidate-Status
  • Quellcode (z.Z. nicht-öffentlich)

Benutzung

Der ssh-Service richtet sich an Clubmember. Member können sich von Wesen (derzeit dfjera, derf) ein ssh-Key eintragen lassen. Der Zugriff ist dann aus dem Dorf-Wifi möglich.

Nach Verbindung stehen verschiedene Befehle bereit. Mittels open kann die Türöffnungssequenz gestartet werden (Ablauf/Timinig ähnlich iButton-Nutzung). Dieser Befehl kann natürlich direkt übergeben werden:

ssh door@door2.chaosdorf.space open

Achtung, der Username ist "door" ohne Ziffer, der Hostname hingegen "door2" mit Ziffer.

Hinweis: während einer laufenden Türöffnung werden weitere Öffnungsbefehle ignoriert.

Die Nutzung auf einem Smartphone ist z.B. mittels der App „Trigger“ vergleichsweise einfach möglich.

Adminhinweise: User/Key hinzufügen

door2 ist der Adminaccount, door der User zur Türsteuerung!

  1. ssh door2@door2.chaosdorf.space
  2. vim /home/door/sshkeys/{{username}}
  3. /usr/local/doorcontrol/generateAuthorizedKeys.sh (generiert /home/door/.ssh/authorized_keys neu)

Hardware

Die Türöffnung wird per Raspberry Pi → Arduino Nano → Optokoppler-Inputs eines Relaisboards (im ACS-Gehäuse) → Türsummer durchgeführt.

Arduino-Inputs

Via USB (im Regelfall /dev/ttyUSB0) mit 57600 Baud.

  • oO Summer der Außentür für etwa 5 Sekunden betätigen
  • iI Summer der Innentür für etwa 5 Sekunden betätigen.

Die Zeichenfolgen (oO bzw. iI) müssen innerhalb von maximal einer Sekunde eingegeben werden, andernfalls geht der Arduino von einem Übertragungsfehler aus. Bei Hardwarefehlern führt ein Watchdog einen Reset aus.

Arduino-Outputs

Pin-Layout
Seite SW Seite Arduino HW Seite Relay Funktion Relay
AVR PB3 Arduino D11 weißes Kabel Öffner außen (Haustür zur Straße)
AVR PB4 Arduino D12 gelbes Kabel Öffner innen (Clubraumtür zum Hausflur)
AVR PB2 Arduino D10 (unbelegt - für zukünftige Anwendungen am Arduino vorbereitet)

Die Outputs werden jeweils über einen 68Ω-Widerstand mit 5V geschaltet und verfügen zusätzlich über 10kΩ Pull-Down-Widerstände.

Alte Fassung (RasPi-GPIOs)

Die GPIO-Pins des Pi's wurden in einer älteren Fassung wie folgt genutzt:

PIN-Layout
Pin Usage Cable-Identification destination
39 GND brown -> black GND relay
40 (GPIO 21) output red -> white relay outside door
38 (GPIO 20) output orange/yellow -> yellow relay inside door

Die Kabel von 39,40,38 führten zu einer Zwischenplatine mit je einem 1kΩ Pull-down-Widerstand auf GND und von dort aus zu dem Schaltrelaisboard mit Optokopplern, an welches erst die Haus-Türöffner angebunden sind. Das Relaisboard erhält seine Stromversorgung vom ACS.

Weiterentwicklung

Es ist möglich weitere Pins für andere Funktionen zu Verwenden. Ideen:

  • Klingel-mqtt-Gateway
  • Signalinput von NZ300

Abgrenzung door2, ACS, NZ

Die Aufteilung und Zuständigkeit der Systeme im aktuellen de-facto-Zustand ist nicht ganz klar dokumentiert.

  • Die Ansteuerung der Türöffner passiert via Relays, diese sind formal nicht Teil des ACS.
  • Das ACS macht nur die Klingel und iButton-Funktionalität und steuert dann die Relays an.
  • Das NZ signalisiert nach Input von ACS die Klingel.
  • door2 stellt ein ssh-Service bereit, über den auch die Tür-Relais angesteuert werden können.