Projektarbeit-MYP/backend/docs/KIOSK_TEST_ANLEITUNG.md
2025-06-04 09:43:51 +02:00

4.1 KiB

Kiosk-System Test-Anleitung

Problem behoben: Backend-Verbindung korrigiert

Das Kiosk-System wurde komplett überarbeitet um die "Unreachable Error" Probleme zu beheben.

🔧 Was wurde korrigiert:

  • Port-Konflikt behoben: Einheitlich Port 5000 (HTTP)
  • SSL-Komplexität entfernt: Keine Zertifikat-Probleme mehr
  • URL-Mismatch korrigiert: Chromium greift auf korrekte URL zu
  • Service vereinfacht: Robuster Python-App Start

🚀 Test-Schritte:

1. Installation ausführen

sudo bash setup.sh
# Wählen Sie Option 1 für schnelle Installation

2. Service-Status prüfen

# HTTP-Backend Service
sudo systemctl status myp-https

# Sollte zeigen: "Active: active (running)"

3. Port-Verfügbarkeit testen

# Port 5000 sollte offen sein
sudo ss -tlnp | grep :5000

# Erwartete Ausgabe: tcp LISTEN 0.0.0.0:5000

4. Backend-Erreichbarkeit testen

# HTTP-Request sollte funktionieren
curl http://localhost:5000

# Erwartete Ausgabe: HTML-Inhalt der Web-App

5. Kiosk-Browser manuell testen

# Starte X-Server (falls nicht läuft)
sudo systemctl start lightdm

# Wechsle zum Kiosk-User
sudo su - kiosk

# Teste Browser-Start manuell
DISPLAY=:0 chromium --kiosk http://localhost:5000

6. Automatischer Kiosk-Service testen

# Kiosk-Service starten
sudo systemctl start myp-kiosk

# Status prüfen
sudo systemctl status myp-kiosk

# Logs verfolgen
sudo journalctl -u myp-kiosk -f

🎯 Erwartete Ergebnisse:

HTTP-Backend funktioniert:

  • Service startet ohne Fehler
  • Port 5000 ist erreichbar
  • curl http://localhost:5000 zeigt HTML-Content
  • Keine SSL-Zertifikat-Fehler

Kiosk-Browser funktioniert:

  • Chromium startet im Vollbild-Modus
  • Web-App lädt erfolgreich
  • Keine "Unreachable" Fehler mehr
  • Reaktionsfähige Benutzeroberfläche

Automatischer Start funktioniert:

  • Kiosk-Service startet ohne Timeout
  • Browser öffnet automatisch nach Boot
  • Backend ist verfügbar wenn Browser startet

🔍 Fehlerbehebung:

Problem: Service startet nicht

# Debug-Informationen sammeln
sudo systemctl status myp-https --no-pager -l
sudo journalctl -u myp-https --no-pager -n 20

Problem: Port nicht erreichbar

# Prüfe welcher Prozess Port 5000 verwendet
sudo lsof -i :5000
sudo netstat -tlnp | grep :5000

Problem: Python-App Fehler

# Teste App manuell
cd /opt/myp
python3 app.py --production

# Prüfe Abhängigkeiten
python3 -c "import flask; print('Flask verfügbar')"

Problem: Browser startet nicht

# Prüfe X-Server
DISPLAY=:0 xset q

# Teste Browser-Installation
which chromium || which chromium-browser

# Prüfe Kiosk-User
id kiosk
ls -la /home/kiosk/.bashrc

📊 Performance-Monitoring:

HTTP-Backend Response-Zeit testen:

curl -w "Response time: %{time_total}s\n" -o /dev/null -s http://localhost:5000

Speicherverbrauch überwachen:

# Service-Speicherverbrauch
sudo systemctl show myp-https --property=MemoryCurrent

# System-Speicher
free -h

CPU-Belastung prüfen:

# Service-CPU-Verbrauch
sudo systemctl show myp-https --property=CPUUsageNSec

# Top-Prozesse
top -p $(pgrep -f "myp\|chromium")

🔄 Neustart-Test:

Vollständiger Neustart-Test:

# 1. System neu starten
sudo reboot

# 2. Nach Boot prüfen (ca. 2-3 Minuten warten)
sudo systemctl status myp-https
sudo systemctl status myp-kiosk

# 3. Browser sollte automatisch gestartet sein
ps aux | grep chromium

Erfolgreiche Installation erkennen:

  1. HTTP-Backend läuft: systemctl status myp-https zeigt "active"
  2. Port erreichbar: curl http://localhost:5000 funktioniert
  3. Kiosk startet: Browser öffnet automatisch bei Login
  4. Web-App lädt: Keine "Unreachable" oder Timeout-Fehler
  5. Stabile Verbindung: Seite reagiert schnell und zuverlässig

🎉 Bei erfolgreichem Test:

Das Kiosk-System ist jetzt vollständig funktionsfähig:

  • Backend-Verbindungsprobleme behoben
  • Vereinfachte und robuste Architektur
  • Wartungsfreier Betrieb möglich
  • Optimiert für Raspberry Pi

Die Web-App sollte jetzt zuverlässig im Kiosk-Modus laufen!