Digitale Vernetzung und Industrial IoT – Ein IoT-Projekt mit Abnahmekriterien übergeben
Digitale Vernetzung und Industrial IoT – Ein IoT-Projekt mit Abnahmekriterien übergeben
QR-Code
Digitale Vernetzung und Industrial IoT – Ein IoT-Projekt mit Abnahmekriterien übergeben
Einleitung
Ausbildungskurs · ca. 90–120 Minuten · Industrial IoT · Datenqualität · Informationssicherheit · Qualitätssicherung
Dein Auftrag: Übergebe eine fiktive Temperaturüberwachung am Förderband A. Du prüfst Messwerte, Berechtigungen und den Betrieb anhand nachweisbarer Kriterien. Am Ende liegt ein lokaler Prüfbeleg vor.
Sicherheitsgrenze: Nur fiktive Daten und eigene lokale oder ausdrücklich autorisierte Testumgebungen. Keine echten Maschinen, fremden Netze, Zugangsdaten oder Kundendaten verwenden; keine Daten ungefragt übertragen. Der Python-Code besitzt keine Netzwerkfunktionen. Videos und externe iFrames sind optionale Drittangebote, nicht Teil des Offline-Labors.

Bildimpuls: Wo endet die physische Anlage, wo beginnt ihre Datenverarbeitung?
Lernziele und Ausbildungsfall
Nach dem Kurs kannst Du ein IoT-Datenpaket beschreiben, Qualitätsmängel erkennen, einfache Berechtigungsregeln lokal testen und eine Übergabe mit Entscheidung und Nachweisen dokumentieren.
Fall: An einem rein simulierten Förderband meldet ein Temperatursensor jede Minute einen Wert. Ein gedachter MQTT-Broker verteilt die Nachricht an ein Dashboard. Für ein Prüfzeitfenster werden zehn Messpunkte erwartet. Der angenommene plausible Temperaturbereich 0 bis 80 °C ist nur eine Festlegung dieses Ausbildungsfalls, kein Grenzwert für reale Anlagen.

Beobachte: Sensor, Übertragungsweg, Empfänger – an welchen Stellen können Fehler entstehen?
Lerneinheit 1: Vernetzung verstehen (10 Minuten)
IoT verbindet Geräte mit Datenverarbeitung. Beim Industrial IoT stehen industrielle Prozesse sowie Verfügbarkeit und Sicherheit im Vordergrund. MQTT nutzt Publish/Subscribe: Ein Client veröffentlicht eine Nachricht auf einem Topic; ein Broker verteilt sie an passende Abonnenten.

Bildauftrag: Identifiziere Publisher, Broker und Subscriber (Bildbeschriftung teils portugiesisch).
Vertiefung: HiveMQ erläutert MQTT-Grundbegriffe. Es wird keine Verbindung zu einem Broker aufgebaut.
Datenweg im Fall: Sensor → simulierte Nachricht → Prüfroutine → lokaler Bericht. Wichtig: MQTT-QoS bezieht sich auf die Nachrichtenzustellung, nicht auf die Richtigkeit des Sensorwerts. QoS 1 erlaubt doppelte Zustellungen; eine Anwendung muss nötigenfalls selbst Duplikate behandeln.

Achte auf das QoS-Feld im MQTT-Paket, nicht auf vermeintliche Messgenauigkeit.
Basis-Impuls: Erkläre, weshalb ein pünktlich zugestellter Messwert trotzdem falsch sein kann.
Lerneinheit 2: Datenqualität messen (15 Minuten)
Für diesen Kurs gilt: Ein Messwert ist gültig, wenn er vorhanden und zwischen 0 und 80 °C liegt. Eindeutig bedeutet: pro Minuten-Slot höchstens ein Datensatz. Zeitgerecht bedeutet: simulierte Übertragungsverzögerung höchstens 120 Sekunden. Zeitangaben werden mit ausdrücklich bezeichnetem UTC-Bezug dokumentiert.
| Slot | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
|---|---|---|---|---|---|---|---|---|---|---|
| Befund | OK | OK | OK | OK | fehlt | doppelt | OK | 95 °C | fehlt | 150 s spät |
Gültig im Sinne von A1: 7 von 10 = 70 %. Die Dublette wird für die Quote nur einmal gewertet. Die verspätete, aber wertmäßig plausible Messung in Slot 09 zählt bei A1 mit und fällt gesondert unter A3.
A1 gültige Slots ███████░░░ 70 % Ziel mindestens 90 % A2 Dubletten █ 1 Ziel 0 A3 verspätet █ 1 Ziel 0
Denkfrage: Warum reichen zehn empfangene Datensätze nicht als Beweis für zehn vollständige Minuten?
Lerneinheit 3: Schutz und Berechtigungen (10 Minuten)
Die Schutzziele sind Vertraulichkeit, Integrität und Verfügbarkeit. Bei einem realen, ausdrücklich genehmigten Einsatz wären etwa TLS, Authentisierung, eingeschränkte Rechte, Segmentierung und abgestimmte Wiederherstellungswege zu prüfen. In diesem Kurs testest Du nur eine lokale Rollenregel; sie ersetzt keine Sicherheitsprüfung einer Anlage.

Ordne zu: unberechtigtes Lesen, manipulierte Werte, ausgefallene Überwachung.
| Rolle | Erlaubter Vorgang | Verbotener Vorgang |
|---|---|---|
| sensor | publish an training/foerderband/temperatur | publish an andere Topics |
| leser | subscribe auf training/foerderband/temperatur | publish auf dieses Topic |

Ein Broker kann verschiedene Listener besitzen. Eine Zeichnung beweist keine sichere Konfiguration.
Optionales langes Fachvideo von HiveMQ: Für diesen Kurs insbesondere Abschnitte ab 13:00 zu Authentisierung und ab 30:29 zu Verschlüsselung. Herstellerinhalt, keine behauptete OER-Lizenz.
Prüffrage: Kann eine bestandene Rollen-Simulation einen TLS-Konfigurationsnachweis ersetzen? Begründe.
Lerneinheit 4: Isoliertes Python-Testlabor (25 Minuten)
Voraussetzung: Python 3, nur Standardbibliothek. Speichere den folgenden Code als iot_labor.py in einem eigenen Übungsordner. Ausgeführt wird ausschließlich in diesem Ordner; es werden nur lokale Dateien namens beleg_fehler.json bzw. beleg_korrekt.json geschrieben. Keine Installation, kein Broker, keine Internetverbindung und keine Zugangsdaten nötig.
# iot_labor.py: Nur fiktive Daten; keine Netzwerkverbindung.
import argparse
import json
from pathlib import Path
TOPIC = "training/foerderband/temperatur"
FEHLER = [(0, 41, 10), (1, 42, 8), (2, 43, 12),
(3, 44, 9), (4, None, 15), (5, 45, 20),
(5, 45, 20), (6, 46, 21), (7, 95, 23),
(9, 47, 150)]
KORREKT = [(i, 40 + i, 10) for i in range(10)]
def darf(rolle, aktion, topic):
return ((rolle == "sensor" and aktion == "publish" and topic == TOPIC)
or (rolle == "leser" and aktion == "subscribe" and topic == TOPIC))
def pruefen(daten):
erste = {}
doppelte = 0
for minute, wert, verzoegerung in daten:
if minute in erste:
doppelte += 1
else:
erste[minute] = (wert, verzoegerung)
gueltig = sum(wert is not None and 0 <= wert <= 80
for wert, _ in erste.values())
spaet = sum(verzoegerung > 120 for _, _, verzoegerung in daten)
quote = gueltig / 10 * 100
sicher = (darf("sensor", "publish", TOPIC)
and darf("leser", "subscribe", TOPIC)
and not darf("leser", "publish", TOPIC)
and not darf("sensor", "publish", "fremdes/topic"))
kriterien = {"A1_Datenquote": quote >= 90,
"A2_keine_Dubletten": doppelte == 0,
"A3_zeitgerecht": spaet == 0,
"A4_Testberechtigung": sicher}
return erste, quote, doppelte, spaet, kriterien
def zeigen(fall, daten):
erste, quote, doppelte, spaet, kriterien = pruefen(daten)
print("Fiktives Förderband | 10 Minuten | °C | 0–80 zulässig")
for minute in range(10):
if minute not in erste or erste[minute][0] is None:
bild = "FEHLT"
else:
wert, verzoegerung = erste[minute]
if not 0 <= wert <= 80:
bild = "UNGUELTIG"
elif verzoegerung > 120:
bild = "VERSPAETET"
else:
bild = "#" * (wert // 10)
print(f"{minute:02d}: {bild}")
print(f"Gueltig: {quote:.0f}% | Dubletten: {doppelte} | Spaet: {spaet}")
for name, ok in kriterien.items():
print(f"{name}: {'BESTANDEN' if ok else 'NICHT BESTANDEN'}")
beleg = {"projekt": "Förderband A (Simulation)", "version": "1.0",
"fall": fall, "zeitfenster": "2026-01-01T12:00:00Z/10min",
"pruefer": "Azubi im lokalen Testlabor",
"messwerte": {"gueltig_prozent": quote,
"dubletten": doppelte, "spaet": spaet},
"kriterien": kriterien,
"entscheidung": ("Labortests bestanden; Freigabe offen"
if all(kriterien.values()) else "Nacharbeit erforderlich")}
ziel = Path("beleg_" + fall + ".json")
ziel.write_text(json.dumps(beleg, ensure_ascii=False, indent=2),
encoding="utf-8")
print("Lokaler Prüfbeleg:", ziel)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--fall", choices=["fehler", "korrekt"],
default="fehler")
parser.add_argument("--interaktiv", action="store_true")
parser.add_argument("--selbsttest", action="store_true")
args = parser.parse_args()
if args.selbsttest:
assert not all(pruefen(FEHLER)[-1].values())
assert all(pruefen(KORREKT)[-1].values())
assert not darf("leser", "publish", TOPIC)
print("3 lokale Selbsttests bestanden")
else:
fall = args.fall
if args.interaktiv:
eingabe = input("Fall wählen: f = fehler, k = korrekt: ").strip()
fall = "korrekt" if eingabe.lower() == "k" else "fehler"
zeigen(fall, KORREKT if fall == "korrekt" else FEHLER)Aufrufe im Terminal (lokal):
python iot_labor.py --selbsttest python iot_labor.py --fall fehler python iot_labor.py --fall korrekt python iot_labor.py --interaktiv
Erwarteter Befund: Fehlerfall: 70 %, eine Dublette, eine verspätete Meldung; A1–A3 nicht bestanden, A4 bestanden. Korrekt-Fall: A1–A4 bestanden. Die JSON-Datei enthält Prüferrolle, Version, Fall, Zahlen und Entscheidung. Ein bestandener Labortest ist keine Freigabe einer realen Anlage.
Gestufte Hilfen zum Labor
Hilfe 1 – Frage ansehen
Hilfe 2 – Vorgehen ansehen
Hilfe 3 – Musterlösung ansehen
Lerneinheit 5: Abnahme und Übergabe (15 Minuten)
Abnahmekriterien werden vor dem Test vereinbart, messbar formuliert und mit Belegen geprüft. Die folgenden Schwellen sind Lernfall-Vereinbarungen, keine allgemeinen Normvorgaben.
| ID | Abnahmekriterium | Nachweis | Fehlerfall |
|---|---|---|---|
| A1 | Mindestens 90 % der erwarteten Slots mit gültigem Wert | Skriptausgabe und JSON | Nicht bestanden: 70 % |
| A2 | Keine doppelten Minuten-Slots | Dublettenzähler | Nicht bestanden: 1 |
| A3 | Keine Verzögerung über 120 s | Verzögerungsprüfung | Nicht bestanden: 1 |
| A4 | Lokale Rollenregel lässt erlaubte Aktionen zu und sperrt verbotene | Positive und negative Selbsttests | Bestanden, nur Simulation |
| A5 | Übergabedokument enthält Version, Zuständigkeit, Ergebnisse, offene Punkte, Betriebs- und Sicherheitskonzept | Manuelle Sichtprüfung und Gegenzeichnung | Noch offen |
Entscheidungsregel: Gesamtfreigabe nur bei erfüllten A1–A5, abgestimmter Sicherheitsprüfung und autorisierter Freigabe. Offene oder fehlende Belege bedeuten: keine Gesamtfreigabe.

Planen → testen → beurteilen → nacharbeiten. Wo steht das Abnahmeprotokoll im Regelkreis?
Mini-Übergabeprotokoll zum Ausfüllen:
| Feld | Dokumentation im Ausbildungsfall |
|---|---|
| Projekt / Version | Förderband A, Simulation / 1.0 |
| Geprüfte Umgebung | Offline-Test mit fiktiven Daten |
| Ist-Ergebnis | A1 70 %, A2 1, A3 1, A4 bestanden, A5 offen |
| Offene Maßnahmen | Messlücke, Dublette, Wertebereich und Verzögerung beheben; Dokumente prüfen |
| Betrieb | Zuständigkeit, Alarmweg, Rückfallplan und Prüfintervall vor realem Einsatz festlegen |
| Entscheidung | Nicht abgenommen; Nachtest und fachliche Gegenzeichnung erforderlich |
Kurzes FAQ-Video von HiveMQ: Wiederhole Broker, Client, Topic und Sicherheitsgrundlagen.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Welche Aufgabe erfüllt ein MQTT-Broker? (Er vermittelt Nachrichten an passende Abonnenten) (!Er misst selbst die Temperatur) (!Er garantiert richtige Sensorwerte) (!Er ersetzt die Anlagenfreigabe)
Was bezeichnet ein MQTT-Topic? (Einen benannten Nachrichtenkanal) (!Den geheimen Zugangscode) (!Den Temperaturfühler) (!Die Sensor-Kalibrierung)
Was garantiert MQTT-QoS 1 bei der Zustellung? (Mindestens einmalige Zustellung auf dem jeweiligen Übertragungsweg) (!Immer fehlerfreie Messwerte) (!Niemals doppelte Nachrichten) (!Automatisch verschlüsselte Daten)
Wie viele gültige eindeutige Minuten enthält der Fehlerfall? (Sieben von zehn) (!Zehn von zehn) (!Neun von zehn) (!Drei von zehn)
Warum wird Minute 07 nicht als gültig gezählt? (Der Wert liegt außerhalb des festgelegten Bereichs) (!Die Minute ist doppelt) (!Die Zeitangabe fehlt) (!Ein Broker ist nicht erreichbar)
Wozu dient TLS bei einer geeigneten Konfiguration? (Zum Schutz der Kommunikation) (!Zur Kalibrierung von Sensoren) (!Zum Entfernen aller Dubletten) (!Zum Nachweis der Temperaturgenauigkeit)
Welche Aktion muss die simulierte Rolle leser verweigern? (Publish auf das Temperaturtopic) (!Subscribe auf das Temperaturtopic) (!Lokales Auswerten eines Prüfbelegs) (!Lesen eines fiktiven Diagramms)
Was gehört zu einem guten Abnahmekriterium? (Ein prüfbarer Sollwert mit Nachweis) (!Eine ungeprüfte Vermutung) (!Eine rein werbliche Zusage) (!Ein unbestimmtes Gefühl)
Was bedeutet ein vollständig bestandener lokaler Labortest? (Die Simulation hat die getesteten Bedingungen erfüllt) (!Die reale Anlage ist automatisch freigegeben) (!Eine Sicherheitsprüfung wird überflüssig) (!Die Netzwerksegmentierung ist nachgewiesen)
Was ist bei offenen Abnahmebelegen die richtige Entscheidung? (Keine Gesamtfreigabe und Nacharbeit dokumentieren) (!Fehlende Werte im Protokoll verbergen) (!Die Daten ohne Zustimmung veröffentlichen) (!Produktionszugänge für Testzwecke verwenden)
Memory
| Sensor | Erfasst einen physikalischen Messwert |
| Broker | Verteilt Nachrichten nach Topics |
| Subscriber | Empfängt abonnierte Nachrichten |
| Dublette | Wiederholter Minuten-Slot |
| Validität | Erfüllung des festgelegten Wertebereichs |
| Prüfbeleg | Dokumentierter Testnachweis |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Bedeutung im Ausbildungsprojekt |
|---|---|
| Vollständigkeit | Erwartete Minuten sind durch Werte abgedeckt |
| Zeitgerechtigkeit | Nachrichten erfüllen die vereinbarte Verzögerungsgrenze |
| Autorisierung | Rechte beschränken mögliche Aktionen |
| Nachtest | Geänderte Lösung wird erneut geprüft |
| Gegenzeichnung | Zuständige Person bestätigt die Prüfung |
Kreuzworträtsel
| Broker | Wie heißt die MQTT-Vermittlungsstelle? |
| Sensor | Was erfasst den Temperaturwert? |
| Topic | Wie heißt der benannte MQTT-Nachrichtenkanal? |
| Dublette | Wie heißt ein doppelt auftretender Minuten-Slot? |
| Protokoll | Worin werden Prüfung und Entscheidung dokumentiert? |
| Abnahme | Wie heißt die formale Prüfung gegen vereinbarte Kriterien? |
LearningApps
Externe Suchansicht: Die angezeigten Übungen sind Fremdinhalte und müssen vor dem Einsatz geprüft werden.
Lückentext
Offene Aufgaben
Bearbeite alle zwölf Aufgaben. Basis (leicht), Anwendung (Standard), Transfer (schwer) bauen aufeinander auf. Nutze nur das Offline-Labor.
Leicht – Basis
- Sensor: Zeichne den Weg Sensor → Nachricht → Broker → Auswertung mit fünf Beschriftungen.
- Datenqualität: Markiere im fiktiven Tabellenbild drei verschiedene Fehlertypen und benenne sie.
- MQTT: Erläutere mit eigenen Worten den Unterschied zwischen Topic und Messwert.
- Abnahmekriterium: Formuliere einen messbaren Sollwert für vollständige Minuten-Daten.
Standard – Anwendung
- Python: Führe beide Laborfälle und die Selbsttests lokal aus; dokumentiere die vier Ergebnisse.
- Datenvisualisierung: Erstelle aus den Ergebnissen ein eigenes Säulendiagramm für Datenquote, Dubletten und verspätete Meldungen.
- Zugriffskontrolle: Ergänze im eigenen Testordner einen negativen Rollen-Test, der einen unzulässigen Topic-Namen zurückweist.
- Dokumentation: Vervollständige das Übergabeprotokoll einschließlich Zuständigkeit und konkreter Nacharbeit.
Schwer – Transfer
- Qualitätssicherung: Verändere nur fiktive Messwerte so, dass A1 erfüllt, A3 aber verletzt wird; erkläre die getrennten Befunde.
- Risikoanalyse: Erstelle eine Risiko-Matrix für manipulierte Messwerte, Datenlücken und unberechtigte Veröffentlichungen.
- IT-Sicherheit: Konzipiere eine dokumentierbare Sicherheitsprüfung für einen späteren ausdrücklich autorisierten Betrieb, ohne sie an realen Systemen auszuführen.
- Projektübergabe: Führe ein Rollenspiel mit Abnehmenden durch, begründe die Nichtfreigabe und plane einen Nachtest.
Begründetes Feedback für Basis, Anwendung und Transfer
Basis: (1) Der Datenweg ist korrekt, wenn Broker und Sensor verschiedene Funktionen haben. (2) Fehlende, doppelte und unplausible Werte erfordern unterschiedliche Korrekturen. (3) Das Topic benennt den Kanal, nicht den Inhalt. (4) „Mindestens neun von zehn gültige Slots“ ist überprüfbar; „gute Daten“ nicht.
Anwendung: (5) Ein reproduzierbarer Selbsttest macht Aussagen nachvollziehbar. (6) Ein Diagramm muss Einheiten und Sollgrenzen zeigen, sonst kann es irreführen. (7) Ein positiver Rechte-Test allein übersieht verbotene Aktionen. (8) Ohne Verantwortliche und Nachtermin bleibt eine Übergabe unvollständig.
Transfer: (9) A1 und A3 messen verschiedene Eigenschaften; ihr Widerspruch ist möglich. (10) Ein Risiko braucht Eintrittsszenario, Wirkung und Gegenmaßnahme. (11) Offline-Rollentests belegen weder TLS noch OT-Segmentierung. (12) Ein Nein zur Abnahme ist fachlich richtig, wenn kritische Kriterien nicht erfüllt sind.


Lernkontrolle
- Fehleranalyse: Ein Dashboard zeigt zehn Nachrichten. Begründe, warum trotzdem die Datenquote unter 100 % liegen kann und welche Zusatzinformationen Du benötigst.
- Qualitätsmanagement: Eine Messreihe erreicht 100 % gültige Werte, enthält aber eine Verzögerung von fünf Minuten. Entscheide anhand A1 und A3 über die Abnahme.
- Informationssicherheit: Der Leser-Zugang kann unerwartet veröffentlichen. Beschreibe die Folgen für Integrität und Betrieb und formuliere einen Testnachweis.
- Projektmanagement: Entwirf einen minimalen Maßnahmenplan mit Verantwortlichen, Priorität, Frist, Nachtest und Freigabeentscheidung.
- Transferleistung: Übertrage die Abnahmekriterien auf einen fiktiven Vibrationssensor. Begründe, welche Grenzen beibehalten und welche neu vereinbart werden müssen.
- Kommunikation: Erkläre einer nichttechnischen abnehmenden Person, warum ein grüner Labortest keine Freigabe einer Produktionsanlage bedeutet.
Lernnachweis
Abzugeben sind: eigenes Datenflussbild, lokale Skriptausgabe beider Testfälle, die erzeugten JSON-Prüfbelege, Diagramm mit Soll-Ist-Vergleich, schriftlich begründete A1–A5-Entscheidung, Rollen- und Sicherheitskonzept für eine ausschließlich gedachte spätere Installation sowie ein Übergabeprotokoll mit offenen Punkten und Verantwortlichkeiten.
Bewertung: 30 % Datenqualität und nachvollziehbare Rechnung, 25 % reproduzierbarer lokaler Test, 20 % Sicherheitsverständnis, 25 % Dokumentation und begründete Freigabeentscheidung. Keine externen Medien oder fremden Daten im Lernnachweis.
OERs zum Thema
Fachquellen (geprüft): OASIS: MQTT 5.0, Standard (2019) · NIST SP 800-82 Rev. 3: OT Security (2023) · ISO/IEC 25012: Datenqualitätsmodell · OPC Foundation: Security Model.
Medien und Nutzungsrechte
Wikimedia Commons (Dateiseiten enthalten Lizenzdetails und Urhebernennung):
Automatisierungspyramide – 17387349L8764, CC0.
Sensornetz – Michel Bakni, CC BY-SA 4.0.
MQTT-Architektur – Ana beloti, CC BY-SA 4.0.
MQTT-Paket – Blacktron, CC BY-SA 4.0.
Schutzziele – Michel Bakni, Bearbeitung Hohum, CC BY-SA 4.0.
Broker-Listener – Ademant, CC BY-SA 4.0.
PDCA-Kreis – Sven mit Benji und Markus Bärlocher, CC BY-SA 3.0.
YouTube: Die drei eingebetteten Videos stammen nach Anbieterangabe von HiveMQ. Ihre öffentliche Abrufbarkeit bedeutet keine nachgewiesene offene Bearbeitungs- oder Weiterverbreitungslizenz. Nur Einbettung/Verlinkung, keine Übernahme oder Bearbeitung. Bei der Nutzung von Drittangeboten gelten deren Datenschutzbedingungen; das Offline-Labor funktioniert ohne sie.
Verknüpfte Lernbereiche
aiMOOC-Projekte
Schulfach+


aiMOOCs


aiMOOC Projekte


MOOCwiki · Deutsch
Nach dem Lernen ist vor dem Lernen
Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.
Zur MOOCwiki-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen