Projektarbeit-MYP/IHK_Projektdokumentation/Dokumentation_Professionell.md
2025-06-05 01:34:10 +02:00

293 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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