Wie es funktioniert
Ein kurzer Rundgang, damit Einstellungen und Meldungen Sinn ergeben.
Die Teile auf der Box
Abschnitt betitelt „Die Teile auf der Box“- Der Lauschkiste-Dienst spielt die Musik, kennt die Karten und die Bibliothek, steuert Lautstärke und Zeitlimits und
liefert die Webseite aus. Er läuft als Benutzerdienst mit dem Namen
lauschkiste, weil er mit dem Tonsystem deiner Anmelde-Sitzung sprechen muss. - Das Tonsystem (PipeWire) gehört zum aktuellen Raspberry Pi OS. Es lässt viele Arten von Tonhardware gleich funktionieren und erlaubt Lauschkiste, zwischen Ausgängen umzuschalten (Lautsprecher, Bluetooth).
- Die Webseite liefert Lauschkiste selbst aus, ohne zusätzlichen Webserver. Öffne
http://<name>(Port 80) oderhttp://<name>:5556. - Die Befehle
lauschkiste(der Server) undlauschctl(Einrichtung und Verwaltung).
Kern und Plugins
Abschnitt betitelt „Kern und Plugins“Der Kern ist alles, was auf jedem Rechner Sinn ergibt: der Player, die Bibliothek, Karten und die Lesegeräte, Lautstärke, Timer, Zeitlimits und die Webseite. Er ist immer da. Er läuft auf jedem Linux-Computer, nicht nur auf einem Raspberry Pi.
Plugins ergänzen, was von Hardware oder anderen Diensten abhängt: Raspberry-Pi-Unterstützung, Tasten, Akku,
RFID-Lesertreiber, Samba, die Audiobookshelf-Anbindung, Podcast- und Radio-Verzeichnisse. Ein Plugin läuft nur, wenn es
eingeschaltet ist (Einstellungen → Plugins). Startet eines nicht, läuft Lauschkiste weiter; die Webseite und
lauschctl plugin list sagen, warum.
Aktionen
Abschnitt betitelt „Aktionen“Alles, was die Box kann, ist eine Aktion mit einem Namen wie player.toggle oder volume.change_volume. Karten, Tasten,
Timer, die Webseite und „gleiche Karte noch einmal“ lösen Aktionen aus; die Webseite zeigt, welche es gibt, und unter
http://<name>/api/v1/actions stehen sie in einer Liste. Darum kann eine Taste tun, was eine Karte tut.
Ereignisse
Abschnitt betitelt „Ereignisse“Die Box meldet, was passiert, als Ereignisse (player.status, eine Karte wurde gelesen, …). Die Webseite hört sie ab,
darum aktualisiert sie sich von selbst. Für eigene Werkzeuge gibt lauschctl debug sniff sie aus.
Wo es weitergeht
Abschnitt betitelt „Wo es weitergeht“Die Entwickler-Dokumentation (Englisch) erklärt den Code, die Plugin-Schnittstelle und die REST-Schnittstelle.