- Shell 100%
--aspect-ratio=16:9 ergaenzt. Der Thermalkanal liefert 4:3 (1280x960), der TV ist 16:9 - ohne die Option blieben links und rechts schwarze Balken. Bewusste Abwaegung: Strecken verzerrt um 33 % horizontal, behaelt aber den ganzen Bildinhalt. Die Alternative --crop=16:9 waere unverzerrt, wuerde aber oben und unten je 12,5 % abschneiden und damit den unteren Werkbankbereich treffen, der bei einer Waermebildueberwachung inhaltlich zaehlt. Ergebnis gegengeprueft ueber den Sichtkanal, der den Fernseher mitfilmt: Die Balken sind weg, das Bild fuellt die Breite. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .gitignore | ||
| cec-keepalive.service | ||
| cec-keepalive.timer | ||
| countdown.sh | ||
| daily-shutdown | ||
| README.md | ||
| setup-sd-protection.sh | ||
| SKILL.md | ||
| start_stream.sh | ||
| stream-watchdog.service | ||
| stream-watchdog.sh | ||
| stream-watchdog.timer | ||
| stream.service | ||
| tv-shutdown.sudoers | ||
| tvdown | ||
Werkstattkamera
Raspberry Pi, der per HDMI den RTSP-Stream der Werkstatt-Kamera auf einem TV anzeigt. Dieses Repo enthält die Konfigurations- und Wartungsdateien für den Pi.
Ein Raspberry Pi (Debian 13 trixie, arm64) spielt beim Boot ohne X11 via VLC mit DRM/KMS-Videoausgabe einen RTSP-Stream ab. Ergänzt um TV-Steuerung per CEC, SD-Karten-Schutz und einen täglichen, sauberen Shutdown mit Countdown-Overlay.
Hardware & Netzwerk
- Pi-Hostname / User:
tv(UID 1000), SSH aktiv —ssh tv@192.168.178.51 - Pi-IP:
192.168.178.51(statisch, Gateway.1) - Kamera: Dahua RTSP,
192.168.178.50:554(Channel 2, Subtype 1) - WiFi: SSID
Netgear7490, NetworkManager + netplan (90-NM-*.yaml) - Video:
dtoverlay=vc4-kms-v3d, VLC mit--vout=drm_vout --avcodec-hw=drm
Hinweis zu Zugangsdaten: Die RTSP-URL inkl. Passwort steht sowohl in
SKILL.mdals auch instart_stream.sh. Vor einem Roll-out auf weitere Geräte ggf. in eine (git-ignorierte) Config auslagern. Das WLAN-Passwort liegt nicht im Repo — es steht nur auf dem Pi in der netplan-Datei.
Dateien
| Datei | Zweck |
|---|---|
SKILL.md |
Vollständige Doku (Hardware, Services, Diagnose, bekannte Probleme). Dient zugleich als Claude-Code-Skill. |
setup-sd-protection.sh |
Einmal-Setup auf dem Pi: journald→RAM, tmpfs für /tmp, noatime, Swap aus, täglicher Shutdown. |
daily-shutdown |
Cron-Job (/etc/cron.d/): Countdown starten Mo–Do 15:48, Fr 11:48. |
countdown.sh |
Schreibt sekundengenauen 10-Min-Countdown in /tmp/countdown.txt (VLC-Overlay), dann shutdown (Mo–Do 15:58, Fr 11:58). |
cec-keepalive.service / .timer |
Hält den TV per CEC wach (alle 5 Min „Active Source"). |
start_stream.sh |
VLC-Start mit DRM-Ausgabe, CEC-Einschaltung, Reconnect-Schleife (/home/tv/). |
stream.service |
Systemd-Unit für den Stream, Ausgabe auf /dev/tty1. |
stream-watchdog.sh / .service / .timer |
Prüft alle 2 Min die TCP-Verbindung zur Kamera, startet stream.service sonst neu. |
tvdown |
Läuft auf m13, nicht auf dem Pi. Fährt den Pi per SSH mit Countdown-Overlay herunter. |
tv-shutdown.sudoers |
Nach /etc/sudoers.d/tv-shutdown: erlaubt User tv den Shutdown ohne Passwort. |
Installation auf dem Pi
# SD-Schutz & täglicher Shutdown (einmalig, als root)
sudo bash setup-sd-protection.sh
# Countdown-Shutdown per Cron
sudo cp daily-shutdown /etc/cron.d/daily-shutdown
sudo chmod 644 /etc/cron.d/daily-shutdown
sudo cp countdown.sh /home/tv/countdown.sh
# CEC-Keepalive
sudo cp cec-keepalive.service cec-keepalive.timer /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now cec-keepalive.timer
# Stream + Watchdog
sudo cp start_stream.sh stream-watchdog.sh /home/tv/
sudo chmod 755 /home/tv/start_stream.sh /home/tv/stream-watchdog.sh
sudo cp stream.service stream-watchdog.service stream-watchdog.timer /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now stream.service stream-watchdog.timer
Nach dem Kopieren von
daily-shutdownprüfen:wc -l /etc/cron.d/daily-shutdownmuss8ergeben. Steht dort1, sind die Zeilenumbrüche verlorengegangen und der Freitags-Shutdown läuft nicht (sieheSKILL.md).
Manuelles Herunterfahren per tvdown
Am Pi hängt keine Tastatur. Von m13 aus:
tvdown # 10 s Countdown auf dem TV, dann sauberer Shutdown
tvdown 30 # 30 s Countdown
tvdown -c # Countdown abbrechen, Pi bleibt an
Einrichtung auf m13 (einmalig):
ln -sf "$PWD/tvdown" ~/.local/bin/tvdown
Einrichtung auf dem Pi (einmalig):
# SSH-Key von m13 hinterlegen
ssh-copy-id tv@192.168.178.51
# Shutdown ohne Passwort erlauben
sudo cp tv-shutdown.sudoers /etc/sudoers.d/tv-shutdown
sudo chown root:root /etc/sudoers.d/tv-shutdown
sudo chmod 440 /etc/sudoers.d/tv-shutdown
sudo visudo -cf /etc/sudoers.d/tv-shutdown # muss "parsed OK" melden
Diagnose (auf dem Pi via SSH)
systemctl status stream.service
journalctl -u stream.service -f
systemctl list-timers cec-keepalive.timer
nmcli device wifi list
ping 192.168.178.50
Details und bekannte Probleme siehe SKILL.md.