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!
ssh door2@door2.chaosdorf.space
vim /home/door/sshkeys/{{username}}
/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
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 | 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.