# 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