# MYP Platform - Raspberry Pi Setup

## Schnellstart

### 1. Projekt kopieren
```bash
scp -r Projektarbeit-MYP user@raspberrypi:/home/user/
```

### 2. Setup ausführen
```bash
ssh user@raspberrypi
cd /home/user/Projektarbeit-MYP/backend
chmod +x setup_raspberry_pi.sh
./setup_raspberry_pi.sh
```

### 3. Zugriff
- **URL**: https://raspberrypi
- **Login**: admin@mercedes-benz.com
- **Passwort**: 744563017196A

## 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
```bash
# 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
```bash
cd /home/user/Projektarbeit-MYP/backend/app
source ../venv/bin/activate
python setup_drucker_db.py
```

### SSL-Zertifikate erneuern
```bash
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
```bash
sudo journalctl -u myp-platform -n 50
```

### Manueller Start (Debug)
```bash
cd /home/user/Projektarbeit-MYP/backend/app
source ../venv/bin/activate
python app.py
```

### Ports prüfen
```bash
sudo netstat -tlnp | grep :443
sudo netstat -tlnp | grep :80
```

## Vollständige Dokumentation

Siehe: `DEPLOYMENT.md` für detaillierte Anweisungen. 