Dieser MQTT – Message Queuing Telemetry Transport Kurs behandelt detailliert das Protokoll selbst, seine speziellen Features, sowie existierende Produkte.
MQTT – Message Queuing Telemetry Transport Seminar
Message Queuing Telemetry Transport (MQTT): Das Messaging-Protokoll für IoT und mehr
Bei MQTT handelt es sich regelrecht um ein „wiederentdecktes“ Kommunikations-/Messaging-Protokoll. Das Protokoll wurde in seiner Ur-Form zwar bereits 1999 entwickelt, erlebt aber seit einigen Jahren insbesondere durch die aktuellen Entwicklungen im Bereich IoT einen regelrechten neuen Boom. Es ermöglicht, Millionen von Clients (Geräte oder Applikationen) effizient miteinander kommunizieren zu lassen und ist darauf ausgelegt, insbesondere auch in Umgebungen zu funktionieren, in denen man nicht mit einer zuverlässigen Netzinfrastruktur bzw. zuverlässigen Geräten rechnen kann. Über ein zentrales Element, den sogenannten Broker, können Milliarden von Nachrichten effizient ausgetauscht werden. Das Protokoll kann daher ohne Übertreibung als eines der wichtigsten Protokolle für das IoT bezeichnet werden, ist aber nicht auf IoT-Anwendungen beschränkt.
Lernziele MQTT Message Queuing Telemetry Transport Seminar
Inhalte MQTT Message Queuing Telemetry Transport Seminar
MQTT und das IoT
- Was ist IoT?
- Anwendungsbereiche des IoT
- Neue Technologie im IoT?
- Schichtenmodelle für das IoT – Beispiel
- Entstehung und Geschichte von MQTT
- MQTT – DAS IoT Protokoll
- Einsatzmöglichkeiten von MQTT
- Alternativen zu MQTT
MQTT – Das Protokoll
- MQTT 3.1.1
- Das Protokoll
- MQTT-Server/-Broker und Clients
- Subscriptions, Topics, Topic Filter, Session
- Datenformat in MQTT-Paketen
- Flags im Fixed Header
- Variabler Header CONNECT-Nachricht (1)
- CONNACK (Acknowledge connection request)
- MQTT Nachrichtentypen: CONNECT, CONNACK
- CONNACK – Return Codes
- MQTT PUBLISH Fixed Header
- MQTT PUBLISH Variable Header
- MQTT Nachrichtentypen PUBLISH, PUBACK, PUBREC, PUBREL und PUBCOMP
- MQTT SUBSCRIBE
- MQTT Nachrichtentypen SUBSCRIBE, SUBACK, UNSUBSCRIBE, UNSUBACK
- MQTT Nachrichtentypen PINGREQ, PINGRESP, DISCONNECT
- QoS in MQTT
- QoS in MQTT – QoS 0
- QoS in MQTT – QoS 1
- QoS in MQTT – QoS 2
- Retained Messages
- Last Will Messages
- Session State
- Änderungen / Neuerungen in MQTT 5
- Shared Subscriptions
- Subscription Identifier
- Statuscodes und -strings in CONNACK-Nachrichten
- Statuscodes und -strings in PUBACK-Nachrichten
- Statuscodes und -strings in PUBREC-Nachrichten
- Statuscodes und -strings in PUBREL- und PUBCOMP-Nachrichten
- Statuscodes und -strings in SUBACK-Nachrichten
- Statuscodes und -strings in UNSUBACK-Nachrichten
- Statuscodes und -strings in DISCONNECT-Nachrichten
- MQTT über Websockets
- MQTT im Embedded Umfeld: MQTT-SN
- MQTT-SN Architektur
- Unterschiede MQTT-SN – MQTT
Wichtige MQTT-Produkte, Hilfsmittel und Werkzeuge
- MQTT-Broker
- mosquitto
- HiveMQ
- VerneMQ
- MQTT-Clients
- HiveMQ MQTT-Client (Java) und Websockets-Client
- mosquitto_pub
- mosquitto_sub
- Eclipse Paho Javascript Client
- Eclipse Paho Java Client
- Eclipse Paho – Sonstige Implementierungen
MQTT-Security
- IoT-Security und die fünf Säulen der (klassischen) Informationssicherheit
- Sicherheitsaspekte in MQTT
- MQTT absichern
- Authentifizierung in MQTT
- Clientauthentifizierung mit Username und Passwort in mosquitto
- TLS-Konfiguration in mosquitto
- Autorisierung in mosquitto
MQTT Schulung: Zielgruppe MQTT Message Queuing Telemetry Transport Seminar
Dieser MQTT Kurs wendet sich an alle, die sich für das Messaging-Protokoll MQTT interessieren.
MQTT Schulung: Voraussetzungen MQTT Message Queuing Telemetry Transport Seminar
Grundkenntnisse in einer Skript-/Programmiersprache (Javascript, Python, etc.) sind hilfreich, aber nicht zwingend erforderlich. Solide Grundkenntnisse der Netzwerktechnik (OSI-Schichtenmodell etc.) sollten vorhanden sein.