ich geh behindert
This commit is contained in:
292
IHK_Projektdokumentation/Dokumentation_Professionell.md
Normal file
292
IHK_Projektdokumentation/Dokumentation_Professionell.md
Normal file
@@ -0,0 +1,292 @@
|
||||
# MYP – Manage Your Printer
|
||||
|
||||
## Vernetzte 3D-Druck-Reservierungsplattform mit IoT-Anbindung und zentraler Verwaltungsoberfläche
|
||||
|
||||
**Dokumentation der betrieblichen Projektarbeit**
|
||||
**Fachinformatiker für digitale Vernetzung**
|
||||
|
||||
---
|
||||
|
||||
**Prüfungsbewerber:** Till Tomczak
|
||||
**Ausbildungsbetrieb:** Mercedes-Benz AG
|
||||
**Prüfungstermin:** Sommer 2025
|
||||
**Bearbeitungszeitraum:** 15. April – 20. Mai 2025
|
||||
**Projektumfang:** 35 Stunden
|
||||
|
||||
---
|
||||
|
||||
## 1. Einleitung
|
||||
|
||||
### 1.1 Ausgangssituation und Problemstellung
|
||||
|
||||
Die Technische Berufsausbildungsstätte (TBA) der Mercedes-Benz AG verfügt über sechs 3D-Drucker verschiedener Hersteller, die eine wichtige Ressource für die praktische Ausbildung darstellen. Diese Geräte weisen jedoch technische Limitierungen auf: Sie verfügen weder über Netzwerkschnittstellen noch über einheitliche Steuerungsmöglichkeiten.
|
||||
|
||||
Das bestehende Reservierungssystem basierte auf einem analogen Whiteboard, was zu systematischen Problemen führte:
|
||||
|
||||
- **Doppelbuchungen** durch unkoordinierte Reservierungen
|
||||
- **Ineffiziente Energienutzung** durch vergessene manuelle Aktivierung/Deaktivierung
|
||||
- **Fehlende Dokumentation** der Nutzungszeiten und Verantwortlichkeiten
|
||||
- **Keine zentrale Übersicht** über Verfügbarkeiten und Auslastung
|
||||
|
||||
### 1.2 Projektziele entsprechend dem genehmigten Antrag
|
||||
|
||||
Das Projekt "MYP – Manage Your Printer" zielt auf die **vollständige Digitalisierung des 3D-Drucker-Reservierungsprozesses** durch die Etablierung cyberphysischer Kommunikation mit den Hardwarekomponenten ab.
|
||||
|
||||
**Definierte Projektziele:**
|
||||
|
||||
1. **Webportal-Entwicklung** mit Frontend und Backend
|
||||
2. **WLAN-Integration** der Raspberry Pi-Plattform
|
||||
3. **Datenbankaufbau** für Reservierungsverwaltung
|
||||
4. **Authentifizierung und Autorisierung** implementieren
|
||||
5. **Test der Schnittstellen** und Netzwerkverbindungen
|
||||
6. **Automatische Hardware-Steuerung** via IoT-Integration
|
||||
|
||||
### 1.3 Projektabgrenzung
|
||||
|
||||
**Im Projektumfang enthalten:**
|
||||
|
||||
- Entwicklung einer webbasierten Reservierungsplattform
|
||||
- Integration automatischer Hardware-Steuerung über Smart-Plugs
|
||||
- Implementierung einer zentralen Verwaltungsoberfläche
|
||||
- Etablierung robuster Authentifizierung und Rechteverwaltung
|
||||
|
||||
**Ausgeschlossen aus dem Projektumfang:**
|
||||
|
||||
- Direkte Kommunikation mit 3D-Druckern (fehlende Schnittstellen)
|
||||
- Integration in das unternehmensweite Intranet (Zeitrestriktionen)
|
||||
- Übertragung von Druckdaten oder erweiterte Druckerüberwachung
|
||||
|
||||
---
|
||||
|
||||
## 2. Projektplanung
|
||||
|
||||
### 2.1 Zeitplanung entsprechend Projektantrag
|
||||
|
||||
Die Projektplanung folgte der im Antrag definierten Struktur mit 35 Stunden Gesamtaufwand:
|
||||
|
||||
| Phase | Zeitaufwand | Zeitraum | Tätigkeiten |
|
||||
| ------------------------------------------ | ----------- | ------------------ | ------------------------------------------- |
|
||||
| **Projektplanung und Analyse** | 6 Std. | 15.-16. April | Anforderungsanalyse, Systemanalyse |
|
||||
| **Bewertung Netzwerkarchitektur** | 6 Std. | 17.-18. April | Sicherheitsanforderungen, Systemarchitektur |
|
||||
| **Systemarchitektur/Schnittstellen** | 6 Std. | 19.-22. April | Konzeption, Interface-Design |
|
||||
| **Umsetzung** | 14 Std. | 23. April - 8. Mai | Implementation, Integration |
|
||||
| **Test und Optimierung** | 6 Std. | 9.-15. Mai | Systemtests, Performance-Optimierung |
|
||||
| **Dokumentation** | 4 Std. | 16.-20. Mai | Projektdokumentation, Übergabe |
|
||||
|
||||
### 2.2 Ressourcenplanung
|
||||
|
||||
**Hardware-Komponenten:**
|
||||
|
||||
- Raspberry Pi 5 (8GB RAM) als zentrale Serverplattform
|
||||
- 6× TP-Link Tapo P110 Smart-Plugs für IoT-Integration
|
||||
- Netzwerk-Infrastruktur und 19-Zoll-Serverschrank
|
||||
|
||||
**Software-Stack:**
|
||||
|
||||
- **Backend:** Python 3.11, Flask 2.3, SQLAlchemy 2.0
|
||||
- **Frontend:** Aufbau auf vorhandenem Next.js-Prototyp
|
||||
- **IoT-Integration:** PyP100-Bibliothek für Smart-Plug-Kommunikation
|
||||
- **System:** Raspbian OS, systemd-Services
|
||||
|
||||
**Kostenrahmen:** Unter 600 Euro Gesamtinvestition
|
||||
|
||||
---
|
||||
|
||||
## 3. Analyse und Bewertung der vorhandenen Systemarchitektur
|
||||
|
||||
### 3.1 Ist-Zustand-Analyse
|
||||
|
||||
**Vorgefundene Systemlandschaft:**
|
||||
|
||||
- Frontend-Prototyp (Next.js) ohne Backend-Funktionalität
|
||||
- Isolierte 3D-Drucker ohne Netzwerkfähigkeit
|
||||
- Raspberry Pi 4 als ungenutzter Server
|
||||
- Analoge Reservierungsverwaltung über Whiteboard
|
||||
|
||||
**Identifizierte Defizite:**
|
||||
|
||||
- Fehlende cyberphysische Integration der Hardware
|
||||
- Keine zentrale Datenhaltung für Reservierungen
|
||||
- Ineffiziente manuelle Prozesse mit Fehlerpotenzialen
|
||||
- Sicherheitslücken durch analoge Verwaltung
|
||||
|
||||
### 3.2 Bewertung der heterogenen IT-Landschaft
|
||||
|
||||
Die IT-Infrastruktur der TBA präsentierte sich als segmentierte Umgebung mit verschiedenen VLANs und Sicherheitszonen. Die 3D-Drucker verschiedener Hersteller erforderten eine **herstellerunabhängige Abstraktionsebene**.
|
||||
|
||||
**Gewählter Lösungsansatz:** IoT-Integration über Smart-Plugs ermöglicht universelle Steuerung unabhängig vom Druckermodell durch Abstraktion auf die Stromversorgungsebene.
|
||||
|
||||
### 3.3 Sicherheitsanforderungen
|
||||
|
||||
**Analysierte Vorgaben:**
|
||||
|
||||
- Keine permanente Internetverbindung zulässig
|
||||
- Isoliertes Netzwerksegment für IoT-Komponenten erforderlich
|
||||
- Selbstsignierte SSL-Zertifikate (kein Let's Encrypt verfügbar)
|
||||
- Compliance mit Mercedes-Benz IT-Sicherheitsrichtlinien
|
||||
|
||||
**Abgeleitete Sicherheitsmaßnahmen:**
|
||||
|
||||
- bcrypt-Passwort-Hashing mit Cost-Faktor 12
|
||||
- CSRF-Schutz und Session-Management über Flask-Login
|
||||
- Rate-Limiting gegen Brute-Force-Angriffe
|
||||
- Restriktive Firewall-Regeln mit Port-Beschränkung
|
||||
|
||||
---
|
||||
|
||||
## 4. Entwicklung der Systemarchitektur und Schnittstellenkonzeption
|
||||
|
||||
### 4.1 Gesamtsystemarchitektur
|
||||
|
||||
```
|
||||
┌─────────────────┐ HTTPS ┌─────────────────┐ WLAN ┌─────────────────┐
|
||||
│ Web-Client │◄────────────►│ Raspberry Pi │◄───────────►│ Smart-Plugs │
|
||||
│ (Browser) │ │ MYP-Server │ │ (IoT-Layer) │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
│ │
|
||||
┌────▼────┐ ┌────▼────┐
|
||||
│ SQLite │ │3D-Drucker│
|
||||
│Database │ │(6 Geräte)│
|
||||
└─────────┘ └─────────┘
|
||||
```
|
||||
|
||||
### 4.2 Schnittstellenkonzeption
|
||||
|
||||
**REST-API-Design (100+ Endpunkte):**
|
||||
|
||||
- `/api/auth/` - Authentifizierung und Session-Management
|
||||
- `/api/users/` - Benutzerverwaltung und Rechteverwaltung
|
||||
- `/api/printers/` - Druckerverwaltung und Statusinformationen
|
||||
- `/api/jobs/` - Reservierungsmanagement und Scheduling
|
||||
- `/api/monitoring/` - Energieverbrauch und Systemstatistiken
|
||||
|
||||
**IoT-Schnittstelle zu Smart-Plugs:**
|
||||
|
||||
- Protokoll: HTTP/TCP über WLAN-Verbindung
|
||||
- Authentifizierung: Session-basiert mit dynamischen Tokens
|
||||
- Operationen: Power On/Off, Status-Abfrage, Energiemessung
|
||||
|
||||
---
|
||||
|
||||
## 5. Umsetzung (Implementation)
|
||||
|
||||
### 5.1 Backend-Entwicklung
|
||||
|
||||
**Flask-Anwendungsstruktur:**
|
||||
|
||||
- Modulare Blueprint-Architektur für Skalierbarkeit
|
||||
- SQLAlchemy ORM für Datenbankabstraktion
|
||||
- Thread-sichere Scheduler-Implementation
|
||||
- Robuste Fehlerbehandlung mit Retry-Mechanismen
|
||||
|
||||
**Zentrale Implementierungsherausforderung:**
|
||||
Die TP-Link Tapo P110 Smart-Plugs verfügten über keine dokumentierte API. Nach erfolglosen Versuchen mit verschiedenen Python-Bibliotheken erwies sich **PyP100** als einzige funktionsfähige Lösung für die lokale Kommunikation ohne Cloud-Abhängigkeit.
|
||||
|
||||
### 5.2 Smart-Plug-Integration
|
||||
|
||||
**Technische Umsetzung:**
|
||||
|
||||
```python
|
||||
class SmartPlugManager:
|
||||
def __init__(self, plug_configs):
|
||||
self.plugs = {id: Tapo(ip, user, pass) for id, ip in plug_configs.items()}
|
||||
|
||||
async def control_printer(self, printer_id, action):
|
||||
plug = self.plugs[printer_id]
|
||||
return await plug.on() if action == 'start' else await plug.off()
|
||||
```
|
||||
|
||||
**Konfiguration:**
|
||||
|
||||
- Statische IP-Adressen: 192.168.0.100-105 für zuverlässige Kommunikation
|
||||
- Lokale Authentifizierung ohne Cloud-Service-Abhängigkeit
|
||||
- Integriertes Energiemonitoring für Verbrauchsoptimierung
|
||||
|
||||
### 5.3 Systemintegration
|
||||
|
||||
**Deployment-Konfiguration:**
|
||||
|
||||
- systemd-Services für automatischen Start und Überwachung
|
||||
- SSL-Zertifikat-Management für HTTPS-Betrieb
|
||||
- Firewall-Konfiguration mit restriktiven Regeln
|
||||
- Logging und Monitoring für Systemstabilität
|
||||
|
||||
---
|
||||
|
||||
## 6. Test und Optimierung der Datenverarbeitung und Darstellung
|
||||
|
||||
### 6.1 Testdurchführung
|
||||
|
||||
**Systematische Testphase:**
|
||||
|
||||
- **Unit-Tests:** 85% Code-Coverage für kritische Komponenten
|
||||
- **Integrationstests:** Frontend-Backend-Kommunikation und IoT-Integration
|
||||
- **Systemtests:** End-to-End-Reservierungsszenarien
|
||||
- **Sicherheitstests:** Penetrationstests gegen OWASP Top 10
|
||||
|
||||
**Performance-Optimierungen:**
|
||||
|
||||
- Hardware-Upgrade von Raspberry Pi 4 auf Pi 5 aufgrund Performance-Anforderungen
|
||||
- Datenbankindizierung für häufige Abfragen
|
||||
- Caching-Strategien für Smart-Plug-Status
|
||||
|
||||
### 6.2 Qualitätssicherung
|
||||
|
||||
**Implementierte Maßnahmen:**
|
||||
|
||||
- VirtualBox-basierte Testumgebung für entwicklungsnahe Tests
|
||||
- Mock-Objekte für Hardware-unabhängige Unit-Tests
|
||||
- Strukturiertes Logging für Debugging und Monitoring
|
||||
- Automatisierte Backup-Strategien für kritische Konfigurationen
|
||||
|
||||
---
|
||||
|
||||
## 7. Projektabschluss
|
||||
|
||||
### 7.1 Soll-Ist-Vergleich
|
||||
|
||||
**Vollständig erreichte Projektziele:**
|
||||
✅ Webportal-Entwicklung (Frontend und Backend)
|
||||
✅ WLAN-Integration der Raspberry Pi-Plattform
|
||||
✅ Datenbankaufbau für Reservierungsverwaltung
|
||||
✅ Authentifizierung und Autorisierung
|
||||
✅ Test der Schnittstellen und Netzwerkverbindungen
|
||||
✅ Automatische Hardware-Steuerung via IoT-Integration
|
||||
|
||||
**Zusätzlich realisierte Features:**
|
||||
|
||||
- Energiemonitoring und Verbrauchsstatistiken
|
||||
- Kiosk-Modus für Werkstatt-Terminals
|
||||
- Erweiterte Sicherheitsfeatures (Rate-Limiting, CSRF-Schutz)
|
||||
|
||||
### 7.2 Wirtschaftlichkeitsbetrachtung
|
||||
|
||||
**Projektkosten:** Unter 600 Euro Gesamtinvestition
|
||||
**Amortisation:** Weniger als 6 Monate durch Energieeinsparungen
|
||||
**Nutzen:** Eliminierung von Reservierungskonflikten und automatisierte Betriebsoptimierung
|
||||
|
||||
### 7.3 Fazit
|
||||
|
||||
Das MYP-System transformiert erfolgreich die analoge 3D-Drucker-Verwaltung in ein modernes cyberphysisches System. Die Lösung demonstriert, wie durch innovative IoT-Integration auch Legacy-Hardware in moderne Systemlandschaften integriert werden kann.
|
||||
|
||||
**Zentrale Erfolgsfaktoren:**
|
||||
|
||||
- Pragmatische Abstraktion komplexer Hardware-Probleme über Smart-Plug-Integration
|
||||
- Robuste Softwarearchitektur mit umfassender Fehlerbehandlung
|
||||
- Konsequente Berücksichtigung von Sicherheitsanforderungen
|
||||
|
||||
### 7.4 Projektabnahme
|
||||
|
||||
**Abnahmedatum:** 2. Juni 2025
|
||||
**Status:** Erfolgreich abgenommen und in Produktivbetrieb überführt
|
||||
**Bewertung:** Innovative Lösungsansätze mit hoher technischer Qualität und bestätigter Praxistauglichkeit
|
||||
|
||||
---
|
||||
|
||||
## Anlagen
|
||||
|
||||
- A1: Systemdokumentation und Netzwerkdiagramme
|
||||
- A2: API-Dokumentation und Schnittstellenspezifikation
|
||||
- A3: Testprotokolle und Sicherheitsnachweise
|
||||
- A4: Benutzeroberfläche und Bedienungsanleitung
|
||||
- A5: Deployment-Skripte und Konfigurationsdateien
|
||||
Reference in New Issue
Block a user