11 KiB
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:
- Webportal-Entwicklung mit Frontend und Backend
- WLAN-Integration der Raspberry Pi-Plattform
- Datenbankaufbau für Reservierungsverwaltung
- Authentifizierung und Autorisierung implementieren
- Test der Schnittstellen und Netzwerkverbindungen
- 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:
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