-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Im Rahmen dieser Abgabe zeigen Sie Ihr Verständnis für die Kernkonzepte des Industrial IoT, insbesondere die Erfassung, Übertragung, Speicherung und Analyse von Sensordaten in Echtzeit sowie deren Verschlüsselung und den Umgang mit Konfigurationsdaten.
Im ersten Teil der Vorlesung von Julian Huber, werden wir Grundkonzepte und Technologien des IIoT behandeln und mit einem Mikrocontroller (z.B. Raspberry Pi Pico W) kennenlernen. Im zweiten Teil der Vorlesung von Thomas Konecny, werden die Themen aufgegriffen und mit modernen Operational-Technologien (Beckhoff SPS, AWS-Cloud) vertieft.
Wichtig: Dies ist der erste Durchlauf der Vorlesung. Entsprechend muss sich die Feinabstimmung der Aufgabenstellung und Inhalte noch entwickeln. Feedback und Anregungen sind jederzeit willkommen.
Die Kommunikation findet über das gemeinsam genutzte Repository statt. Im Wiki sind alle relevanten Informationen zu Hintergrund, Aufgabenstellung und Anforderungen zu finden. Für die assynchrone Kommunikation mit der Lehrveranstaltungsleitung sollen Issues und Pull Requests im GitHub Repository genutzt werden. Die Abgabe erfolgt über den Link zu einem Fork des Original-Repositories.
Es wird davon ausgegangen, dass sowohl in der Wissensermittlung als auch in der Umsetzung generative KI-Tools (z.B. ChatGPT, GitHub Copilot) eingesetzt werden. Dies ist ausdrücklich erlaubt und wird nicht negativ bewertet.
Wichtig ist hierbei, dass Sie reflektiert damit umgehen:
- Kontext ist entscheidend. Formulieren Sie Ihre Fragen so, dass Sie eine Antwort erhalten, die auf Ihr konkretes Problem zugeschnitten ist. Füllen Sie die vorhandenen Input-Token mit Auffgabenbeschreibung, Anforderungen, Rahmenbedingungen, Dokumentationen, Code-Snippets, Fehlermeldungen, etc.
- Fragen sie nicht nach der Lösung, sondern nach Lösungsoptionen. Lassen Sie sich verschiedene Ansätze und deren Vor- und Nachteile aufzeigen.
- Berücksichtigen Sie, dass ein großer Teil der Trainingsdaten von generativer KI oft einfache Beispiele und keine Teile von komplexen Systemen sind. Wenn Sie nach einer Lösung fragen, werden Sie oft bei einfachen Lösungen landen, die nicht mit ihrem Projekt mitwachsen können.
- Berücksichtigen Sie, dass es verschiedene Werkzeuge für verschiedene Aufgaben gibt. Nutzen Sie die Stärken der Werkzeuge, aber seien Sie sich auch der Schwächen bewusst. Die Autovervollständigung von Code ist oft hilfreich, schafft es aber nicht immer den gesamten Kontext der Systemarchitektur zu verstehen. Nutzen Sie z.B. stattdessen ChatGPT um sich einen Vorschlag für eine Systemarchitektur geben zu lassen und die von ihm erzeugten Ordner und Dateien erklären zu lassen. Für die Softwareentwicklung gibt es auch Tools, wie GitHub Copilot im Agent Mode oder Gemini CLI, die zugriff auf das gesamte Repository und ihre Shell haben.
Das sich inhaltlich und qualitativ an den Anforderungen orientierende Gesamtkonzept wird bewertet. Dabei werden folgende Kriterien berücksichtigt:
- Nutzerfreundlichkeit und Dokumentation:
- Wie einfach ist es für einen neuen Nutzer, das System einzurichten und zu verwenden?
- Wie gut ist die Dokumentation? (Klarheit, Vollständigkeit, Struktur)
- Funktionieren die bereitgestellten Testfälle?
- Implementierungsqualität:
- Wie gut ist die Qualität des Codes? (Lesbarkeit, Wartbarkeit, Modularität)
- Wie gut sind die Implementierung der REST-Schnittstelle und die Nutzung der OpenAPI Specification?
- Wie gut ist die Integration der verschiedenen Komponenten (Firmware, Datenbank, Analyse)
- Implementierungsumfang:
- Wie gut erfüllt die Lösung die gestellten Anforderungen?
- Bei einigen Anforderungen gibt es Abstufungen, die in der Aufgabenstellung beschrieben sind.
Sie sind Teil eines Teams, das eine IoT-Lösung für die Überwachung von Umwelungsbedingungen in einer Produktionsanlage entwickelt. Ihre Aufgabe ist es, eine Lösung zu entwerfen und zu implementieren, die Sensordaten erfasst, diese sicher überträgt und in Echtzeit analysiert, um Anomalien zu erkennen und Berichte zu generieren.
Ihre Abgabe besteht aus drei Hauptkomponenten:
Entwicklung der Software für Ihren Raspberry Pi Pico W, die Sensorwerte erfasst und im vorgegebenen JSON-Format über MQTT an den zentralen Broker streamt.
Die Firmware soll zudem eine REST-Schnittstelle zur Konfiguration bereitstellen, über den z.B. das Sende-Intervall angepasst werden kann.
In einem Docker-Container, soll die Datenhaltung und Auswertung erfolgen. Anforderung hier ist, dass ein Container gestartet werden kann, der sowohl die Daten aller verbundener Sensoren speichert als auch die eigenen Daten visualisiert.