Projektarbeit-MYP/docs/RASPBERRY_PI_SETUP.md

2.7 KiB

MYP Platform - Raspberry Pi Setup

Schnellstart

1. Projekt kopieren

scp -r Projektarbeit-MYP user@raspberrypi:/home/user/

2. Setup ausführen

ssh user@raspberrypi
cd /home/user/Projektarbeit-MYP/backend
chmod +x setup_raspberry_pi.sh
./setup_raspberry_pi.sh

3. Zugriff

Was wird installiert?

System-Pakete

  • Python 3 + pip + venv
  • Nginx (Reverse Proxy)
  • Supervisor (Process Manager)
  • SQLite3 (Datenbank)
  • OpenSSL (SSL-Zertifikate)
  • Build-Tools (gcc, make, etc.)

Python-Abhängigkeiten

  • Flask 2.3.3 (Web Framework)
  • SQLAlchemy 2.0.21 (ORM)
  • cryptography 41.0.4 (SSL)
  • PyP100 0.1.4 (Tapo Smart Plugs)
  • psutil 5.9.5 (System Monitoring)
  • gunicorn 21.2.0 (Production Server)
  • RPi.GPIO 0.7.1 (Hardware Interface)
  • Weitere 20+ Pakete (siehe requirements.txt)

Services

  • myp-platform.service: Hauptanwendung
  • nginx: Reverse Proxy + SSL
  • supervisor: Process Management
  • ufw: Firewall (Ports 22, 80, 443)

Verzeichnisstruktur

/home/user/Projektarbeit-MYP/
├── backend/
│   ├── app/                    # Hauptanwendung
│   │   ├── database/myp.db    # SQLite Datenbank
│   │   └── logs/              # Log-Dateien
│   ├── certs/                 # SSL-Zertifikate
│   ├── venv/                  # Python Virtual Environment
│   └── requirements.txt       # Python-Abhängigkeiten
└── frontend/ssl/              # Frontend SSL-Zertifikate

Hardkodierte Drucker

  • Printer 1: 192.168.0.100
  • Printer 2: 192.168.0.101
  • Printer 3: 192.168.0.102
  • Printer 4: 192.168.0.103
  • Printer 5: 192.168.0.104
  • Printer 6: 192.168.0.106

Wartung

Service-Befehle

# Status prüfen
sudo systemctl status myp-platform

# Neu starten
sudo systemctl restart myp-platform

# Logs anzeigen
sudo journalctl -u myp-platform -f

Drucker neu einrichten

cd /home/user/Projektarbeit-MYP/backend/app
source ../venv/bin/activate
python setup_drucker_db.py

SSL-Zertifikate erneuern

cd /home/user/Projektarbeit-MYP/backend/app
source ../venv/bin/activate
python -c "from utils.ssl_manager import ssl_manager; ssl_manager.generate_mercedes_certificate()"
sudo systemctl restart nginx

Troubleshooting

Service startet nicht

sudo journalctl -u myp-platform -n 50

Manueller Start (Debug)

cd /home/user/Projektarbeit-MYP/backend/app
source ../venv/bin/activate
python app.py

Ports prüfen

sudo netstat -tlnp | grep :443
sudo netstat -tlnp | grep :80

Vollständige Dokumentation

Siehe: DEPLOYMENT.md für detaillierte Anweisungen.