Host:Door2: Difference between revisions

From Chaosdorf Wiki
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Host
{{Host
|name=door2
|name=door2
|description=door2
|description=door2.chaosdorf.space
|image=
|image=
|os=Raspian 11 (bullseye)
|os=Raspian 11 (bullseye)
|location=Seminarraum
|location=Seminarraum
|purpose=alternative Türöffnung
|purpose=Türöffnung per SSH
|disk=
|disk=
|ram=
|ram=
Line 23: Line 23:


== Benutzung ==
== Benutzung ==
Der ssh-Service richtet sich an Clubmember. Member können sich von Wesen (derzeit {{u|dfjera}}) ein ssh-Key eintragen lassen. Der Zugriff ist dann aus dem Dorf-Wifi möglich.
Der ssh-Service richtet sich an Clubmember. Member können sich von Wesen (derzeit {{u|dfjera}}, {{u|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)
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:


<code>ssh door@door2 open</code>
<code>ssh door@door2.chaosdorf.space open</code>
 
'''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.
Hinweis: während einer laufenden Türöffnung werden weitere Öffnungsbefehle ignoriert.
Die Nutzung auf einem Smartphone ist z.B. mittels der App [https://github.com/mwarning/trigger „Trigger“] vergleichsweise einfach möglich.
=== Adminhinweise: User/Key hinzufügen ===
<code>door2</code> ist der Adminaccount, <code>door</code> der User zur Türsteuerung!
# <code>ssh door2@door2.chaosdorf.space</code>
# <code>vim /home/door/sshkeys/<nowiki>{{username}}</nowiki></code>
# <code>/usr/local/doorcontrol/generateAuthorizedKeys.sh</code> (generiert /home/door/.ssh/authorized_keys neu)


== Hardware ==
== Hardware ==
Line 37: Line 49:
=== Arduino-Inputs ===
=== Arduino-Inputs ===


Via USB (im Regelfall ''/dev/ttyUSB0'') mit 57600 Baud.
Via USB (im Regelfall <tt>/dev/ttyUSB0</tt>) mit 57600 Baud.


* ''oO'' Summer der Außentür für etwa 5 Sekunden betätigen
* <tt>oO</tt> Summer der Außentür für etwa 5 Sekunden betätigen
* ''iI'' Summer der Innentür für etwa 5 Sekunden betätigen.
* <tt>iI</tt> 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.
Die Zeichenfolgen (<tt>oO</tt> bzw. <tt>iI</tt>) 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 ===
=== Arduino-Outputs ===


PB3  
{| class="wikitable"
|+ 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) ===
=== Alte Fassung (RasPi-GPIOs) ===

Latest revision as of 13:57, 8 January 2024

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[edit source]

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[edit source]

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[edit source]

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

Arduino-Inputs[edit source]

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[edit source]

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)[edit source]

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[edit source]

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

  • Klingel-mqtt-Gateway
  • Signalinput von NZ300

Abgrenzung door2, ACS, NZ[edit source]

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.