Mini-Dokumentation: Analyzer Kiosk auf Raspberry Pi OS 1. Dienste deaktivieren sudo systemctl disable --now lightdm.service sudo systemctl disable --now getty@tty1.service sudo systemctl reset-failed getty@tty1.service 2. systemd neu laden sudo systemctl daemon-reload 3. Benutzer vorbereiten sudo usermod -aG audio,video,input,render analyzer 4. Build-Abhängigkeiten installieren sudo apt-get update sudo apt-get install -y pkg-config libasound2-dev curl ca-certificates git build-essential 5. Projekt nach /home/analyzer/Phoenix kopieren Erwartete Struktur: /home/analyzer/Phoenix/ |- kiosk-start.sh |- session.sh |- www/ |- etc/systemd/system/ | |- analyzer-kiosk.service | `- analyzer-web.service `- target/release/phoenix Hinweis: - Das Binary target/release/phoenix wird bei Bedarf automatisch gebaut. 6. Skripte ausführbar machen sudo chmod 755 /home/analyzer/Phoenix/session.sh sudo chmod 755 /home/analyzer/Phoenix/kiosk-start.sh 7. systemd-Units installieren sudo cp /home/analyzer/Phoenix/etc/systemd/system/analyzer-kiosk.service /etc/systemd/system/ sudo cp /home/analyzer/Phoenix/etc/systemd/system/analyzer-web.service /etc/systemd/system/ sudo systemctl daemon-reload 8. Dienste aktivieren sudo systemctl enable analyzer-web.service sudo systemctl enable analyzer-kiosk.service 9. Dienste starten sudo systemctl restart analyzer-web.service sudo systemctl restart analyzer-kiosk.service 10. Prüfen sudo systemctl status analyzer-web.service --no-pager sudo systemctl status analyzer-kiosk.service --no-pager sudo systemctl cat analyzer-kiosk.service sudo systemctl cat analyzer-web.service tail -n 80 /home/analyzer/analyzer-kiosk.log Erwartet: - Webserver läuft auf Port 80 - Kiosk startet über kiosk-start.sh - GUI lokal unter http://localhost/ - Phoenix unter http://:8789 11. Erster Start / Update - Wenn target/release/phoenix fehlt oder der Rust-Code neuer ist, baut kiosk-start.sh automatisch neu. - Falls cargo/rustc fehlen oder das System-Rust zu alt ist, versucht kiosk-start.sh eine aktuelle Rust-Toolchain per rustup zu installieren. - Zusätzlich installiert das Startskript Build-Abhängigkeiten wie pkg-config, libasound2-dev, curl, git und build-essential per apt. - Ohne pkg-config und libasound2-dev schlägt der ALSA-Rust-Build mit `alsa-sys`/`alsa.pc not found` fehl. - Mit sehr altem Debian-/Volumio-Rust (`rustc 1.63` o.ä.) schlägt der Build an neueren Crates fehl; deshalb nutzt Phoenix bei Bedarf rustup/stable. - Währenddessen erscheint die Meldung auf tty1, erst danach startet X/Chromium. 12. Externer Zugriff - GUI: http:/// - Phoenix: http://:8789 13. Referenz-Global-Config setzen Analyzer: ```bash mkdir -p /home/analyzer/.config/phoenix cp /home/analyzer/Phoenix/reference-config/phoenix-global-config.analyzer.json /home/analyzer/.config/phoenix/global-config.json ``` Volumio: ```bash mkdir -p /home/volumio/.config/phoenix cp /home/volumio/Phoenix/reference-config/phoenix-global-config.volumio.json /home/volumio/.config/phoenix/global-config.json ``` Danach Phoenix bzw. den Kiosk-Dienst neu starten. 14. Analyzer vs. Volumio Analyzer: - Pfad: `/home/analyzer/Phoenix` - Webserver: `:80` - GUI lokal: `http://localhost/` - Kiosk-Session: `session.sh` Volumio: - Pfad: `/home/volumio/Phoenix` - Analyzer-Webserver: `:8088` - Analyzer-GUI lokal: `http://localhost:8088/` - Volumio intern: `http://localhost:3000/` - Kiosk-Session: `session_volumio.sh` - `toggle-ext`: `/home/volumio/Phoenix/toggle-ext` Wichtig - Diese Anleitung geht von Benutzer analyzer und Pfad /home/analyzer/Phoenix aus. - Wenn Benutzer oder Home anders heißen, müssen die Pfade in analyzer-kiosk.service und analyzer-web.service angepasst werden.