41 KiB
AbschlussprĂŒfung - Sommer 2025
Fachinformatiker fĂŒr digitale Vernetzung
Dokumentation der betrieblichen Projektarbeit
MYP â Manage Your Printer
Digitalisierung des 3D-Drucker-Reservierungsprozesses durch Etablierung der cyberphysischen Kommunikation mit relevanten Hardwarekomponenten
Abgabedatum: 5. Juni 2025
Ausbildungsbetrieb
Mercedes-Benz Ag
DaimlerstraĂe 143
D-12277 Berlin
PrĂŒfungsbewerber
Till Tomczak
HainbuchenstraĂe 19
D-16761 Hennigsdorf
Mercedes-Benz
Inhaltsverzeichnis
[1. Einleitung 2](#_Toc199840791)
[1.1 Analyse des Projektauftrages 2](#analyse-des-projektauftrages)
[1.2 Ableitung der Projektziele 3](#ableitung-der-projektziele)
[1.3 Projektabgrenzung 3](#projektabgrenzung)
[1.4 Projektumfeld 4](#projektumfeld)
[1.5 Betriebliche Schnittstellen 4](#betriebliche-schnittstellen)
[1.6 Analyse der IT-sicherheitsrelevante Bedingungen 5](#analyse-der-it-sicherheitsrelevante-bedingungen)
[1.7 Darstellung der vorhandenen Systemarchitektur 5](#darstellung-der-vorhandenen-systemarchitektur)
[2. Projektplanung 5](#projektplanung)
[2.1 Terminplanung 5](#terminplanung)
[Sprint 1 (15.-19. April 2025) 6](#sprint-1-15.-19.-april-2025)
[Sprint 2 (22.-26. April 2025) 6](#sprint-2-22.-26.-april-2025)
[Sprint 3 (29. April - 3. Mai 2025) 6](#sprint-3-29.-april---3.-mai-2025)
[Sprint 4 (6.-10. Mai 2025) 6](#sprint-4-6.-10.-mai-2025)
[Sprint 5 (13.-17. Mai 2025) 6](#sprint-5-13.-17.-mai-2025)
[2.2 Ressourcenplanung 6](#ressourcenplanung)
[2.3 Planung der QualitÀtssicherung 7](#planung-der-qualitÀtssicherung)
[2.4 Bewertung der heterogenen IT-Landschaft 8](#bewertung-der-heterogenen-it-landschaft)
[2.5 Anforderungsgerechte Auswahl der Ăbertragungssysteme 8](#anforderungsgerechte-auswahl-der-ĂŒbertragungssysteme)
[2.6 Planung der Prozess-/ und Systemschnittstellen 9](#planung-der-prozess--und-systemschnittstellen)
[2.7 Planung der IT-SicherheitsmaĂnahmen 9](#planung-der-it-sicherheitsmaĂnahmen)
[3. DurchfĂŒhrung und Auftragsbearbeitung 9](#durchfĂŒhrung-und-auftragsbearbeitung)
[3.1 Prozess-Schritte und Vorgehensweise 10](#prozess-schritte-und-vorgehensweise)
[3.1.1 Datenabfrage der Sensoren 10](#datenabfrage-der-sensoren)
[3.1.2 Verarbeiten der Daten 10](#verarbeiten-der-daten)
[3.2 Abweichung, Anpassung und Entscheidungen 11](#abweichung-anpassung-und-entscheidungen)
[3.3 MaĂnahmen zur QualitĂ€tskontrolle 11](#maĂnahmen-zur-qualitĂ€tskontrolle)
[3.4 Implementierung, Konfiguration und Inbetriebnahme von Schnittstellen und unterschiedlicher Prozesse und Systeme 12](#implementierung-konfiguration-und-inbetriebnahme-von-schnittstellen-und-unterschiedlicher-prozesse-und-systeme)
[3.5 Konfiguration von Ăbertragungssystemen und Integration in die Gesamtinfrastruktur 12](#konfiguration-von-ĂŒbertragungssystemen-und-integration-in-die-gesamtinfrastruktur)
[3.6 ErfĂŒllen der Anforderungen an die Informationssicherheit 13](#erfĂŒllen-der-anforderungen-an-die-informationssicherheit)
[4. Projektabschluss 13](#projektabschluss)
[4.1 Soll-Ist-Vergleich (Abweichung, Anpassungen) 13](#soll-ist-vergleich-abweichung-anpassungen)
[4.2 Fazit 14](#fazit)
[4.3 Optimierungsmöglichkeiten 14](#optimierungsmöglichkeiten)
[4.4 Abnahme 15](#abnahme)
[Anlagen 15](#anlagen)
[Netzwerkdiagramme und Systemarchitektur 15](#netzwerkdiagramme-und-systemarchitektur)
[API-Dokumentation 15](#api-dokumentation)
[Benutzerhandbuch 16](#benutzerhandbuch)
[Testprotokolle 16](#testprotokolle)
[Screenshots der BenutzeroberflÀche 16](#screenshots-der-benutzeroberflÀche)
[Konfigurationsdateien und Deployment-Skripte 16](#konfigurationsdateien-und-deployment-skripte)
1. Einleitung
1.1 Analyse des Projektauftrages
Die Technische BerufsausbildungsstĂ€tte (TBA) der Mercedes-Benz AG am Standort Berlin verfĂŒgt ĂŒber sechs 3D-Drucker verschiedener Hersteller (Prusa, Anycubic; B-Ware im Vergleich zu 3D-Druckern von Kostenstellen höherer PrioriĂ€t sozusagen). Diese GerĂ€te stellen eine wichtige Ressource fĂŒr die praktische Ausbildung dar, weisen jedoch erhebliche technische Limitierungen auf; beispielsweise verfĂŒgen die Drucker weder ĂŒber Funk- noch Netzwerkschnittstellen oder andere gesamteinheitliche Steuerungsmöglichkeiten. Diese technischen EinschrĂ€nkungen verhinderten bislang eine koordinierte digitale Verwaltung und eine damit einhergehende Ăbersicht von Reservierungen und NutzungsplĂ€nen der Azubis.
Das bestehende 'Reservierungssystem' - wenn man es nun so nennen kann - basierte auf einem analogen Whiteboard, welches neben den Druckern positioniert war. Dies fĂŒhrte zu systematischen Problemen: Doppelbuchungen traten regelmĂ€Ăig auf, wenn mehrere Nutzer zeitgleich Reservierungen vornahmen, die manuelle Aktivierung und Deaktivierung der GerĂ€te wurde hĂ€ufig versĂ€umt - was zu unnötigem Energieverbrauch und erhöhtem VerschleiĂ fĂŒhrte - und eine verlĂ€ssliche Dokumentation der tatsĂ€chlichen Nutzungszeiten existierte nicht, wodurch weder aussagekrĂ€ftige BetĂ€tigungs- und Verantwortungszuordnung (bspw. fĂŒr AufrĂ€umarbeiten), noch eine verursachungsgerechte Kostenzuordnung möglich waren.
Ein erstmaliger Lösungsansatz durch den ehemaligen Auszubildenden Torben Haack hatte einen vielversprechenden Frontend-Prototyp auf Basis von Next.js hervorgebracht. Der Prototyp verfĂŒgte ĂŒber eine moderne BenutzeroberflĂ€che und gute Analysefunktionen, allerdings jedoch fehlte ganz fundamental die essentielle Backend-FunktionalitĂ€t; ohne dies blieb die auf Prototypen-basierende Projektarbeit des Torben Haacks in der praktischen Anwendung ohne jegliche Funktion. Ich sah fĂŒr mich also die Chance, die Idee hinter dem Prototypen aufzugreifen und mich ihrer im Rahmen meiner hier dargelegten Projektarbeit anzunehmen, da ich sofort mehrere Möglichkeiten zur Einbringung meiner Fachrichtung identifizieren konnte und ich keine notwendige Obligation - wie bei anderen Projektmöglichkeiten die sich mir boten - verspĂŒrte, sondern einen Anflug von Ideen, Tatendrang und intrinsischer Motivation; sprich: es kitzelte meine Leidenschaft.
1.2 Ableitung der Projektziele
Nach erfolgter Zulassung des Abschlussprojekts durch die IHK kristallisierten sich die Projektziele in ihrer ganzen KomplexitĂ€t heraus. Das zu entwickelnde System sollte unter dem prĂ€gnanten Namen "MYP - Manage Your Printer" nicht nur die digitale Verwaltung der Reservierungen ermöglichen, sondern â und hier liegt die besondere Herausforderung fĂŒr einen Fachinformatiker der digitalen Vernetzung â auch die automatisierte Steuerung der physischen GerĂ€te realisieren.
Die zentrale technische Herausforderung bestand in der ĂberbrĂŒckung der technischen Limitierungen der vorhandenen 3D-Drucker. Da eine direkte Kommunikation mit den GerĂ€ten aufgrund fehlender Schnittstellen nicht möglich war, musste ein alternativer, kreativer Ansatz zur Hardware-Steuerung entwickelt werden. Gleichzeitig waren die strengen Sicherheitsrichtlinien der Mercedes-Benz AG zu berĂŒcksichtigen, die keine direkten, geschweige denn permanenten Internetverbindungen in der Produktionsumgebung gestatten â eine Anforderung, die das Projekt zusĂ€tzlich verkomplizierte.
Ein weiteres, nicht zu unterschĂ€tzendes Projektziel war die GewĂ€hrleistung der HerstellerunabhĂ€ngigkeit. Die heterogene und schnittstellenarme Druckerlandschaft der sechs 3D-Drucker erforderte eine universell einsetzbare Lösung, die sich zugleich auch leicht an zukĂŒnftige Upgrades â sowohl der 3D-Drucker als auch der entstehenden Lösung selbst â anpassen lassen wĂŒrde. Das System sollte zudem eine rudimentĂ€re, aber effektive Rechteverwaltung implementieren, die zwischen administrativen Funktionen und regulĂ€ren Nutzerrechten differenziert.
1.3 Projektabgrenzung
Der Projektumfang wurde â durchaus pragmatisch â auf die praktische Umsetzung einer funktionsfĂ€higen Lösung fokussiert. Eine umfassende Daten- und Prozessanalyse wurde bewusst zugunsten der technischen Realisierung zurĂŒckgestellt; diese Priorisierung ermöglichte die Fertigstellung eines produktiv einsetzbaren Systems innerhalb des knapp bemessenen Zeitrahmens von fĂŒnf Wochen.
Eine direkte Kommunikation mit den 3D-Druckern zur Ăbertragung von Druckdaten oder zur StatusĂŒberwachung wurde kategorisch aus dem Projektumfang ausgeschlossen. Die fehlenden technischen Schnittstellen der vorhandenen GerĂ€te hĂ€tten umfangreiche Hardware-Modifikationen erfordert, die weder zeitlich noch wirtschaftlich vertretbar gewesen wĂ€ren â ganz zu schweigen von den Garantieverlusten, die solche Eingriffe nach sich gezogen hĂ€tten.
Ebenfalls nicht Teil des Projekts war die Integration in ĂŒbergeordnete ERP-Systeme oder das unternehmensweite Intranet. Diese Anbindungen hĂ€tten zusĂ€tzliche Genehmigungsprozesse und SicherheitsprĂŒfungen erfordert, die den Projektrahmen bei weitem ĂŒberschritten hĂ€tten. Stattdessen wurde eine autarke Lösung entwickelt, die alle erforderlichen Funktionen lokal bereitstellt â ein Ansatz, der sich im Nachhinein als goldrichtig erweisen sollte.
1.4 Projektumfeld
Das Projekt wurde im Rahmen meiner Ausbildung zum Fachinformatiker fĂŒr digitale Vernetzung bei der Mercedes-Benz AG durchgefĂŒhrt. Die Technische BerufsausbildungsstĂ€tte bot dabei optimale Voraussetzungen durch die vorhandene Infrastruktur und die â wenn auch manchmal zögerliche â fachliche UnterstĂŒtzung der Ausbildungsleitung.
Die Zusammenarbeit mit dem Entwickler des Frontend-Prototyps, Torben Haack, erfolgte in Form einer sequenziellen Weiterentwicklung. Da Herr Haack seine Ausbildung bereits abgeschlossen hatte und ich erst nach offizieller IHK-Zulassung mit der Projektarbeit beginnen durfte, konnte ich auf seinen Vorarbeiten aufbauen und diese zu einer Gesamtlösung erweitern â ein Umstand, der sich als Segen und Fluch zugleich erweisen sollte.
Die organisatorischen Rahmenbedingungen wurden maĂgeblich durch die Sicherheitsrichtlinien und IT-Governance der Mercedes-Benz AG geprĂ€gt. Jede technische Entscheidung musste die Vorgaben bezĂŒglich Netzwerksicherheit, Datenschutz und Compliance berĂŒcksichtigen. Die Beantragung notwendiger Administratorrechte und die Genehmigung selbstsignierter SSL-Zertifikate erforderten umfangreiche Abstimmungsprozesse mit der IT-Abteilung â Prozesse, die sich teilweise ĂŒber Wochen hinzogen und meine Geduld auf eine harte Probe stellten.
1.5 Betriebliche Schnittstellen
Die Analyse der betrieblichen Schnittstellen offenbarte ein komplexes Geflecht von AbhÀngigkeiten und Anforderungen. PrimÀr musste das System mit der bestehenden Netzwerkinfrastruktur der TBA harmonieren, ohne dabei Sicherheitsrichtlinien zu verletzen. Die Schnittstelle zur IT-Abteilung erwies sich als besonders kritisch, da jede Netzwerkkonfiguration und jeder Port-Freischaltung einer expliziten Genehmigung bedurfte.
Die Benutzerschnittstelle musste so gestaltet werden, dass sowohl technisch versierte Auszubildende als auch weniger IT-affine Nutzer das System intuitiv bedienen können. Dies erforderte eine Balance zwischen Funktionsumfang und Benutzerfreundlichkeit â eine Balance, die nicht immer leicht zu finden war.
Besonders herausfordernd gestaltete sich die Schnittstelle zu den Smart-Plugs. Die ursprĂŒngliche Annahme, dass sich die TAPO-Steckdosen des chinesischen Herstellers TP-Link problemlos integrieren lassen wĂŒrden, erwies sich als naiv. Die proprietĂ€re API der GerĂ€te war undokumentiert und erforderte erheblichen Reverse-Engineering-Aufwand â aber dazu spĂ€ter mehr.
1.6 Analyse der IT-sicherheitsrelevante Bedingungen
Die Sicherheitsanalyse offenbarte multiple Herausforderungen, die es zu bewĂ€ltigen galt. Das System musste in einem isolierten Netzwerksegment betrieben werden, ohne dabei die FunktionalitĂ€t einzuschrĂ€nken. Die Anforderung, keine permanente Internetverbindung zu etablieren, schloss Cloud-basierte Lösungen kategorisch aus â ein Umstand, der die Auswahl geeigneter Smart-Plugs erheblich einschrĂ€nkte.
Die Authentifizierung und Autorisierung musste robust implementiert werden, um unbefugten Zugriff zu verhindern. Gleichzeitig durfte die Sicherheit nicht zu Lasten der Benutzerfreundlichkeit gehen â ein klassisches Dilemma der IT-Sicherheit. Die Entscheidung fĂŒr bcrypt-basiertes Password-Hashing mit angemessenem Cost-Faktor stellte einen vernĂŒnftigen Kompromiss dar.
Besondere Aufmerksamkeit erforderte die Absicherung der API-Endpunkte. Jeder Endpunkt musste gegen gĂ€ngige Angriffsvektoren wie SQL-Injection, Cross-Site-Scripting und CSRF-Attacken geschĂŒtzt werden. Die Implementierung eines Rate-Limiting-Mechanismus verhindert zudem Brute-Force-Angriffe auf die Authentifizierungsschnittstelle.
1.7 Darstellung der vorhandenen Systemarchitektur
Die vorgefundene Systemarchitektur â wenn man sie denn so nennen möchte â bestand aus isolierten Komponenten ohne jegliche Integration. Die 3D-Drucker operierten als Insellösungen, verbunden lediglich durch ihre physische NĂ€he und das gemeinsame Whiteboard. Das von Torben Haack entwickelte Frontend existierte als Docker-Container auf einem Entwicklungsserver, ohne Anbindung an reale Daten oder Funktionen.
Die Netzwerkinfrastruktur der TBA basierte auf einem segmentierten Ansatz mit verschiedenen VLANs fĂŒr unterschiedliche GerĂ€teklassen. Die 3D-Drucker waren â mangels NetzwerkfĂ€higkeit â nicht in diese Struktur integriert. Der bereitgestellte Raspberry Pi 4 (spĂ€ter aufgerĂŒstet auf einen Pi 5) sollte als zentrale Plattform fĂŒr das MYP-System dienen.
Die Analyse ergab, dass eine grundlegende Neukonzeption der Architektur erforderlich war. Die Lösung musste die isolierten Komponenten zu einem kohĂ€renten System verbinden, ohne dabei die bestehenden Sicherheitsrichtlinien zu verletzen. Der gewĂ€hlte Ansatz â die Steuerung ĂŒber Smart-Plugs â stellte einen eleganten Kompromiss zwischen technischer Machbarkeit und praktischem Nutzen dar.
2. Projektplanung
2.1 Terminplanung
Die Projektplanung folgte einem agilen Ansatz nach Scrum-Prinzipien â eine Entscheidung, die sich angesichts der zahlreichen UnwĂ€gbarkeiten als goldrichtig erweisen sollte. Die Gesamtprojektdauer von fĂŒnf Wochen (15. April bis 20. Mai 2025) wurde in fĂŒnf einwöchige Sprints unterteilt, wobei jeder Sprint seine eigenen Herausforderungen und Ăberraschungen bereithielt.
Sprint 1 (15.-19. April 2025)
Der erste Sprint widmete sich der Analyse des bestehenden Prototyps und der Definition der Erweiterungspunkte. Die Evaluierung der Frontend-Codebasis offenbarte eine solide, wenn auch ĂŒberkomplexe Struktur. Die Spezifikation der erforderlichen API-Endpunkte gestaltete sich umfangreicher als erwartet â ĂŒber 100 Endpunkte wurden identifiziert. Der kritische Meilenstein dieses Sprints war die erfolgreiche Etablierung der Kommunikation mit den Smart-Plugs ĂŒber die PyP100-Bibliothek, was zunĂ€chst scheiterte.
Sprint 2 (22.-26. April 2025)
Im zweiten Sprint lag der Fokus auf dem Aufbau der Backend-Infrastruktur. Die Beantragung und Erlangung der erforderlichen Administratorrechte erwies sich als kafkaeske Odyssee durch die BĂŒrokratie der Mercedes-Benz AG. Parallel dazu begannen die ersten Experimente mit Wireshark, um das Kommunikationsprotokoll der Smart-Plugs zu entschlĂŒsseln â eine Notwendigkeit, die sich aus der mangelhaften Dokumentation der PyP100-Bibliothek ergab.
Sprint 3 (29. April - 3. Mai 2025)
Der dritte Sprint sollte die Integration von Frontend und Backend realisieren. Stattdessen wurde er zu einer Woche der technischen Katastrophen: Die Verbindung zwischen den Komponenten scheiterte wiederholt, die genehmigten SSL-Zertifikate gingen durch einen unglĂŒcklichen Neuinstallationsprozess verloren, und die Einarbeitung in die unternehmensspezifischen Implementierungen von GitHub OAuth und npm verschlang wertvolle Zeit.
Sprint 4 (6.-10. Mai 2025)
UrsprĂŒnglich fĂŒr Optimierungen vorgesehen, mutierte dieser Sprint zur Rettungsmission. Der Zeitdruck erzwang pragmatische Entscheidungen und die Konzentration auf essenzielle Funktionen. In marathonartigen Coding-Sessions wurde die GrundfunktionalitĂ€t implementiert â nicht schön, aber funktional.
Sprint 5 (13.-17. Mai 2025)
Der finale Sprint diente der Fehlerbehebung und Systemstabilisierung. Die ursprĂŒnglich geplanten Schulungen fielen dem Zeitdruck zum Opfer. Stattdessen wurde fieberhaft an kritischen Bugfixes gearbeitet und die Projektdokumentation erstellt â letztere teilweise in nĂ€chtlichen Schreibsessions.
2.2 Ressourcenplanung
Die Ressourcenplanung gestaltete sich als Balanceakt zwischen technischen Anforderungen und budgetÀren BeschrÀnkungen. Die Hardware-Ausstattung wurde sorgfÀltig, aber auch pragmatisch ausgewÀhlt.
Als zentrale Serverplattform diente zunĂ€chst ein Raspberry Pi 4 mit 4 GB RAM â eine Entscheidung, die sich schnell als Fehlkalkulation herausstellte. Performance-Tests zeigten, dass das ressourcenhungrige Next.js-Frontend die kleine Platine an ihre Grenzen brachte. Der kurzfristige Wechsel auf einen Raspberry Pi 5 mit 8 GB RAM löste die Performance-Probleme, verursachte aber zusĂ€tzliche Kosten und Zeitverzug.
Die sechs TP-Link Tapo P110 Smart-Plugs bildeten das HerzstĂŒck der Hardware-Lösung. Jedes GerĂ€t erhielt eine statische IP-Adresse im Bereich 192.168.0.151 bis 192.168.0.156 â eine scheinbar triviale Konfiguration, die sich spĂ€ter als entscheidend fĂŒr die SystemstabilitĂ€t erweisen sollte. Die ursprĂŒngliche Annahme, dass sich diese GerĂ€te problemlos integrieren lassen wĂŒrden, erwies sich als optimistisch. Die proprietĂ€re API erforderte erheblichen Reverse-Engineering-Aufwand mittels Wireshark.
Zur professionellen Unterbringung der Hardware wurde ein 19-Zoll-Serverschrank beschafft. Die internen Beschaffungsprozesse der Mercedes-Benz AG erwiesen sich jedoch als so langwierig, dass ergĂ€nzende Komponenten wie LĂŒftereinheiten und Kabelmanagement-Systeme aus eigener Tasche finanziert wurden â eine Investition in die professionelle PrĂ€sentation des Projekts.
Die Software-Architektur basierte vollstĂ€ndig auf Open-Source-Technologien: Python 3.11 als Programmiersprache, Flask 2.3 als Web-Framework, SQLAlchemy 2.0 fĂŒr die Datenbankabstraktion und SQLite als Datenbanksystem. Diese Technologieauswahl gewĂ€hrleistete nicht nur UnabhĂ€ngigkeit von proprietĂ€ren Lösungen, sondern erfĂŒllte auch die strikte Offline-Anforderung des Projekts.
2.3 Planung der QualitÀtssicherung
Das QualitĂ€tssicherungskonzept orientierte sich am V-Modell â eine klassische, aber bewĂ€hrte Herangehensweise. FĂŒr jede Entwicklungsphase wurden korrespondierende TestaktivitĂ€ten definiert, wobei die RealitĂ€t diese saubere Trennung oft genug konterkarierte.
Auf Unit-Test-Ebene wurden alle kritischen Komponenten isoliert getestet. Die Datenbankoperationen, API-Eingabevalidierung und Kernfunktionen der Reservierungsverwaltung durchliefen umfangreiche Testszenarien. Besondere Aufmerksamkeit galt der Smart-Plug-Kommunikation, fĂŒr die spezielle TestfĂ€lle entwickelt wurden â einschlieĂlich simulierter NetzwerkausfĂ€lle und Timeout-Situationen.
Die Integrationstests gestalteten sich komplexer als erwartet. Das Zusammenspiel zwischen Backend und Smart-Plugs erwies sich als fehleranfĂ€llig, insbesondere bei gleichzeitigen Zugriffen. Die systematischen Tests mit verschiedenen Eingabedaten â einschlieĂlich bewusst invalider und potenziell schĂ€dlicher Inputs â deckten mehrere SicherheitslĂŒcken auf, die nachtrĂ€glich geschlossen werden mussten.
Systemtests bildeten komplette Anwendungsszenarien ab. Ein typischer Testfall umfasste die Benutzeranmeldung, Reservierungserstellung, automatische Druckeraktivierung zur geplanten Zeit und die anschlieĂende Deaktivierung. Die zeitliche PrĂ€zision der Schaltungen â kritisch fĂŒr die Benutzerzufriedenheit â wurde dabei besonders ĂŒberwacht.
Performance-Tests auf der Zielplattform offenbarten die bereits erwĂ€hnten Limitierungen des Raspberry Pi 4. Der Wechsel auf den Pi 5 löste diese Probleme, erforderte aber eine Wiederholung aller Tests. Die finale Konfiguration bewĂ€ltigte selbst simultane Zugriffe mehrerer Nutzer und parallele Smart-Plug-Operationen ohne nennenswerte EinbuĂen.
2.4 Bewertung der heterogenen IT-Landschaft
Die IT-Landschaft der TBA prĂ€sentierte sich als bunter Flickenteppich verschiedenster Technologien und Standards. Die 3D-Drucker stammten von unterschiedlichen Herstellern mit inkompatiblen Steuerungssystemen. Das Netzwerk war in multiple VLANs segmentiert, wobei die Dokumentation dieser Struktur bestenfalls als lĂŒckenhaft bezeichnet werden konnte.
Die Herausforderung bestand darin, eine einheitliche Lösung fĂŒr diese heterogene Umgebung zu entwickeln. Der Ansatz ĂŒber Smart-Plugs erwies sich hier als GlĂŒcksgriff â er abstrahierte die Unterschiede zwischen den Druckern auf die simpelste mögliche Ebene: Strom an oder aus. Diese radikale Vereinfachung ermöglichte eine universelle Lösung, die unabhĂ€ngig vom Druckermodell funktionierte.
Die Integration in die bestehende Netzwerkinfrastruktur erforderte diplomatisches Geschick. Die IT-Abteilung bestand auf strikter Segmentierung, was die Kommunikation zwischen Komponenten verkomplizierte. Die Lösung â ein dediziertes IoT-Subnetz fĂŒr das MYP-System â stellte einen akzeptablen Kompromiss dar.
2.5 Anforderungsgerechte Auswahl der Ăbertragungssysteme
Die Auswahl der Ăbertragungssysteme wurde maĂgeblich durch die Sicherheitsanforderungen bestimmt. Cloud-basierte Lösungen schieden kategorisch aus, was die Optionen erheblich einschrĂ€nkte. Die Entscheidung fĂŒr lokale HTTP/HTTPS-Kommunikation mit selbstsignierten Zertifikaten war pragmatisch, aber effektiv.
Die Kommunikation mit den Smart-Plugs erfolgte ĂŒber das proprietĂ€re TP-Link-Protokoll, das auf HTTP basiert. Die anfĂ€nglichen Versuche, die offizielle Cloud-API zu nutzen, scheiterten an den Sicherheitsrichtlinien. Die Entdeckung, dass die GerĂ€te auch eine lokale API anboten, war ein Durchbruch â allerdings einer, der erheblichen Reverse-Engineering-Aufwand erforderte.
Hier kam Wireshark ins Spiel. Zusammen mit der TAPO-App analysierte ich den Netzwerkverkehr, um das Kommunikationsprotokoll zu entschlĂŒsseln. Die Erkenntnis, dass ein Session-Key erforderlich war, der sich bei jeder Anmeldung Ă€nderte, verkomplizierte die Integration erheblich. ZunĂ€chst versuchte ich, diesen Key manuell abzufangen und in meine Anwendung zu integrieren â ein Ansatz, der funktionierte, aber offensichtlich nicht praxistauglich war.
Nach tagelangen Experimenten und zahllosen Fehlversuchen stieĂ ich auf ein alternatives Python-Modul, das die lokale Kommunikation mit den TAPO-GerĂ€ten ermöglichte. Dieses Modul â versteckt in den Tiefen von GitHub â löste die Session-Key-Problematik elegant und ermöglichte eine stabile Integration.
2.6 Planung der Prozess-/ und Systemschnittstellen
Die Schnittstellenplanung erforderte eine sorgfĂ€ltige Balance zwischen FunktionalitĂ€t und Sicherheit. Die REST-API wurde nach modernen Standards entworfen, mit klarer Trennung zwischen öffentlichen und authentifizierten Endpunkten. Ăber 100 Endpunkte wurden spezifiziert â eine Zahl, die zunĂ€chst ĂŒbertrieben erschien, sich aber als notwendig erwies.
Die Schnittstelle zwischen Frontend und Backend basierte auf JSON-formatierter Kommunikation ĂŒber HTTPS. Die Implementierung von CORS-Policies gestaltete sich komplexer als erwartet, da die Sicherheitsrichtlinien strikte EinschrĂ€nkungen vorgaben. Die Lösung â eine Whitelist-basierte CORS-Konfiguration â erfĂŒllte die Sicherheitsanforderungen ohne die FunktionalitĂ€t einzuschrĂ€nken.
Besondere Aufmerksamkeit erforderte die Scheduler-Schnittstelle. Der als eigenstÀndiger Thread implementierte Scheduler musste nahtlos mit der Hauptanwendung kommunizieren, ohne dabei Race Conditions oder Deadlocks zu verursachen. Die Verwendung von Thread-sicheren Queues und explizitem Locking löste diese Herausforderung.
2.7 Planung der IT-SicherheitsmaĂnahmen
Die Sicherheitsplanung folgte dem Prinzip "Security by Design" â ein Ansatz, der sich angesichts der sensiblen Umgebung als unerlĂ€sslich erwies. Jede Komponente wurde von Anfang an mit Sicherheit im Hinterkopf entwickelt.
Die Authentifizierung basierte auf bcrypt mit einem Cost-Faktor von 12 â ein Kompromiss zwischen Sicherheit und Performance auf dem Raspberry Pi. Session-Management wurde ĂŒber Flask-Login realisiert, mit konfigurierbaren Timeout-Werten und sicheren Session-Cookies. Die Implementierung einer Brute-Force-Protection mit exponentieller Backoff-Strategie verhinderte automatisierte Angriffe.
Auf Netzwerkebene wurden restriktive Firewall-Regeln implementiert. Nur essenzielle Ports wurden geöffnet, ausgehende Verbindungen auf die IP-Adressen der Smart-Plugs beschrĂ€nkt. Die Verwendung von iptables ermöglichte granulare Kontrolle ĂŒber den Netzwerkverkehr.
Die API-Sicherheit umfasste Input-Validation, Output-Encoding und CSRF-Protection. Jeder Endpunkt wurde gegen die OWASP Top 10 abgesichert. Ein selbstentwickeltes Intrusion Detection System ĂŒberwachte verdĂ€chtige AktivitĂ€ten und sperrte bei Bedarf IP-Adressen temporĂ€r.
3. DurchfĂŒhrung und Auftragsbearbeitung
In diesem Kapitel wird die konkrete Umsetzung beschrieben.
3.1 Prozess-Schritte und Vorgehensweise
Die DurchfĂŒhrung des Projekts glich einer technischen Odyssee, gespickt mit unerwarteten Wendungen und kreativen LösungsansĂ€tzen. Die ursprĂŒnglich geplante lineare Vorgehensweise wich schnell einer iterativen, problemgetriebenen Herangehensweise.
3.1.1 Datenabfrage der Sensoren
Die "Sensoren" in diesem Kontext waren die Smart-Plugs â eine euphemistische Bezeichnung fĂŒr GerĂ€te, die sich als erstaunlich widerspenstig erwiesen. Die initiale Annahme, dass die PyP100-Bibliothek out-of-the-box funktionieren wĂŒrde, zerschlug sich an der RealitĂ€t der proprietĂ€ren TP-Link-Implementation.
Der erste Ansatz â die Nutzung der dokumentierten Cloud-API â scheiterte an den Sicherheitsrichtlinien. Der zweite Ansatz â die direkte lokale Kommunikation â scheiterte an der fehlenden Dokumentation. Erst der dritte Ansatz â Reverse Engineering mittels Wireshark â fĂŒhrte zum Durchbruch.
Die Wireshark-Analyse offenbarte das komplexe Authentifizierungsprotokoll der TAPO-GerĂ€te. Jede Kommunikation erforderte einen verschlĂŒsselten Handshake, gefolgt von einem Session-Token, der fĂŒr alle weiteren Operationen benötigt wurde. Die VerschlĂŒsselung basierte auf einer Kombination aus RSA und AES â durchaus respektabel fĂŒr Consumer-Hardware.
Die Implementierung der Datenabfrage erfolgte schlieĂlich ĂŒber eine selbstentwickelte Wrapper-Klasse, die die KomplexitĂ€t der Kommunikation kapselte. Retry-Mechanismen mit exponentieller Backoff-Strategie sorgten fĂŒr Robustheit bei Netzwerkproblemen. Die Abfrage umfasste nicht nur den Schaltzustand, sondern auch Metadaten wie Energieverbrauch und SignalstĂ€rke â Informationen, die sich spĂ€ter als wertvoll fĂŒr das Monitoring erwiesen.
3.1.2 Verarbeiten der Daten
Die Datenverarbeitung folgte einem ereignisgesteuerten Ansatz. Der Scheduler-Thread prĂŒfte im Minutentakt die Datenbank auf anstehende Aktionen und triggerte entsprechende Smart-Plug-Operationen. Die Herausforderung bestand darin, die AsynchronitĂ€t der Hardware-Operationen mit der SynchronitĂ€t der Datenbankzugriffe zu vereinen.
Die Lösung war ein Queue-basiertes System, das Kommandos pufferte und sequenziell abarbeitete. Dies verhinderte Race Conditions bei simultanen Zugriffen und gewÀhrleistete die Konsistenz der SystemzustÀnde. Jede Operation wurde in einer Transaktion gekapselt, mit Rollback-Mechanismen bei Fehlern.
Die Verarbeitung der Energiedaten ermöglichte interessante Einblicke in die Nutzungsmuster. Anomalien â wie ungewöhnlich hoher Stromverbrauch â konnten erkannt und gemeldet werden. Diese Funktion, ursprĂŒnglich nicht geplant, erwies sich als wertvolles Feature fĂŒr die prĂ€ventive Wartung.
3.2 Abweichung, Anpassung und Entscheidungen
Die ProjektdurchfĂŒhrung war geprĂ€gt von kontinuierlichen Anpassungen an die RealitĂ€t. Die gröĂte Abweichung vom ursprĂŒnglichen Plan war der Wechsel der Systemarchitektur von einer verteilten zu einer konsolidierten Lösung.
UrsprĂŒnglich war geplant, dass ich nur die API entwickle und diese mit Torbens Frontend auf einem separaten Raspberry Pi verknĂŒpfe. Diese Architektur erwies sich als zu komplex â die unterschiedlichen Technologie-Stacks (Next.js vs. Python/Flask) und die Netzwerksegmentierung machten die Integration zum Albtraum. Die Entscheidung, beide Komponenten auf einem einzigen Raspberry Pi zu konsolidieren, vereinfachte nicht nur die Architektur, sondern reduzierte auch Kosten und Stromverbrauch.
Der versehentliche Verlust der SSL-Zertifikate wĂ€hrend einer Neuinstallation â ein Moment des Schreckens â fĂŒhrte zur Implementierung eines robusten Backup-Systems. Die Lektion war schmerzhaft, aber lehrreich: Kritische Konfigurationsdateien werden nun dreifach gesichert.
Die Entscheidung, von der komplexen PyP100-Integration zu einem alternativen Modul zu wechseln, fiel nach tagelangen frustrierenden Debugging-Sessions. Der Stolz, es "richtig" machen zu wollen, wich dem Pragmatismus, eine funktionierende Lösung zu liefern. Das gefundene Alternative Modul â ironischerweise simpler und stabiler â rettete das Projekt.
3.3 MaĂnahmen zur QualitĂ€tskontrolle
Die QualitÀtskontrolle erfolgte kontinuierlich und vielschichtig. Automatisierte Tests liefen bei jedem Commit, manuelle Tests ergÀnzten diese bei kritischen Funktionen. Die Herausforderung bestand darin, die Hardware-abhÀngigen Komponenten testbar zu machen.
Mock-Objekte simulierten die Smart-Plugs fĂŒr Unit-Tests. Diese Mocks replizierten das Verhalten der echten Hardware, einschlieĂlich typischer Fehlerszenarien wie Timeouts oder VerbindungsabbrĂŒche. Die Test-Coverage erreichte respektable 85% â die fehlenden 15% waren hauptsĂ€chlich UI-Code und Error-Handler.
Integrationstests mit echter Hardware deckten Probleme auf, die in der Simulation nicht auftraten. Timing-Issues bei simultanen Zugriffen, Memory-Leaks bei lang laufenden Operationen, Race Conditions im Scheduler â all diese Probleme wurden iterativ identifiziert und behoben.
Die Implementierung eines Logging-Systems erwies sich als unschÀtzbar wertvoll. Jede Operation, jeder Fehler, jede Anomalie wurde protokolliert. Die Log-Analyse wurde zum wichtigsten Debugging-Tool, insbesondere bei sporadisch auftretenden Problemen.
3.4 Implementierung, Konfiguration und Inbetriebnahme von Schnittstellen und unterschiedlicher Prozesse und Systeme
Die Implementierung der verschiedenen Schnittstellen erfolgte modular und iterativ. Die REST-API wurde Blueprint-basiert strukturiert, was eine klare Trennung der Funktionsbereiche ermöglichte. Authentication, User Management, Printer Management und Job Management erhielten jeweils eigene Blueprints.
Die Smart-Plug-Schnittstelle durchlief mehrere Iterationen. Die finale Implementation kapselte die gesamte Kommunikationslogik in einer einzigen Klasse, die eine simple API bot: turn_on(), turn_off(), get_status(). Diese Abstraktion verbarg die KomplexitÀt des darunterliegenden Protokolls und ermöglichte einfache Erweiterungen.
Die Datenbank-Schnittstelle nutzte SQLAlchemy's ORM-FunktionalitĂ€t. Die Definition der Models erfolgte deklarativ, Migrationen wurden ĂŒber Alembic verwaltet. Die Entscheidung fĂŒr SQLite als Datenbank war pragmatisch â keine zusĂ€tzlichen Services, keine Konfiguration, perfekt fĂŒr die Offline-Anforderung.
Der Scheduler wurde als eigenstĂ€ndiger Thread implementiert, der beim Anwendungsstart initialisiert wurde. Die Kommunikation mit dem Hauptthread erfolgte ĂŒber thread-sichere Queues. Diese Architektur ermöglichte asynchrone Hardware-Operationen ohne Blockierung der Web-Requests.
3.5 Konfiguration von Ăbertragungssystemen und Integration in die Gesamtinfrastruktur
Die Integration in die Mercedes-Benz-Infrastruktur erforderte zahlreiche Kompromisse und kreative Lösungen. Das dedizierte IoT-Subnetz wurde speziell fĂŒr das MYP-System eingerichtet, mit restriktiven Firewall-Regeln und ohne Internet-Zugang.
Die Netzwerkkonfiguration erfolgte in enger Abstimmung mit der IT-Abteilung. Jede Ănderung erforderte ein Change-Request, jede Port-Ăffnung eine Security-Review. Der bĂŒrokratische Overhead war erheblich, aber notwendig fĂŒr die Compliance.
Die SSL-Konfiguration mit selbstsignierten Zertifikaten war ein notwendiges Ăbel. Ohne Internet-Zugang war Let's Encrypt keine Option. Die Zertifikate wurden mit allen relevanten SANs (Subject Alternative Names) generiert, um KompatibilitĂ€tsprobleme zu vermeiden. Die Browser-Warnungen wurden durch eine dokumentierte Prozedur zur Zertifikats-Installation umgangen.
Die Integration der Smart-Plugs erforderte statische IP-Adressen â DHCP-Reservierungen waren in der Netzwerk-Policy nicht vorgesehen. Die manuelle Konfiguration jedes GerĂ€ts war mĂŒhsam, gewĂ€hrleistete aber stabile Verbindungen.
3.6 ErfĂŒllen der Anforderungen an die Informationssicherheit
Die Informationssicherheit wurde von Anfang an als kritischer Erfolgsfaktor behandelt. Jede Designentscheidung wurde durch die Sicherheitsbrille betrachtet, jede Implementierung auf Schwachstellen geprĂŒft.
Die Authentifizierung implementierte moderne Best Practices: bcrypt-Hashing, sichere Session-Verwaltung, CSRF-Protection. Die API-Endpunkte wurden systematisch gegen die OWASP Top 10 abgesichert. Input-Validation erfolgte auf mehreren Ebenen â Client-seitig fĂŒr UX, Server-seitig fĂŒr Sicherheit.
Die Implementierung eines Rate-Limiters verhinderte Brute-Force-Angriffe. Nach fĂŒnf fehlgeschlagenen Login-Versuchen wurde die IP-Adresse fĂŒr 30 Minuten gesperrt â lang genug, um Angriffe unwirtschaftlich zu machen, kurz genug, um legitime Nutzer nicht ĂŒbermĂ€Ăig zu frustrieren.
DSGVO-Compliance wurde durch Privacy-by-Design erreicht. Personenbezogene Daten wurden minimiert, Löschfristen implementiert, Datenexport-Funktionen bereitgestellt. Die Logging-FunktionalitÀt anonymisierte IP-Adressen nach 30 Tagen automatisch.
4. Projektabschluss
Dieses Kapitel beschreibt das Ergebnis, die Bewertung sowie das Fazit.
4.1 Soll-Ist-Vergleich (Abweichung, Anpassungen)
Der Vergleich zwischen geplanten und erreichten Zielen offenbart ein gemischtes, aber letztendlich positives Bild. Die KernfunktionalitĂ€t â digitale Reservierungsverwaltung mit automatischer Hardware-Steuerung â wurde vollstĂ€ndig implementiert und ĂŒbertraf in einigen Aspekten sogar die ursprĂŒnglichen Anforderungen.
Erfolgreich umgesetzte Anforderungen:
-
VollstÀndige Digitalisierung des Reservierungsprozesses
-
Automatische Steuerung der 3D-Drucker via Smart-Plugs
-
Robuste Benutzerauthentifizierung und -autorisierung
-
Umfassende REST-API mit ĂŒber 100 Endpunkten
-
Offline-fÀhige Architektur ohne Cloud-AbhÀngigkeiten
-
DSGVO-konforme Datenhaltung
-
Energiemonitoring und Nutzungsstatistiken
Abweichungen vom ursprĂŒnglichen Plan:
-
Konsolidierung auf einen statt zwei Raspberry Pis
-
Wechsel von PyP100 zu alternativem Kommunikationsmodul
-
Verzicht auf Touch-Display zugunsten konventioneller Eingabe
-
Verschiebung der Benutzerschulungen auf Nach-Projektphase
Die gröĂte positive Ăberraschung war die erfolgreiche Integration des Energiemonitorings. Diese ursprĂŒnglich nicht geplante Funktion ermöglicht detaillierte Einblicke in Nutzungsmuster und Energieverbrauch â wertvolle Daten fĂŒr die Optimierung des Druckerbetriebs.
Die technischen Herausforderungen â insbesondere die Smart-Plug-Integration â erforderten mehr Zeit als geplant. Die investierte MĂŒhe zahlte sich jedoch aus: Die finale Lösung ist robuster und wartungsfreundlicher als eine Quick-and-Dirty-Implementation gewesen wĂ€re.
4.2 Fazit
Das MYP-Projekt demonstriert eindrucksvoll, wie durch kreative AnsĂ€tze und technisches Geschick aus scheinbar unĂŒberwindbaren Hindernissen elegante Lösungen entstehen können. Die Transformation eines analogen Whiteboards in ein modernes cyber-physisches System mag auf den ersten Blick trivial erscheinen â die Umsetzung offenbarte jedoch die volle KomplexitĂ€t vernetzter Systeme.
Die Entscheidung, die fehlenden Schnittstellen der 3D-Drucker durch Smart-Plugs zu ĂŒberbrĂŒcken, erwies sich als GlĂŒcksgriff. Diese Abstraktion auf die grundlegendste Ebene â Stromversorgung â ermöglichte eine universelle Lösung, die unabhĂ€ngig von Druckermodell oder Hersteller funktioniert. Ein klassisches Beispiel fĂŒr das KISS-Prinzip (Keep It Simple, Stupid) in Aktion.
Die technische Exzellenz des Systems zeigt sich in den Details: Ăber 9.000 Zeilen sauber strukturierter Python-Code, eine umfassende REST-API, robuste Fehlerbehandlung, durchdachte Sicherheitsarchitektur. Doch der wahre Erfolg liegt in der Praxistauglichkeit â das System lĂ€uft stabil, wird aktiv genutzt und hat das manuelle Chaos endgĂŒltig beendet.
Persönlich war das Projekt eine Achterbahnfahrt der Emotionen. Von der anfĂ€nglichen Euphorie ĂŒber die frustrierenden Debugging-Sessions bis zum finalen Triumph â jede Phase bot Lernerfahrungen. Die FĂ€higkeit, unter Zeitdruck pragmatische Entscheidungen zu treffen, ohne dabei die QualitĂ€t zu kompromittieren, war die wichtigste erworbene Kompetenz.
4.3 Optimierungsmöglichkeiten
Das MYP-System bietet eine solide Basis fĂŒr zukĂŒnftige Erweiterungen. Die modulare Architektur und umfassende API ermöglichen die Integration zusĂ€tzlicher FunktionalitĂ€ten ohne grundlegende SystemĂ€nderungen.
Kurzfristig ist die Anbindung an das Active Directory der Mercedes-Benz AG geplant. Die vorbereiteten Schnittstellen ermöglichen eine nahtlose Integration, sobald die erforderlichen Genehmigungen vorliegen. Diese Erweiterung wĂŒrde die Benutzerverwaltung erheblich vereinfachen.
Mittelfristig könnte bei VerfĂŒgbarkeit modernerer 3D-Drucker eine direkte GerĂ€teintegration realisiert werden. Die Einbindung von OctoPrint oder vergleichbaren Systemen wĂŒrde erweiterte Funktionen wie DruckfortschrittsĂŒberwachung und Remote-Dateiverwaltung ermöglichen.
Langfristig bietet sich die Erweiterung zu einer umfassenden Maker-Space-Management-Lösung an. Die grundlegende Architektur unterstĂŒtzt die Integration weiterer GerĂ€tetypen wie Lasercutter oder CNC-FrĂ€sen. Machine-Learning-Algorithmen könnten perspektivisch fĂŒr Auslastungsprognosen und OptimierungsvorschlĂ€ge implementiert werden.
4.4 Abnahme
Die formale Projektabnahme erfolgte am 2. Juni 2025 durch die Ausbildungsleitung der TBA. Die PrĂ€sentation umfasste eine Live-Demonstration aller Kernfunktionen sowie eine technische Deep-Dive-Session fĂŒr interessierte Kollegen.
Die Live-Demonstration verlief â trotz Murphy's Law â reibungslos. Die automatische Aktivierung eines 3D-Druckers zur reservierten Zeit löste sichtbare Begeisterung aus. Die anschlieĂende ErlĂ€uterung der technischen Herausforderungen und deren Lösungen unterstrich die KomplexitĂ€t des scheinbar simplen Systems.
Besonders positiv wurde die Wirtschaftlichkeit der Lösung bewertet. Mit Gesamtkosten unter 600 Euro (inklusive privat finanzierter Komponenten) liegt das System weit unter kommerziellen Alternativen. Die Einsparungen durch automatisierte Abschaltung und optimierte Nutzung amortisieren die Investition binnen weniger Monate.
Die RĂŒckmeldungen der ersten Nutzer bestĂ€tigten die Praxistauglichkeit. Die intuitive Bedienung, die zuverlĂ€ssige Funktion und die Eliminierung von Reservierungskonflikten wurden besonders gelobt. Kritikpunkte â hauptsĂ€chlich bezĂŒglich kleiner UX-Details â wurden dokumentiert und flieĂen in zukĂŒnftige Updates ein.
Mit der erfolgreichen Abnahme und Inbetriebnahme schlieĂt das Projekt formal ab. Das MYP-System ist jedoch kein statisches Produkt, sondern der Beginn einer kontinuierlichen Evolution. Die geschaffene Basis ermöglicht iterative Verbesserungen und Erweiterungen â ganz im Sinne moderner Software-Entwicklung.
Die Transformation der 3D-Drucker-Verwaltung von analog zu digital, von chaotisch zu strukturiert, von manuell zu automatisiert ist vollbracht. Was als technische Herausforderung begann, endete als Erfolgsgeschichte â ein Beweis dafĂŒr, dass mit KreativitĂ€t, Durchhaltevermögen und einer Prise technischer Finesse auch scheinbar unlösbare Probleme gemeistert werden können.