Basilisk
Aus Stratum 0
Basilisk | |
---|---|
Der sorting-hat mit einigen angeschlossenen Kabeln | |
Beschreibung: | Kritische Spacetürinfrastruktur |
Ort: | Kammer des Schreckens |
Status: | working (Was heißt das?) |
Kontakt: | Chrissi^, Kenakapheus, larsan |
Usage Policy: | do not touch |
Basilisk ist ein Raspberry Pi 3 mit custom Pi-Hat, der diverse Dinge bei der Zugangstechnik zum Space steuert. Basilisk löste dabei im August 2021 die vorherige Installation von Powerberry in der Kammer des Schreckens ab. Hierbei wurden einige historisch gewachsene Strukturen neu aufgesetzt, sodass das ganze etwas übersichtlicher und wartbarer wurde.
Funktionen, derzeit in Betrieb:
- Abgreifen des Klingelsignals, überprüfen des Spacestatus und wenn Entitäten anwesend sind: Drücken des Türsummers für die Haustür
- ssh-Türöffner für die Spacetür, siehe auch StratumKey#SSH-Hack.
Weitere, zum Teil vorbereitete, zum Teil schon halb fertige Funktionen umfassen:
- Überprüfung des Türzustands offen/geschlossen (reed-schalter angeschlossen und verdrahtet)
- Abgreifen und Auslösen des Flurlichts
- Unterscheiden zwischen Klingel unten (Haustür) und Klingel oben (Spacetür), Kabel für Klingel oben schon gelegt
- Announcen von Änderungen via mqtt ins Spacenetz
Aufbau
- Als Basis ein Raspberry Pi 3, kann man leicht austauschen, falls kaputt
- Oben drauf steckt ein Pi-Hat mit Optokopplern, Relais und Klemmterminals s0-sorting-hat
- an dem hat sind alle Ein- und Ausgänge verbunden, u.A. auch die Funkfernbedienung für die Keymatic
- Als System ist ein aktuelles raspi-os auf der SD-Karte
- Die Grundlegenden SSH-Funktionen werden vom Betriebssystem gehändelt und dann in einem shellskript mittels http-request an ein nodered durchgereicht.
- Im Nodered werden die http-requests und gpio-inputs mit den gpio-outputs verdrahtet.
Workflow zur Wiederherstellung
- frisches raspios auf einer frischen SD-Karte aufsetzen
- Das ganze auf einem Pi so konfigurieren, dass du von deinem Rechner aus mittels
ssh root@s0-basilisk
auf den Pi kommst. - Das ansible-repo klonen und bei dir mittels
./playbook.sh basics.yml
ausführen, dies sollte einige Zeit dauern - Ggf hostname und IP-Adresse ändern (letzteres via ansible?) Ggf aufpassen, dass der Pi nicht vorher schon mit zu offenem ssh auf der IP-Adresse von basilisk (192.168.178.6) hängt, da diese zum Teil von außen erreichbar ist.
- Den Nodered-Flow aus dem Repo im Nodered importieren
- weitere Dinge auf dem System fixen, die ggf nochmal so im Ansible mit abgeildet werden sollten, dass das nicht mehr manuell nötig ist
- irgendwie muss zwischendrin noch das stratumkey-keys-repo auf den Pi, am besten aus einem backup und dann neu hincommitten, so ist auch der notwendige post-receive-hook noch am richtigen Ort.