"feat: Update README

This commit is contained in:
2025-05-26 12:17:18 +02:00
parent 117f7a857f
commit d3b8bf2820
7 changed files with 673 additions and 558 deletions

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env bash
# Bildschirm-Blanking verhindern
xset s off
xset s noblank
xset -dpms
# Mauszeiger ausblenden
unclutter -idle 0.5 -root &
# Chromium-Crash-Dialoge unterdrücken
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' \
"$HOME/.config/chromium/Default/Preferences" 2>/dev/null || true
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' \
"$HOME/.config/chromium/Default/Preferences" 2>/dev/null || true
# Hostname und IP ermitteln
HOSTNAME=$(hostname -f)
IP_ADDRESS=$(hostname -I | awk '{print $1}')
# Browser starten mit SSL-Warnung deaktiviert
chromium-browser --kiosk --noerrdialogs --disable-infobars \
--window-position=0,0 --ignore-certificate-errors \
--app=https://${IP_ADDRESS}:5000/ &

View File

@@ -1,90 +0,0 @@
#!/usr/bin/env bash
# MYP Kiosk-Modus Einrichtungsskript
# Fehlerabbruch aktivieren
set -e
echo "===== MYP Kiosk-Modus Einrichtungsskript ====="
echo "Dieses Skript richtet MYP für den automatischen Start im Kiosk-Modus ein."
echo ""
# 1. Benötigte Pakete installieren
echo "1. Installiere benötigte Pakete..."
sudo apt update
sudo apt install -y python3 python3-pip python3-venv chromium-browser \
unclutter xdotool xscreensaver git
# 2. Verzeichnis für MYP erstellen und Projekt kopieren
echo "2. Kopiere MYP nach /opt/myp..."
sudo mkdir -p /opt/myp
sudo chown $USER:$USER /opt/myp
# Aktuelle Verzeichnisstruktur ermitteln
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
echo "Kopiere Dateien von $SCRIPT_DIR nach /opt/myp..."
cp -r "$SCRIPT_DIR"/* /opt/myp/
# 3. Python-Umgebung und Abhängigkeiten einrichten
echo "3. Richte Python-Umgebung ein..."
cd /opt/myp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 4. Systemd-Dienst für Flask-Backend einrichten
echo "4. Richte Flask-Backend-Dienst ein..."
sudo cp /opt/myp/myp.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable myp.service
sudo systemctl start myp.service
# 5. Kiosk-Script einrichten
echo "5. Richte Kiosk-Script ein..."
cp /opt/myp/kiosk.sh /home/pi/
chmod +x /home/pi/kiosk.sh
# 6. Systemd-User-Dienst für Kiosk einrichten
echo "6. Richte Kiosk-Dienst ein..."
mkdir -p /home/pi/.config/systemd/user
cp /opt/myp/kiosk.service /home/pi/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable kiosk.service
# 7. Linger für den pi-Benutzer aktivieren
echo "7. Aktiviere User-Linger für pi-Benutzer..."
sudo loginctl enable-linger pi
# 8. Watchdog-Script einrichten
echo "8. Richte Watchdog-Script ein..."
cp /opt/myp/watchdog.sh /home/pi/
chmod +x /home/pi/watchdog.sh
# 9. Cron-Job für Watchdog einrichten
echo "9. Richte Cron-Job für Watchdog ein..."
(crontab -l 2>/dev/null || echo "") | grep -v "watchdog.sh" | { cat; echo "*/5 * * * * /home/pi/watchdog.sh > /dev/null 2>&1"; } | crontab -
# 10. Automatischen Login einrichten
echo "10. Automatischer Login wird manuell über raspi-config eingerichtet"
echo " Führe 'sudo raspi-config' aus und wähle:"
echo " 1 System Options → S5 Boot/Auto Login → B4 Desktop Autologin"
# 11. Bildschirm nie ausschalten
echo "11. Deaktiviere Bildschirmschoner..."
sudo sed -i 's/#BLANK_TIME=.*/BLANK_TIME=0/' /etc/xdg/lxsession/LXDE-pi/autostart
echo ""
echo "===== Installation abgeschlossen ====="
echo "Um die Einrichtung zu vervollständigen, führe 'sudo raspi-config' aus"
echo "und aktiviere den automatischen Login: "
echo "1 System Options → S5 Boot/Auto Login → B4 Desktop Autologin"
echo ""
echo "Nach einem Neustart sollte der Raspberry Pi automatisch:"
echo "1. Die MYP-Flask-Anwendung starten"
echo "2. Den Chromium-Browser im Kiosk-Modus öffnen"
echo ""
echo "MYP ist erreichbar unter: http://localhost:5000/"
echo ""
echo "Ein Watchdog-Script überwacht alle 5 Minuten, ob Chromium und der MYP-Dienst"
echo "noch laufen und startet sie bei Bedarf neu."
echo ""
echo "Starte den Raspberry Pi neu mit 'sudo reboot'"

View File

@@ -1,40 +0,0 @@
#!/usr/bin/env bash
# MYP Watchdog für Chromium Browser
# Empfohlene Ausführung über crontab: */5 * * * * /home/pi/watchdog.sh > /dev/null 2>&1
# Funktion zum Loggen von Nachrichten
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> /home/pi/myp-watchdog.log
}
# Prüfen, ob Chromium läuft
if ! pgrep -x "chromium-browse" > /dev/null; then
log "Chromium nicht gefunden - starte neu"
# Alle eventuell noch vorhandenen Chromium-Prozesse beenden
pkill -f chromium || true
# Warten bis alle Prozesse beendet sind
sleep 2
# Kiosk-Script neu starten
/home/pi/kiosk.sh
log "Chromium neugestartet"
else
# Optional: Nur für Debug-Zwecke
# log "Chromium läuft normal"
:
fi
# Prüfen, ob MYP Flask-Dienst läuft
if ! systemctl is-active --quiet myp.service; then
log "MYP Flask-Dienst ist nicht aktiv - starte neu"
# Dienst neustarten
sudo systemctl restart myp.service
log "MYP Flask-Dienst neugestartet"
fi
exit 0