{{Hardware
|kontakt = {{Benutzer|Chrissi^}}, {{Benutzerin|Kenakapheus}}, {{Benutzer|larsan}}
|status = working
|ort = [[Kammer des Schreckens]]
|beschreibung = Kritische Spacetürinfrastruktur
|bild = S0-sorting-hat.jpg
|bildbeschreibung = Der sorting-hat mit einigen angeschlossenen Kabeln 
|usage = 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 [https://gitli.stratum0.org/chrissi/s0-sorting-hat 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 <code>ssh root@s0-basilisk</code> auf den Pi kommst.
* Das [https://gitli.stratum0.org/stratum0/ansible-basilisk ansible-repo] klonen und bei dir mittels <code>./playbook.sh basics.yml</code> 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
* [https://pad.stratum0.org/p/kammerdesschreckens#L116 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.


[[Kategorie:Infrastruktur]]