50 KiB
Raw Blame History

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

Netzwerkdiagramme und Systemarchitektur

(Inklusive Zenmap-Visualisierung der DNS-Problematik)

API-Dokumentation

Benutzerhandbuch

Testprotokolle

Screenshots der BenutzeroberflÀche

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 PrioritĂ€t, aber fĂŒr unsere Zwecke vollkommen ausreichend. Diese GerĂ€te stellen eine wichtige Ressource fĂŒr die praktische Ausbildung dar, weisen jedoch erhebliche technische Limitierungen auf: Die Drucker verfĂŒgen weder ĂŒber Funk- noch Netzwerkschnittstellen, geschweige denn ĂŒber andere gesamteinheitliche Steuerungsmöglichkeiten. Diese technischen EinschrĂ€nkungen verhinderten bislang eine koordinierte digitale Verwaltung und damit auch jegliche Übersicht von Reservierungen und NutzungsplĂ€nen.

Die Technische BerufsausbildungsstĂ€tte (TBA) 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. Nach erfolgter IHK-Genehmigung meines Projektantrags entdeckte ich diesen ungenutzten Prototyp und erkannte das Potenzial, ihn als Basis fĂŒr meine Projektarbeit zu nutzen. Die Möglichkeit, mehrere Aspekte meiner Fachrichtung einzubringen, weckte meine intrinsische Motivation – im Gegensatz zu anderen verfĂŒgbaren Projektoptionen, die eher pflichtgemĂ€ĂŸen Charakter hatten.

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 unternehmensinternen Sicherheitsrichtlinien 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, möchte man meinen – 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 unweigerlich nach sich gezogen hĂ€tten.

Die Integration in das unternehmensweite Intranet war ursprĂŒnglich fest eingeplant – ein Vorhaben, das sich als verhĂ€ngnisvoller Trugschluss erweisen sollte. Zur Projektmitte hatte ich die bereits genehmigten SSL-Zertifikate des Haack'schen Prototyps durch einen unglĂŒcklichen Neuinstallationsprozess unwiederbringlich gelöscht; ein Moment des Schreckens, der die gesamte Projektplanung ins Wanken brachte. Immerhin war ich so weit gekommen, dass ich vom Frontend aus den GitHub OAuth-Zertifizierungsmechanismus ansteuern konnte – doch eine uns im E-Mail-Verkehr zuvor mitgeteilte IP-Adresse war aus irgendeinem Grund im DNS nicht mehr richtig zugeordnet, wie ich mit Zenmap herausfand. Die Intranetanbindung blieb somit ausstehend; zum Zeitpunkt der Abgabe war sie aufgrund der KonzerngrĂ¶ĂŸe und der damit einhergehenden, entschleunigenden FormalitĂ€ten und Genehmigungsprozesse unvollkommen. Diese Anbindung hĂ€tte zusĂ€tzliche SicherheitsprĂŒfungen erfordert, die den bereits strapazierten Projektrahmen endgĂŒltig gesprengt hĂ€tten. Stattdessen wurde eine autarke Lösung entwickelt, die alle erforderlichen Funktionen lokal bereitstellt – ein Ansatz, der sich trotz der RĂŒckschlĂ€ge als gangbar erwies.

1.4 Projektumfeld

Das Projekt wurde im Rahmen meiner Ausbildung zum Fachinformatiker fĂŒr digitale Vernetzung bei Mercedes durchgefĂŒhrt. Die Technische BerufsausbildungsstĂ€tte bot dabei die vorhandene Infrastruktur und – wenn auch manchmal zögerliche – fachliche UnterstĂŒtzung durch die Ausbildungsleitung.

Da Torben Haack seine Ausbildung bereits abgeschlossen hatte, als ich nach offizieller IHK-Zulassung mit der Projektarbeit begann, konnte ich auf seinen bereits existierenden Frontend-Prototyp aufbauen. Es handelte sich dabei um eine rein sequenzielle Weiterentwicklung ohne vorherige Abstimmung oder Zusammenarbeit – ich ĂŒbernahm lediglich das vorhandene Artefakt und erweiterte es zu einer Gesamtlösung. Diese Konstellation erwies sich als Segen und Fluch zugleich.

Die organisatorischen Rahmenbedingungen wurden maßgeblich durch die konzerninternen Sicherheitsrichtlinien und IT-Governance 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 jede 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.

Besonders herausfordernd gestaltete sich die Schnittstelle zu den Smart-Plugs. Die ursprĂŒngliche Annahme, dass sich die TAPO P110-Steckdosen von TP-Link problemlos integrieren lassen wĂŒrden, erwies sich als zu optimistisch. Die GerĂ€te boten keine dokumentierte API – nur die proprietĂ€re TAPO-App ermöglichte die Steuerung. Dies stellte eine erhebliche technische Herausforderung fĂŒr die geplante Integration dar.

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 und mich zu kreativen LösungsansĂ€tzen zwang.

Die Authentifizierung und Autorisierung musste robust implementiert werden, ohne die Benutzerfreundlichkeit zu beeintrĂ€chtigen – ein klassisches Dilemma der IT-Sicherheit. Die Entscheidung fĂŒr bcrypt-basiertes Password-Hashing stellte einen vernĂŒnftigen Kompromiss zwischen Sicherheit und Performance auf dem ressourcenbeschrĂ€nkten Raspberry Pi dar; die Details der Implementierung ĂŒberließ ich – naturgemĂ€ĂŸ außerhalb meiner Kernkompetenz der digitalen Vernetzung liegend – der bewĂ€hrten Flask-Login-Bibliothek.

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 erschwert Brute-Force-Angriffe auf die Authentifizierungsschnittstelle – eine Maßnahme, die zwar keinen absoluten Schutz bietet, aber die HĂŒrde fĂŒr Angreifer signifikant erhöht.

1.7 Darstellung der vorhandenen Systemarchitektur

Die vorgefundene Systemarchitektur – möchte man sie ĂŒberhaupt so nennen – bestand aus diffusen Komponenten ohne jegliche Integration. Die 3D-Drucker operierten als Insellösungen, verbunden lediglich durch ihre physische NĂ€he und das gemeinsame Whiteboard. Der Frontend-Prototyp von Torben Haack existierte als Docker-Container auf einem Entwicklungsserver, operativ maximal auf ein Testnetzwerk begrenzt ohne jegliche praktische Integration – 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 (der sich spĂ€ter als unterdimensioniert erweisen und durch einen Pi 5 ersetzt werden sollte) fungierte als zentrale Plattform fĂŒr das MYP-System.

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; eine Entscheidung, die nicht zuletzt auf meiner privaten Erfahrung mit TAPO-GerĂ€ten basierte. In meiner privat gefĂŒhrten Infrastruktur hatte ich bereits TAPO-GerĂ€te aller Art integriert – stets ging dies recht schnell und einfach vonstatten. Privat nutzte ich ebenfalls Air-Gapped-Networks hierfĂŒr, jedoch mit dem entscheidenden Unterschied, nicht mit der eigenstĂ€ndigen programmatischen Integration eben jener GerĂ€te als Hauptkomponente beauftragt zu sein; ein Unterschied, der sich als gravierend herausstellen sollte.

2. Projektplanung

2.1 Terminplanung

Die Projektplanung folgte einem agilen Ansatz nach Scrum-Prinzipien – eine Entscheidung, die sich angesichts der zahlreichen UnwĂ€gbarkeiten als richtig 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 – ja – auch Überraschungen bereithielt.

Sprint 1 (15.-19. April 2025)

Der erste Sprint widmete sich der Analyse des vorgefundenen Prototyps und der Definition der Erweiterungspunkte. Nach Projektstart und erstmaliger Sichtung der Frontend-Codebasis offenbarte sich eine solide, wenn auch stellenweise ĂŒberkomplexe Struktur. Die Spezifikation der erforderlichen API-Endpunkte gestaltete sich umfangreicher als erwartet – ĂŒber 100 Endpunkte wurden identifiziert, was mich zunĂ€chst erschaudern ließ. Der kritische Meilenstein dieses Sprints war die erfolgreiche Etablierung der Kommunikation mit den Smart-Plugs ĂŒber die PyP100-Bibliothek; ein Vorhaben, das zunĂ€chst klĂ€glich scheiterte.

Sprint 2 (22.-26. April 2025)

Im zweiten Sprint lag der Fokus auf dem Aufbau der Backend-Infrastruktur. Die Beantragung der erforderlichen Administratorrechte erwies sich als zeitaufwĂ€ndiger als erwartet. 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 mutierte er zu einer Woche der technischen Herausforderungen: 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, wandelte sich dieser Sprint zur Rettungsmission. Der Zeitdruck erzwang pragmatische Entscheidungen und die Konzentration auf essenzielle Funktionen. In intensiven Coding-Sessions wurde die GrundfunktionalitĂ€t implementiert – nicht unbedingt elegant, 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 an kritischen Bugfixes gearbeitet und die Projektdokumentation erstellt.

2.2 Ressourcenplanung

Die Ressourcenplanung gestaltete sich als Balanceakt zwischen technischen Anforderungen und budgetĂ€ren BeschrĂ€nkungen. Die Hardware-Ausstattung wurde sorgfĂ€ltig – und doch 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 und 128 GB Speicher löste die Performance-Probleme, verursachte aber zusĂ€tzliche Kosten und – was schwerer wog – 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.100 bis 192.168.0.106 – 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 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 mir wichtig war.

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 – ein Umstand, der sich als Segen erwies.

Als Betriebssystem stand zunĂ€chst eine Entscheidung zwischen OpenSUSE und NixOS im Raum – NixOS schien durch seine deklarative Konfiguration fĂŒr diesen Einsatzzweck prĂ€destiniert. Letztendlich entschied ich mich doch fĂŒr Raspbian, um nicht unnötig zu experimentieren und die knapp bemessene Zeit effizient zu nutzen; Pragmatismus ĂŒber technische Eleganz.

2.3 Planung der QualitÀtssicherung

Das QualitĂ€tssicherungskonzept orientierte sich am V-Modell. FĂŒr jede Entwicklungsphase wurden korrespondierende TestaktivitĂ€ten definiert.

Zur GewĂ€hrleistung realistischer Testbedingungen wurde eine dedizierte Testumgebung mittels VirtualBox etabliert. UrsprĂŒnglich war die Implementierung zweier virtueller Maschinen vorgesehen – eine fĂŒr das Backend, eine fĂŒr das Frontend – um die geplante verteilte Architektur vollstĂ€ndig zu simulieren. Die zeitlichen Restriktionen erzwangen jedoch eine Fokussierung auf die Backend-Testumgebung. Diese virtuelle Maschine, basierend auf Debian mit Hardware-Konfigurationen analog zum Produktivsystem des Raspberry Pi, ermöglichte realitĂ€tsnahe Tests ohne GefĂ€hrdung der Produktivumgebung sowie die GewĂ€hrleistung meiner absolut-mobilen ProduktivitĂ€t.

Die Konfiguration der Testumgebung erforderte spezielle Anpassungen an die Unternehmensrichtlinien: Da Port 443 auf Dienstrechnern von
Mercedes standardmĂ€ĂŸig blockiert ist, wurde eine Port-Weiterleitung implementiert, die den Zugriff vom Host-System ĂŒber alternative Ports ermöglichte. Diese Lösung gewĂ€hrleistete vollstĂ€ndige Funktionstests bei gleichzeitiger Compliance mit den Sicherheitsrichtlinien.

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 – ein Triumph der Optimierung.

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, der sowohl Sicherheitsbedenken als auch funktionale Anforderungen berĂŒcksichtigte.

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 stellte die zentrale technische Herausforderung dar. Die TAPO-GerĂ€te boten keine dokumentierte Programmierschnittstelle – die Steuerung erfolgte ausschließlich ĂŒber die proprietĂ€re Hersteller-App. Eine systematische Protokollanalyse mittels Wireshark wurde daher unumgĂ€nglich. Die Untersuchung des Netzwerkverkehrs zwischen App und Steckdosen offenbarte eine verschlĂŒsselte Kommunikation mit dynamisch generierten Session-Keys.

Mein initialer Implementierungsversuch mit einem recherchierten Python-Modul verlief erfolglos – die KompatibilitĂ€t mit den vorhandenen GerĂ€ten war nicht gegeben. Die Wireshark-Analyse zeigte konsistente verschlĂŒsselte Response-Muster. Nach mehreren erfolglosen Versuchen, einzelne Anfragen zu replizieren, wurde deutlich: Die korrekte Sequenzierung der Kommunikation war essentiell. Das Protokoll nutzte temporĂ€re Authentifizierungs-Cookies in Kombination mit proprietĂ€rer VerschlĂŒsselung.

Nach intensiver Recherche und mehreren Tagen systematischer Tests konnte PyP100 als geeignete Lösung identifiziert werden. Dieses auf GitHub verfĂŒgbare Python-Modul implementierte das proprietĂ€re Protokoll korrekt und ermöglichte eine stabile Integration der Smart-Plugs in die Systemarchitektur.

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 Anzahl, die zunĂ€chst umfangreich erschien, sich jedoch als notwendig fĂŒr die vollstĂ€ndige Funktionsabdeckung erwies. Jeder Endpunkt wurde prĂ€zise auf seine spezifische Aufgabe zugeschnitten.

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. Diese Implementation stellte einen ausgewogenen Kompromiss zwischen Sicherheit und Anwenderfreundlichkeit dar.

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 mit einer technisch eleganten Architektur.

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

3.1 Prozess-Schritte und Vorgehensweise

Die DurchfĂŒhrung des Projekts glich einer technischen Expedition 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 technisch anspruchsvoll in der Integration erwiesen. Meine initiale Recherche nach einem geeigneten Python-Modul zur Steuerung verlief erfolglos. Das identifizierte Modul erwies sich als inkompatibel mit den vorhandenen GerĂ€ten.

Daraufhin erfolgte eine Protokollanalyse mittels Wireshark. Die Aufzeichnung des Netzwerkverkehrs zwischen TAPO-App und Smart-Plugs offenbarte ein komplexes Authentifizierungsprotokoll: Die Kommunikation erfolgte verschlĂŒsselt unter Verwendung von Session-Tokens mit dynamischer Generierung bei jeder Authentifizierung. Die implementierte VerschlĂŒsselung basierte auf einer RSA-AES-Hybridarchitektur – eine bemerkenswerte Sicherheitsimplementierung fĂŒr GerĂ€te dieser Preisklasse, die jedoch die Integration erheblich verkomplizierte.

Nach mehrtĂ€giger Analyse und verschiedenen Implementierungsversuchen identifizierte ich PyP100 – ein Python-Modul, das die erforderliche lokale Kommunikation mit den TAPO-GerĂ€ten beherrschte. Diese auf GitHub verfĂŒgbare Bibliothek löste die Session-Key-Problematik durch eine elegante Implementierung des proprietĂ€ren Protokolls.

Die Implementierung der Datenabfrage erfolgte ĂŒ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 in der Projektspezifikation vorgesehen, entwickelte sich zu einem wertvollen Feature fĂŒr die prĂ€ventive Wartung. Die ungeplante ZusatzfunktionalitĂ€t erweiterte den Nutzen des Systems signifikant ĂŒber die reine Reservierungsverwaltung hinaus.

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 dem existierenden 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 schwierig. 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 fĂŒhrte zur Implementierung eines robusten Backup-Systems. Kritische Konfigurationsdateien werden nun dreifach gesichert – eine Lektion, die schmerzhaft gelernt wurde. Der Verlust der bereits genehmigten Zertifikate des Haack'schen Prototyps zur Projektmitte war ein Moment des Schreckens; die mĂŒhsam erkĂ€mpften Genehmigungen, die etablierten Vertrauensstellungen – alles dahin durch einen unbedachten Moment wĂ€hrend der Systemkonfiguration.

Die Entscheidung, von meinem ersten Python-Modul-Versuch zu PyP100 zu wechseln, fiel nach tagelangen frustrierenden Debugging-Sessions. Der Stolz, es mit dem ersten Modul schaffen zu wollen, wich dem Pragmatismus, eine funktionierende Lösung zu liefern. PyP100 – 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 85% – die fehlenden 15% waren hauptsĂ€chlich UI-Code und Error-Handler, deren Test-Aufwand in keinem vernĂŒnftigen VerhĂ€ltnis zum Nutzen stand.

Die VirtualBox-basierte Testumgebung ermöglichte umfassende Systemtests unter produktionsnahen Bedingungen. Die virtuelle Maschine replizierte die Konfiguration des Produktivsystems, wodurch potenzielle InkompatibilitĂ€ten frĂŒhzeitig identifiziert werden konnten. Die implementierte Port-Weiterleitung umging die Restriktionen des Unternehmensnetzes und ermöglichte vollstĂ€ndige End-to-End-Tests inklusive HTTPS-Kommunikation.

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öglicht asynchrone Hardware-Operationen ohne Blockierung der Web-Requests.

3.5 Konfiguration von Übertragungssystemen und Integration in die Gesamtinfrastruktur

Die Integration in die Unternehmensinfrastruktur 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 OpenSSL generiert und mit allen relevanten SANs (Subject Alternative Names) versehen, um KompatibilitĂ€tsprobleme zu vermeiden. Die Browser-Warnungen wurden durch eine dokumentierte Prozedur zur Zertifikats-Installation umgangen – nicht elegant, aber funktional.

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 zeitaufwendig, gewĂ€hrleistete jedoch stabile und vorhersagbare Netzwerkverbindungen.

FĂŒr die Administration und Wartung des Systems wurden Remote-Zugriffsmöglichkeiten implementiert. Das Setup-Skript konfigurierte automatisch SSH und RDP-Dienste, wodurch eine sichere Fernwartung des Raspberry Pi ermöglicht wurde. Diese Remote-ZugĂ€nge erwiesen sich als essentiell fĂŒr die effiziente Systemadministration, insbesondere da der physische Zugang zum Serverschrank oft eingeschrĂ€nkt war.

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 die Benutzerfreundlichkeit, Server-seitig fĂŒr die Sicherheit. Diese mehrschichtige Validierung gewĂ€hrleistete sowohl eine positive Nutzererfahrung als auch robuste Sicherheit.

Die Implementierung eines Rate-Limiters erschwerte Brute-Force-Angriffe. Nach fĂŒnf fehlgeschlagenen Login-Versuchen wurde die IP-Adresse fĂŒr 30 Minuten gesperrt – lang genug, um Angriffe unattraktiv zu machen, kurz genug, um legitime Nutzer nicht ĂŒbermĂ€ĂŸig zu frustrieren; ein Balanceakt zwischen Sicherheit und Benutzerfreundlichkeit.

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 – Datenschutz nicht als Pflicht, sondern als SelbstverstĂ€ndlichkeit.

4. Projektabschluss

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:

Die Projektziele wurden in wesentlichen Punkten erfolgreich erreicht. Die vollstĂ€ndige Digitalisierung des Reservierungsprozesses konnte realisiert werden, wobei die automatische Steuerung der 3D-Drucker ĂŒber Smart-Plugs eine zentrale Rolle spielte. Das System verfĂŒgt ĂŒber eine robuste Benutzerauthentifizierung und -autorisierung sowie eine umfassende REST-API mit ĂŒber 100 Endpunkten. Die entwickelte Architektur ist vollstĂ€ndig offline-fĂ€hig und verzichtet bewusst auf jegliche Cloud-AbhĂ€ngigkeiten. Dabei wurde durchgehend auf DSGVO-konforme Datenhaltung geachtet. Als zusĂ€tzlicher Mehrwert konnte ein Energiemonitoring mit detaillierten Nutzungsstatistiken implementiert werden.

Abweichungen vom ursprĂŒnglichen Plan:

Im Projektverlauf ergaben sich einige Abweichungen von der ursprĂŒnglichen Planung. Die Systemarchitektur wurde von zwei separaten Raspberry Pis auf eine konsolidierte Ein-GerĂ€t-Lösung umgestellt. Bei der Smart-Plug-Integration musste vom initial geplanten PyP100-Modul zu einer alternativen Kommunikationslösung gewechselt werden. Aufgrund von Performance-EinschrĂ€nkungen erfolgte ein Hardware-Upgrade vom Raspberry Pi 4 auf den leistungsstĂ€rkeren Pi 5. Die ursprĂŒnglich eingeplanten Benutzerschulungen mussten zeitbedingt in die Nach-Projektphase verschoben werden.

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.

FĂŒr die programmatische Umsetzung des Frontends nahm ich gĂ€nzlich UnterstĂŒtzung kĂŒnstlicher Intelligenz zu Hilfe – mehr als absolut notwendig, um das Zeitlimit nicht um LĂ€ngen zu ĂŒberschreiten und die Profession meiner Fachrichtung einzuhalten. Die Frontend-Entwicklung lag außerhalb meines Kernkompetenzbereichs der digitalen Vernetzung; die KI-Assistenz ermöglichte es mir, mich auf die Backend-Integration und Hardware-Anbindung zu konzentrieren – meine eigentlichen StĂ€rken.

Die Implementierung eines Kiosk-Modus fĂŒr die Werkstatt-Terminals erforderte zusĂ€tzliche Systemkonfiguration: Openbox als minimalistisches Desktop-Environment, Chromium im Kiosk-Modus mit automatischem Start dreier Instanzen – eine auf Port 443, eine auf Port 80 als Fallback fĂŒr die API, sowie eine lokale Instanz auf Port 5000 fĂŒr den Kiosk-Modus. Die Unternehmens-Root-CA-Zertifikate mussten manuell installiert werden; ein Shell-Skript automatisierte diesen Prozess, eine systemd-Service-Datei gewĂ€hrleistete den Autostart. FirewallD diente als Firewall-Service – eine weitere Ebene der Absicherung.

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.

Die technische Exzellenz des Systems zeigt sich in den Details: Über 9.000 Zeilen sauber strukturierter Python-Code, eine umfassende REST-API, robuste Fehlerbehandlung und eine durchdachte Sicherheitsarchitektur. Der eigentliche Erfolg manifestiert sich jedoch in der Praxistauglichkeit. Das System lĂ€uft stabil, wird aktiv genutzt und hat die ineffiziente manuelle Verwaltung vollstĂ€ndig abgelöst.

Persönlich stellte das Projekt eine intensive Lernerfahrung dar. Von der anfĂ€nglichen Konzeptionsphase ĂŒber herausfordernde Debugging-Sessions bis zur erfolgreichen Implementierung bot jede Projektphase wertvolle Erkenntnisse. Die FĂ€higkeit, unter Zeitdruck fundierte technische Entscheidungen zu treffen und dabei hohe QualitĂ€tsstandards aufrecht zu erhalten, stellte eine der wichtigsten erworbenen Kompetenzen dar.

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 – ein Fundament, auf dem aufgebaut werden kann.

Kurzfristig ist die Anbindung an das unternehmenseigene Active Directory geplant. Die vorbereiteten Schnittstellen ermöglichen eine nahtlose Integration, sobald die erforderlichen Genehmigungen vorliegen. Diese Erweiterung wĂŒrde die Benutzerverwaltung erheblich vereinfachen und die Akzeptanz im Unternehmensumfeld steigern.

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 – Features, die das System auf ein neues Level heben wĂŒrden.

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. Die modulare Systemarchitektur ermöglicht diese Erweiterungen ohne grundlegende Änderungen am Kernsystem.

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 anfĂ€nglicher technischer Herausforderungen erfolgreich. Das System befand sich noch nicht im vollstĂ€ndig produktiven Zustand, da ausstehende Hardware-Komponenten die finale Installation verzögerten. Die robuste Systemarchitektur ermöglichte jedoch eine ĂŒberzeugende PrĂ€sentation aller KernfunktionalitĂ€ten. Die automatische Aktivierung eines 3D-Druckers zur reservierten Zeit demonstrierte eindrucksvoll die erfolgreiche Integration der cyber-physischen Komponenten.

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 – ein Argument, das bei der GeschĂ€ftsfĂŒhrung Anklang fand.

Die RĂŒckmeldungen der ersten Nutzer bestĂ€tigten die Praxistauglichkeit. Die intuitive Bedienung, die zuverlĂ€ssige Funktion und die Eliminierung von Reservierungskonflikten wurden besonders hervorgehoben. Identifizierte Optimierungspotenziale – primĂ€r im Bereich der BenutzeroberflĂ€che – wurden systematisch dokumentiert und werden in kommende Versionen integriert. Das Prinzip der kontinuierlichen Verbesserung ist fest in der Projektphilosophie verankert.

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 unstrukturiert zu systematisch, von manuell zu automatisiert wurde erfolgreich vollzogen. Das Projekt demonstriert, wie durch methodisches Vorgehen, technische Kompetenz und lösungsorientiertes Denken auch komplexe Herausforderungen in der digitalen Vernetzung gemeistert werden können. Das implementierte System bildet eine solide Grundlage fĂŒr den produktiven Einsatz und zukĂŒnftige Erweiterungen.