121 lines
2.7 KiB
Markdown
121 lines
2.7 KiB
Markdown
# 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. |