7.4 KiB
7.4 KiB
Raspberry Pi Kiosk-Optimierungen
Übersicht
Das MYP Installationsskript wurde mit umfassenden Raspberry Pi spezifischen Optimierungen erweitert, basierend auf bewährten Praktiken aus der Community.
Quellen und Referenzen
- Marco Pascucci - rPI Kiosk Tutorial
- Thomas Krampe - Raspberry Pi Web-Kiosk
- Raspberry Pi Foundation Best Practices
- Community-erprobte Kiosk-Konfigurationen
Implementierte Optimierungen
1. Boot-Konfiguration (/boot/config.txt
)
# GPU Memory Split für bessere Browser-Performance
gpu_mem=128
# Disable Rainbow Splash für professionelles Erscheinungsbild
disable_splash=1
# HDMI Force Hotplug für bessere Display-Kompatibilität
hdmi_force_hotplug=1
# Disable Overscan für Kiosk-Displays
disable_overscan=1
# Audio über HDMI aktivieren
hdmi_drive=2
Vorteile:
- ✅ Bessere Chromium-Performance durch mehr GPU-Speicher
- ✅ Professioneller Boot ohne Raspberry Pi Logo
- ✅ Zuverlässige HDMI-Erkennung
- ✅ Vollbild-Nutzung ohne schwarze Ränder
2. Kernel-Parameter (/boot/cmdline.txt
)
# Console Blanking deaktivieren
consoleblank=0
# Logo deaktivieren für schnelleren Boot
logo.nologo
# Quiet Boot für saubere Kiosk-Erfahrung
quiet
Vorteile:
- ✅ Bildschirm bleibt immer aktiv
- ✅ Schnellerer Boot-Prozess
- ✅ Keine störenden Boot-Meldungen
3. WLAN Power Management
Systemd-Service
# Automatische Deaktivierung bei jedem Boot
systemctl enable disable-wifi-power-management.service
NetworkManager-Konfiguration
# Globale WLAN Power Save Deaktivierung
wifi.powersave = 2
Problem gelöst:
- ❌
wlan0: carrier lost
Fehler - ❌ Intermittierende Netzwerkverbindung
- ❌ Kiosk-Unterbrechungen durch WLAN-Standby
4. Erweiterte Chromium-Optimierungen
Raspberry Pi spezifische Flags
--disable-gpu-compositing
--enable-gpu-rasterization
--disable-smooth-scrolling
--disable-2d-canvas-image-chromium
--disable-accelerated-2d-canvas
--num-raster-threads=2
--enable-zero-copy
--force-device-scale-factor=1.0
--disable-pinch
--overscroll-history-navigation=0
Chromium-Richtlinien (/etc/chromium-browser/policies/managed/
)
{
"DefaultBrowserSettingEnabled": false,
"BackgroundModeEnabled": false,
"BookmarkBarEnabled": false,
"BrowserSignin": 0,
"DefaultNotificationsSetting": 2,
"PasswordManagerEnabled": false,
"TranslateEnabled": false,
"MetricsReportingEnabled": false
}
Vorteile:
- ✅ Optimierte Performance auf ARM-Hardware
- ✅ Reduzierte CPU/GPU-Last
- ✅ Deaktivierte störende Browser-Features
- ✅ Kiosk-optimierte Benutzeroberfläche
5. Crash-Recovery-System
Chromium Restart-Loop
while true; do
chromium-browser [flags] "$KIOSK_URL"
EXIT_CODE=$?
# Bei normalem Exit nicht neustarten
if [ $EXIT_CODE -eq 0 ] || [ $EXIT_CODE -eq 15 ]; then
break
fi
# Bei Crash: Neustart nach 3 Sekunden
sleep 3
pkill -f chromium
done
Chromium Preferences Bereinigung
# Crash-Flags vor jedem Start bereinigen
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' Preferences
Vorteile:
- ✅ Automatischer Neustart bei Browser-Crashes
- ✅ Keine "Chromium didn't shut down correctly" Meldungen
- ✅ Unterbrechungsfreier Kiosk-Betrieb
6. Temperatur-Monitoring
Automatisches Monitoring
# Alle 5 Minuten Temperatur-Check
*/5 * * * * root /usr/local/bin/pi-temp-check
Warnungen und Logging
- 70°C+: Warnung in Logs
- 80°C+: Kritische Warnung + Syslog
- Kontinuierliche Aufzeichnung in
/var/log/pi-temperature.log
Vorteile:
- ✅ Frühwarnung bei Überhitzung
- ✅ Präventive Wartung möglich
- ✅ Langzeit-Temperaturverlauf
7. Performance-Optimierungen
Kernel-Parameter
# Swappiness reduzieren
vm.swappiness=10
# Dirty Ratio optimieren
vm.dirty_ratio=15
vm.dirty_background_ratio=5
Hardware-Erkennung
# Automatische Pi-Erkennung
if grep -q "Raspberry Pi" /proc/cpuinfo; then
# Pi-spezifische Optimierungen aktivieren
fi
Vorteile:
- ✅ Bessere I/O-Performance
- ✅ Reduzierte SD-Karten-Belastung
- ✅ Optimierte Speicherverwaltung
8. Multiple Autostart-Methoden
1. LXDE Autostart (Klassisch)
# ~/.config/lxsession/LXDE-pi/autostart
@bash /home/kiosk/start-kiosk.sh
2. Desktop Autostart (Modern)
# ~/.config/autostart/myp-kiosk.desktop
[Desktop Entry]
Type=Application
Exec=/bin/bash /home/kiosk/start-kiosk.sh
3. Systemd Service (Robust)
# /lib/systemd/system/kiosk.service
[Service]
ExecStart=/bin/bash /home/kiosk/start-kiosk.sh
Vorteile:
- ✅ Mehrfache Absicherung
- ✅ Kompatibilität mit verschiedenen Desktop-Umgebungen
- ✅ Fallback-Mechanismen
9. Energiesparmodus-Deaktivierung
X-Server Level
# LightDM Konfiguration
xserver-command=X -s 0 -dpms
systemd-logind Level
# Alle Power-Events ignorieren
HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleLidSwitch=ignore
IdleAction=ignore
Application Level
# In Kiosk-Skript
xset s off
xset s noblank
xset -dpms
Vorteile:
- ✅ Bildschirm bleibt permanent aktiv
- ✅ Keine ungewollten Standby-Modi
- ✅ 24/7 Kiosk-Betrieb möglich
Wartung und Monitoring
Neue Wartungstools
# Raspberry Pi spezifische Checks
myp-maintenance check-health
# Temperatur-Monitoring
tail -f /var/log/pi-temperature.log
# WLAN Power Management Status
iwconfig wlan0 | grep "Power Management"
Troubleshooting
WLAN-Probleme
# WLAN Power Save manuell deaktivieren
sudo iwconfig wlan0 power off
# NetworkManager neu starten
sudo systemctl restart NetworkManager
Performance-Probleme
# GPU Memory Check
vcgencmd get_mem gpu
# Temperatur Check
vcgencmd measure_temp
# Chromium-Prozesse prüfen
ps aux | grep chromium
Display-Probleme
# HDMI-Status prüfen
tvservice -s
# X-Server neu starten
sudo systemctl restart lightdm
Kompatibilität
Getestete Raspberry Pi Modelle
- ✅ Raspberry Pi 4 (empfohlen)
- ✅ Raspberry Pi 3B+
- ✅ Raspberry Pi 3B
- ⚠️ Raspberry Pi 2 (eingeschränkt)
- ❌ Raspberry Pi 1/Zero (nicht empfohlen)
Getestete Betriebssysteme
- ✅ Raspberry Pi OS (Debian Bullseye/Bookworm)
- ✅ Ubuntu Server 20.04+ für ARM
- ✅ Debian 11+ ARM64
Best Practices
Hardware-Empfehlungen
- RAM: Mindestens 2GB (4GB empfohlen)
- SD-Karte: Class 10, mindestens 16GB
- Kühlung: Aktive Kühlung bei Dauerbetrieb
- Netzteil: Offizielles Pi-Netzteil verwenden
Konfiguration-Tipps
- GPU Memory auf 128MB+ setzen
- Hochwertige SD-Karte verwenden
- Regelmäßige Temperatur-Überwachung
- Backup der Boot-Konfiguration
Wartung
- Monatliche Temperatur-Log-Auswertung
- Quartalsweise SD-Karten-Gesundheitscheck
- Jährliche Neuinstallation bei Dauerbetrieb
Status: ✅ Produktionsreif
Letzte Aktualisierung: $(date +%Y-%m-%d)
Version: 3.0 (Raspberry Pi Optimiert)