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

11 KiB
Raw Blame History

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:

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