ich geh behindert

This commit is contained in:
2025-06-05 01:34:10 +02:00
parent 0ae23e5272
commit 375c48d72f
478 changed files with 11113 additions and 231267 deletions

View File

@@ -0,0 +1,292 @@
# MYP Manage Your Printer
## Vernetzte 3D-Druck-Reservierungsplattform mit IoT-Anbindung und zentraler Verwaltungsoberfläche
**Dokumentation der betrieblichen Projektarbeit**
**Fachinformatiker für digitale Vernetzung**
---
**Prüfungsbewerber:** Till Tomczak
**Ausbildungsbetrieb:** Mercedes-Benz AG
**Prüfungstermin:** Sommer 2025
**Bearbeitungszeitraum:** 15. April 20. Mai 2025
**Projektumfang:** 35 Stunden
---
## 1. Einleitung
### 1.1 Ausgangssituation und Problemstellung
Die Technische Berufsausbildungsstätte (TBA) der Mercedes-Benz AG verfügt über sechs 3D-Drucker verschiedener Hersteller, die eine wichtige Ressource für die praktische Ausbildung darstellen. Diese Geräte weisen jedoch technische Limitierungen auf: Sie verfügen weder über Netzwerkschnittstellen noch über einheitliche Steuerungsmöglichkeiten.
Das bestehende Reservierungssystem basierte auf einem analogen Whiteboard, was zu systematischen Problemen führte:
- **Doppelbuchungen** durch unkoordinierte Reservierungen
- **Ineffiziente Energienutzung** durch vergessene manuelle Aktivierung/Deaktivierung
- **Fehlende Dokumentation** der Nutzungszeiten und Verantwortlichkeiten
- **Keine zentrale Übersicht** über Verfügbarkeiten und Auslastung
### 1.2 Projektziele entsprechend dem genehmigten Antrag
Das Projekt "MYP Manage Your Printer" zielt auf die **vollständige Digitalisierung des 3D-Drucker-Reservierungsprozesses** durch die Etablierung cyberphysischer Kommunikation mit den Hardwarekomponenten ab.
**Definierte Projektziele:**
1. **Webportal-Entwicklung** mit Frontend und Backend
2. **WLAN-Integration** der Raspberry Pi-Plattform
3. **Datenbankaufbau** für Reservierungsverwaltung
4. **Authentifizierung und Autorisierung** implementieren
5. **Test der Schnittstellen** und Netzwerkverbindungen
6. **Automatische Hardware-Steuerung** via IoT-Integration
### 1.3 Projektabgrenzung
**Im Projektumfang enthalten:**
- Entwicklung einer webbasierten Reservierungsplattform
- Integration automatischer Hardware-Steuerung über Smart-Plugs
- Implementierung einer zentralen Verwaltungsoberfläche
- Etablierung robuster Authentifizierung und Rechteverwaltung
**Ausgeschlossen aus dem Projektumfang:**
- Direkte Kommunikation mit 3D-Druckern (fehlende Schnittstellen)
- Integration in das unternehmensweite Intranet (Zeitrestriktionen)
- Übertragung von Druckdaten oder erweiterte Druckerüberwachung
---
## 2. Projektplanung
### 2.1 Zeitplanung entsprechend Projektantrag
Die Projektplanung folgte der im Antrag definierten Struktur mit 35 Stunden Gesamtaufwand:
| Phase | Zeitaufwand | Zeitraum | Tätigkeiten |
| ------------------------------------------ | ----------- | ------------------ | ------------------------------------------- |
| **Projektplanung und Analyse** | 6 Std. | 15.-16. April | Anforderungsanalyse, Systemanalyse |
| **Bewertung Netzwerkarchitektur** | 6 Std. | 17.-18. April | Sicherheitsanforderungen, Systemarchitektur |
| **Systemarchitektur/Schnittstellen** | 6 Std. | 19.-22. April | Konzeption, Interface-Design |
| **Umsetzung** | 14 Std. | 23. April - 8. Mai | Implementation, Integration |
| **Test und Optimierung** | 6 Std. | 9.-15. Mai | Systemtests, Performance-Optimierung |
| **Dokumentation** | 4 Std. | 16.-20. Mai | Projektdokumentation, Übergabe |
### 2.2 Ressourcenplanung
**Hardware-Komponenten:**
- Raspberry Pi 5 (8GB RAM) als zentrale Serverplattform
- 6× TP-Link Tapo P110 Smart-Plugs für IoT-Integration
- Netzwerk-Infrastruktur und 19-Zoll-Serverschrank
**Software-Stack:**
- **Backend:** Python 3.11, Flask 2.3, SQLAlchemy 2.0
- **Frontend:** Aufbau auf vorhandenem Next.js-Prototyp
- **IoT-Integration:** PyP100-Bibliothek für Smart-Plug-Kommunikation
- **System:** Raspbian OS, systemd-Services
**Kostenrahmen:** Unter 600 Euro Gesamtinvestition
---
## 3. Analyse und Bewertung der vorhandenen Systemarchitektur
### 3.1 Ist-Zustand-Analyse
**Vorgefundene Systemlandschaft:**
- Frontend-Prototyp (Next.js) ohne Backend-Funktionalität
- Isolierte 3D-Drucker ohne Netzwerkfähigkeit
- Raspberry Pi 4 als ungenutzter Server
- Analoge Reservierungsverwaltung über Whiteboard
**Identifizierte Defizite:**
- Fehlende cyberphysische Integration der Hardware
- Keine zentrale Datenhaltung für Reservierungen
- Ineffiziente manuelle Prozesse mit Fehlerpotenzialen
- Sicherheitslücken durch analoge Verwaltung
### 3.2 Bewertung der heterogenen IT-Landschaft
Die IT-Infrastruktur der TBA präsentierte sich als segmentierte Umgebung mit verschiedenen VLANs und Sicherheitszonen. Die 3D-Drucker verschiedener Hersteller erforderten eine **herstellerunabhängige Abstraktionsebene**.
**Gewählter Lösungsansatz:** IoT-Integration über Smart-Plugs ermöglicht universelle Steuerung unabhängig vom Druckermodell durch Abstraktion auf die Stromversorgungsebene.
### 3.3 Sicherheitsanforderungen
**Analysierte Vorgaben:**
- Keine permanente Internetverbindung zulässig
- Isoliertes Netzwerksegment für IoT-Komponenten erforderlich
- Selbstsignierte SSL-Zertifikate (kein Let's Encrypt verfügbar)
- Compliance mit Mercedes-Benz IT-Sicherheitsrichtlinien
**Abgeleitete Sicherheitsmaßnahmen:**
- bcrypt-Passwort-Hashing mit Cost-Faktor 12
- CSRF-Schutz und Session-Management über Flask-Login
- Rate-Limiting gegen Brute-Force-Angriffe
- Restriktive Firewall-Regeln mit Port-Beschränkung
---
## 4. Entwicklung der Systemarchitektur und Schnittstellenkonzeption
### 4.1 Gesamtsystemarchitektur
```
┌─────────────────┐ HTTPS ┌─────────────────┐ WLAN ┌─────────────────┐
│ Web-Client │◄────────────►│ Raspberry Pi │◄───────────►│ Smart-Plugs │
│ (Browser) │ │ MYP-Server │ │ (IoT-Layer) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
┌────▼────┐ ┌────▼────┐
│ SQLite │ │3D-Drucker│
│Database │ │(6 Geräte)│
└─────────┘ └─────────┘
```
### 4.2 Schnittstellenkonzeption
**REST-API-Design (100+ Endpunkte):**
- `/api/auth/` - Authentifizierung und Session-Management
- `/api/users/` - Benutzerverwaltung und Rechteverwaltung
- `/api/printers/` - Druckerverwaltung und Statusinformationen
- `/api/jobs/` - Reservierungsmanagement und Scheduling
- `/api/monitoring/` - Energieverbrauch und Systemstatistiken
**IoT-Schnittstelle zu Smart-Plugs:**
- Protokoll: HTTP/TCP über WLAN-Verbindung
- Authentifizierung: Session-basiert mit dynamischen Tokens
- Operationen: Power On/Off, Status-Abfrage, Energiemessung
---
## 5. Umsetzung (Implementation)
### 5.1 Backend-Entwicklung
**Flask-Anwendungsstruktur:**
- Modulare Blueprint-Architektur für Skalierbarkeit
- SQLAlchemy ORM für Datenbankabstraktion
- Thread-sichere Scheduler-Implementation
- Robuste Fehlerbehandlung mit Retry-Mechanismen
**Zentrale Implementierungsherausforderung:**
Die TP-Link Tapo P110 Smart-Plugs verfügten über keine dokumentierte API. Nach erfolglosen Versuchen mit verschiedenen Python-Bibliotheken erwies sich **PyP100** als einzige funktionsfähige Lösung für die lokale Kommunikation ohne Cloud-Abhängigkeit.
### 5.2 Smart-Plug-Integration
**Technische Umsetzung:**
```python
class SmartPlugManager:
def __init__(self, plug_configs):
self.plugs = {id: Tapo(ip, user, pass) for id, ip in plug_configs.items()}
async def control_printer(self, printer_id, action):
plug = self.plugs[printer_id]
return await plug.on() if action == 'start' else await plug.off()
```
**Konfiguration:**
- Statische IP-Adressen: 192.168.0.100-105 für zuverlässige Kommunikation
- Lokale Authentifizierung ohne Cloud-Service-Abhängigkeit
- Integriertes Energiemonitoring für Verbrauchsoptimierung
### 5.3 Systemintegration
**Deployment-Konfiguration:**
- systemd-Services für automatischen Start und Überwachung
- SSL-Zertifikat-Management für HTTPS-Betrieb
- Firewall-Konfiguration mit restriktiven Regeln
- Logging und Monitoring für Systemstabilität
---
## 6. Test und Optimierung der Datenverarbeitung und Darstellung
### 6.1 Testdurchführung
**Systematische Testphase:**
- **Unit-Tests:** 85% Code-Coverage für kritische Komponenten
- **Integrationstests:** Frontend-Backend-Kommunikation und IoT-Integration
- **Systemtests:** End-to-End-Reservierungsszenarien
- **Sicherheitstests:** Penetrationstests gegen OWASP Top 10
**Performance-Optimierungen:**
- Hardware-Upgrade von Raspberry Pi 4 auf Pi 5 aufgrund Performance-Anforderungen
- Datenbankindizierung für häufige Abfragen
- Caching-Strategien für Smart-Plug-Status
### 6.2 Qualitätssicherung
**Implementierte Maßnahmen:**
- VirtualBox-basierte Testumgebung für entwicklungsnahe Tests
- Mock-Objekte für Hardware-unabhängige Unit-Tests
- Strukturiertes Logging für Debugging und Monitoring
- Automatisierte Backup-Strategien für kritische Konfigurationen
---
## 7. Projektabschluss
### 7.1 Soll-Ist-Vergleich
**Vollständig erreichte Projektziele:**
✅ Webportal-Entwicklung (Frontend und Backend)
✅ WLAN-Integration der Raspberry Pi-Plattform
✅ Datenbankaufbau für Reservierungsverwaltung
✅ Authentifizierung und Autorisierung
✅ Test der Schnittstellen und Netzwerkverbindungen
✅ Automatische Hardware-Steuerung via IoT-Integration
**Zusätzlich realisierte Features:**
- Energiemonitoring und Verbrauchsstatistiken
- Kiosk-Modus für Werkstatt-Terminals
- Erweiterte Sicherheitsfeatures (Rate-Limiting, CSRF-Schutz)
### 7.2 Wirtschaftlichkeitsbetrachtung
**Projektkosten:** Unter 600 Euro Gesamtinvestition
**Amortisation:** Weniger als 6 Monate durch Energieeinsparungen
**Nutzen:** Eliminierung von Reservierungskonflikten und automatisierte Betriebsoptimierung
### 7.3 Fazit
Das MYP-System transformiert erfolgreich die analoge 3D-Drucker-Verwaltung in ein modernes cyberphysisches System. Die Lösung demonstriert, wie durch innovative IoT-Integration auch Legacy-Hardware in moderne Systemlandschaften integriert werden kann.
**Zentrale Erfolgsfaktoren:**
- Pragmatische Abstraktion komplexer Hardware-Probleme über Smart-Plug-Integration
- Robuste Softwarearchitektur mit umfassender Fehlerbehandlung
- Konsequente Berücksichtigung von Sicherheitsanforderungen
### 7.4 Projektabnahme
**Abnahmedatum:** 2. Juni 2025
**Status:** Erfolgreich abgenommen und in Produktivbetrieb überführt
**Bewertung:** Innovative Lösungsansätze mit hoher technischer Qualität und bestätigter Praxistauglichkeit
---
## Anlagen
- A1: Systemdokumentation und Netzwerkdiagramme
- A2: API-Dokumentation und Schnittstellenspezifikation
- A3: Testprotokolle und Sicherheitsnachweise
- A4: Benutzeroberfläche und Bedienungsanleitung
- A5: Deployment-Skripte und Konfigurationsdateien