Bei der Wahl eines MQTT Brokers für Studenten geht es vor allem darum, Reibung zu beseitigen: Niemand sollte eine Laborsitzung damit verlieren, Mosquitto zu installieren, gegen eine Campus-Firewall anzukämpfen oder herauszufinden, welcher Sensor welches Teams ein gemeinsames Topic überflutet. Dieser Leitfaden zeigt Lehrenden an Hochschulen, Berufsschulen und in Lernfabriken, wie sie IoT-Labore mit broker.connectmq.com für Live-Demos und einem isolierten, kostenlosen ConnectMQ Serverless Broker pro Team für benotete Projekte durchführen, mit einer Abfolge von Laboreinheiten, sofort lauffähigem Code und Regeln für den Unterricht, die das übliche Chaos verhindern.
Was ein Unterrichtsraum von einem Broker braucht
MQTT zu lehren, setzt andere Prioritäten als der Betrieb produktiver Systeme:
- Keine Einrichtung auf den Laborrechnern. Studierende sollten in den ersten zehn Minuten publizieren.
- Von überall erreichbar. Laborrechner, Laptops der Studierenden zu Hause und ESP32-Boards im Campus-WLAN brauchen alle denselben Endpunkt.
- Sichtbarer Datenverkehr. Nachrichten fließen zu sehen, ist der Aha-Moment; ein Topic-Explorer hilft enorm.
- Isolation für die Bewertung. Ein benotetes Projekt darf nicht dadurch kaputtgehen, dass ein anderes Team auf dasselbe Topic publiziert.
- Keine Kosten. Die meisten Lehrveranstaltungen haben kein Budget für Infrastruktur pro Studierendem.
Ein selbst gehosteter Broker auf einem Laborserver kann funktionieren, aber jemand muss ihn warten, Ports öffnen und reparieren, wenn er am Labortag um 9 Uhr ausfällt. Ein gehosteter Dienst vermeidet das. Für das Grundkonzept können Studierende mit was ein MQTT Broker macht beginnen.
Zweistufiges Setup: öffentlich für Demos, privat für Projekte
| Einsatz | Broker | Authentifizierung | Isolation | Warum |
|---|---|---|---|---|
| Demos in der Vorlesung, erste Labore | broker.connectmq.com (Öffentlicher MQTT-Broker) | Keine, beliebige eindeutige Client ID | Keine, für alle lesbar | Sofortiger Start, alle sehen alles |
| Teamprojekte, benotete Arbeiten | ConnectMQ Serverless (Free), einer pro Team | Generierter Benutzername, Passwort, Client ID | Isolierter Mandant | Teams können sich nicht stören, Zugangsdaten vermitteln gute Praxis |
Der öffentliche MQTT-Broker für Demos
Der Öffentliche MQTT-Broker ist für Tests und Prototypen gedacht und akzeptiert anonyme Verbindungen auf 1883, 8883, 8083 und 8084. Seine Limits passen gut zur Lehre: 64 KB pro Nachricht, 10 Nachrichten pro Sekunde und Client, 10 Abonnements pro Client, 8 Topic-Ebenen, QoS 0 bis 2 und Sessions bis zu 30 Minuten. Diese Limits verhindern auch, dass eine außer Kontrolle geratene Schleife im Code eines Studierenden irgendetwas überlastet.
Der öffentliche MQTT-Broker ist für jeden im Internet lesbar. Machen Sie das zu einem Lerninhalt statt zu einer Fußnote: Publizieren Sie dort niemals Namen, Matrikelnummern, Standorte oder andere persönliche Daten.
Private Serverless Broker für benotete Projekte
Jedes Team registriert sich für einen kostenlosen ConnectMQ Serverless Broker. Es erhält Benutzernamen, Passwort und Client ID, bis zu 25 Verbindungen, QoS bis 1 und Nachrichten bis 256 KB, was für ein Projekt mit mehreren Sensoren, einem Dashboard und einem Node-RED-Flow reichlich ist. Teams können ihre Arbeit im Browser-Client, im Live-Topic-Explorer und im Dashboard des Portals zeigen und Schwellenwert-Alarmregeln konfigurieren, was eine gute Vorführung bei der Bewertung ergibt.
Eine Abfolge aus fünf Laboreinheiten
Labor 1: Publish und Subscribe über die Kommandozeile
Alle Studierenden wählen eine kurze zufällige ID, zum Beispiel ihre Initialen plus vier zufällige Zeichen. Zwei Terminals:
# Terminal 1
mosquitto_sub -h broker.connectmq.com -p 1883 -i sub-ab7k2q -t 'connectmq/demo/ab7k2q/#' -v
# Terminal 2
mosquitto_pub -h broker.connectmq.com -p 1883 -i pub-ab7k2q \
-t 'connectmq/demo/ab7k2q/hello' -m 'my first MQTT message'
Dann abonniert die Lehrkraft connectmq/demo/+/hello, und die Klasse sieht zu, wie die Nachrichten eintreffen. Dieser eine Befehl vermittelt Topics, Wildcards und Entkopplung besser als jede Folie.
Labor 2: QoS, Retained Messages und Last Will
Publizieren Sie eine retained Message, trennen Sie die Verbindung, verbinden Sie sich neu und beobachten Sie, wie sie sofort ankommt. Beenden Sie einen Client mit registriertem Last Will abrupt und sehen Sie zu, wie der Last Will erscheint. Kombinieren Sie dieses Labor mit MQTT-QoS-Stufen erklärt.
Labor 3: Ein Sensor-Simulator in Python
import json
import random
import time
import uuid
import paho.mqtt.client as mqtt
STUDENT_ID = "ab7k2q" # durch Ihre eigene zufällige ID ersetzen
BASE = f"connectmq/demo/{STUDENT_ID}/room"
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
client_id=f"py-{STUDENT_ID}-{uuid.uuid4().hex[:4]}")
client.will_set(f"{BASE}/status", "offline", qos=1, retain=True)
def on_connect(client, userdata, flags, reason_code, properties):
print("Connected:", reason_code)
client.publish(f"{BASE}/status", "online", qos=1, retain=True)
client.subscribe(f"{BASE}/setpoint")
def on_message(client, userdata, msg):
print("New setpoint:", msg.payload.decode())
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 1883, keepalive=60)
client.loop_start()
while True:
reading = {"temp": round(random.uniform(19.0, 24.0), 1), "ts": int(time.time())}
client.publish(f"{BASE}/temperature", json.dumps(reading), qos=1)
print("Sent", reading)
time.sleep(2)
Installieren Sie mit pip install paho-mqtt. Die Studierenden publizieren dann über die Kommandozeile einen Sollwert und sehen, wie ihr Skript reagiert.
Labor 4: Hardware
Wechseln Sie zu ESP32-Boards. Mit dem ESP32-MQTT-Tutorial publiziert ein Board innerhalb einer Sitzung; anschließend ergänzen die Teams einen echten Sensor. Campus-WLANs mit Captive Portal oder WPA2-Enterprise blockieren Embedded-Boards häufig, testen Sie das Netz also vor dem Labor oder bringen Sie einen eigenen Access Point mit.
Labor 5: Teamprojekt auf einem privaten Broker
Die Teams erstellen ihren eigenen Serverless Broker, wechseln zu Port 8883 mit TLS und Zugangsdaten und bauen etwas durchgängig: Sensoren, ein Node-RED- oder Web-Dashboard und einen Alarm. Der Sprung von anonymen zu authentifizierten Verbindungen ist bereits eine Sicherheitslektion; verweisen Sie die Teams auf Best Practices für MQTT-Sicherheit. In Studiengängen mit Bezug zu Industrie 4.0 oder Automatisierungstechnik bietet sich als Projektvorgabe eine Topic-Struktur nach ISA-95 an: Die Ebenen Enterprise, Site, Area, Line und Cell bilden einen kleinen Unified Namespace (UNS), etwa hs-muenchen/lernfabrik/montage/linie-1/zelle-2/temperatur. So üben die Studierenden genau das Muster, das ihnen später in Fertigung und Maschinenbau begegnet; Hintergrund liefert der Beitrag Sparkplug B und Unified Namespace.
Regeln für den Unterricht, die Chaos verhindern
- Jede Client ID muss eindeutig sein. Zwei Studierende, die beide
esp32als Client ID verwenden, trennen sich endlos gegenseitig; das ist das häufigste Problem im Labor. - Jedes Topic beginnt mit dem eigenen Präfix. Auf dem öffentlichen MQTT-Broker
connectmq/demo/<your-random-id>/.... Kein Publizieren auf das Präfix anderer. - Keine persönlichen Daten auf dem öffentlichen MQTT-Broker. Behandeln Sie ihn wie ein öffentliches Schwarzes Brett.
- Jede Publish-Schleife braucht eine Pause. Ein
while Trueohnesleeperreicht sofort das Ratenlimit. - Zugangsdaten gehören nie in ein öffentliches Git-Repository. Verwenden Sie eine in
.gitignoreeingetragene Konfigurationsdatei oder Umgebungsvariablen. - Die Topic-Tiefe vernünftig halten. Der öffentliche MQTT-Broker erlaubt 8 Ebenen.
Fehlerbehebung im Labor
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Client verbindet sich und trennt sich immer wieder | Doppelte Client ID | Eine eindeutige zufällige ID verwenden |
| Es kommt nichts an | Tippfehler im Topic oder falsche Groß-/Kleinschreibung | Topics unterscheiden Groß- und Kleinschreibung; prefix/# abonnieren, um alles zu sehen |
| Verbindung auf dem Campus abgelehnt | Port gesperrt | 8883 versuchen oder WebSocket auf 8084 aus dem Browser |
| Nachrichten stoppen nach einem Schwall | Ratenlimit auf dem öffentlichen MQTT-Broker | Pause zwischen den Publishes einfügen |
| ESP32 tritt dem WLAN nie bei | Enterprise- oder Captive-Portal-Netz | Labor-Access-Point oder Smartphone-Hotspot verwenden |
| TLS-Fehler auf dem privaten Broker | Falscher Port oder fehlende CA | 8883 mit dem CA-Speicher des Systems verwenden |
Zugangsdaten für eine ganze Klasse verwalten
Private Broker bedeuten Zugangsdaten, und Zugangsdaten gehen im Unterricht leicht verloren. Bitten Sie jedes Team, ein Mitglied zu bestimmen, das den Broker anlegt und die Zugangsdaten nur innerhalb des Teams über die Lernplattform teilt, nicht in einem öffentlichen Chat. Ermutigen Sie die Teams, eine kleine config.example-Datei mit Platzhalterwerten im Repository zu führen und die echte Datei von der Versionsverwaltung auszuschließen. Am Ende des Kurses können die Teams ihre Zugangsdaten löschen oder neu generieren, was gleichzeitig eine kurze Lektion zur Rotation von Zugangsdaten ist.
Ideen für die Bewertung
MQTT-Arbeiten lassen sich am leichtesten bewerten, wenn sie beobachtbar sind. Bitten Sie die Teams, einen Topic-Baum im Topic-Explorer zu präsentieren und sein Design zu begründen, vorzuführen, wie ein Last Will ein Gerät im Dashboard auf offline setzt, eine auslösende Alarmregel zu zeigen und ihre QoS-Entscheidungen zu erklären. Eine kurze schriftliche Reflexion darüber, was sich für den Produktivbetrieb ändern würde, etwa Zugangsdaten pro Gerät, TLS überall oder Kapazität, rundet das ab. Unser MQTT-Tutorial eignet sich gut als vorbereitende Lektüre, und der Leitfaden zum Cloud-MQTT-Broker gibt fortgeschrittenen Studierenden das Gesamtbild der Hosting-Optionen.
Starten Sie Ihr IoT-Labor mit ConnectMQ
Führen Sie Ihre erste Demo noch heute ohne Registrierung auf broker.connectmq.com durch und lassen Sie dann jedes Team unter app.connectmq.com ohne Kreditkarte einen kostenlosen Serverless Broker anlegen. ConnectMQ ist ein verwalteter MQTT-Broker, sodass Sie MQTT lehren statt Serveradministration.
Häufig gestellte Fragen
Gibt es einen kostenlosen MQTT Broker für Studenten?
Ja. broker.connectmq.com bietet einen kostenlosen öffentlichen MQTT-Broker für Demos, und alle Studierenden oder Teams können einen kostenlosen ConnectMQ Serverless Broker mit privaten Zugangsdaten und bis zu 25 Verbindungen anlegen.
Können Studierende den öffentlichen MQTT-Broker für ihr Abschlussprojekt nutzen?
Technisch funktioniert das, aber dort ist alles für jeden lesbar, und andere Studierende könnten auf dieselben Topics publizieren. Verwenden Sie für benotete Arbeiten einen privaten Serverless Broker.
Müssen Studierende einen Broker lokal installieren?
Nein. Clients wie mosquitto_pub, paho-mqtt oder der Browser-Client des Portals genügen, was Einrichtungszeit im Labor spart.
Warum werden Studierende ständig getrennt?
Fast immer, weil sich zwei Clients eine Client ID teilen. Jede Verbindung braucht ihre eigene eindeutige ID.
Können wir ESP32-Boards im Campus-WLAN verwenden?
Oft nur in Netzen mit einfachem WPA2-Passwort. Enterprise-Authentifizierung und Captive Portals blockieren Boards meist, ein eigener Labor-Access-Point ist daher die verlässliche Option.



