-
MQTT is a "rediscovered" communication/messaging protocol. Although the protocol was developed in its original form back in 1999, it has been experiencing a real boom in recent years, particularly due to current developments in the IoT sector. It enables millions of clients (devices or applications) to communicate with each other efficiently and is designed to work particularly well in environments where a reliable network infrastructure or reliable devices cannot be expected. Billions of messages can be exchanged efficiently via a central element, the so-called broker. The protocol can therefore be described without exaggeration as one of the most important protocols for the IoT, but is not limited to IoT applications. This course covers the protocol itself, its special features and existing products in detail.
-
Course Contents
-
- The protocol (message types, roles, topics, wildcards etc.)
- Special features: Retained messages, last will and testament etc.
- Quality of Service in MQTT
- MQTT5
- MQTT-SN
- Use MQTT in your own applications
- Possible applications
- Securing MQTT
- MQTT products (commercial and open source)
The detailed digital documentation package, consisting of an e-book and PDF, is included in the price of the course.
Premium Course Documents
In addition to the digital documentation package, the exclusive Premium Print Package is also available to you.
- High-quality color prints of the ExperTeach documentation
- Exclusive folder in an elegant design
- Document pouch in backpack shape
- Elegant LAMY ballpoint pen
- Practical notepad
The Premium Print Package can be added during the ordering process for € 150,- plus VAT (only for classroom participation). -
Target Group
-
This course is aimed at anyone interested in the MQTT messaging protocol.
-
Knowledge Prerequisites
-
Basic knowledge of a scripting/programming language (Javascript, Python, etc.) is helpful, but not essential. Solid basic knowledge of network technology (OSI layer model, etc.) should be available.
1 | MQTT und das IoT |
1.1 | Was ist IoT? |
1.1.1 | Anwendungsbereiche des IoT |
1.1.2 | Neue Technologie im IoT? |
1.2 | Schichtenmodelle für das IoT - Beispiel |
1.3 | Entstehung und Geschichte von MQTT |
1.4 | MQTT - DAS IoT Protokoll |
1.5 | Einsatzmöglichkeiten von MQTT |
1.6 | Alternativen zu MQTT |
2 | MQTT - Das Protokoll |
2.1 | MQTT 3.1.1 |
2.1.1 | Das Protokoll |
2.1.2 | MQTT-Server/-Broker und Clients |
2.1.3 | Subscriptions, Topics, Topic Filter, Session |
2.1.4 | Datenformat in MQTT-Paketen |
2.1.5 | Flags im Fixed Header |
2.1.6 | Variabler Header CONNECT-Nachricht (1) |
2.1.7 | CONNACK (Acknowledge connection request) |
2.1.8 | MQTT Nachrichtentypen: CONNECT, CONNACK |
2.1.9 | CONNACK - Return Codes |
2.1.10 | MQTT PUBLISH Fixed Header |
2.1.11 | MQTT PUBLISH Variable Header |
2.1.12 | MQTT Nachrichtentypen PUBLISH, PUBACK, PUBREC, PUBREL und PUBCOMP |
2.1.13 | MQTT SUBSCRIBE |
2.1.14 | MQTT Nachrichtentypen SUBSCRIBE, SUBACK, UNSUBSCRIBE, UNSUBACK |
2.1.15 | MQTT Nachrichtentypen PINGREQ, PINGRESP, DISCONNECT |
2.2 | QoS in MQTT |
2.2.1 | QoS in MQTT - QoS 0 |
2.2.2 | QoS in MQTT - QoS 1 |
2.2.3 | QoS in MQTT - QoS 2 |
2.3 | Retained Messages |
2.4 | Last Will Messages |
2.5 | Session State |
2.6 | Änderungen / Neuerungen in MQTT 5 |
2.6.1 | Shared Subscriptions |
2.6.2 | Subscription Identifier |
2.6.3 | Statuscodes und -strings in CONNACK-Nachrichten |
2.6.4 | Statuscodes und -strings in PUBACK-Nachrichten |
2.6.5 | Statuscodes und -strings in PUBREC-Nachrichten |
2.6.6 | Statuscodes und -strings in PUBREL- und PUBCOMP-Nachrichten |
2.6.7 | Statuscodes und -strings in SUBACK-Nachrichten |
2.6.8 | Statuscodes und -strings in UNSUBACK-Nachrichten |
2.6.9 | Statuscodes und -strings in DISCONNECT-Nachrichten |
2.7 | MQTT über Websockets |
2.8 | MQTT im Embedded Umfeld: MQTT-SN |
2.8.1 | MQTT-SN Architektur |
2.8.2 | Unterschiede MQTT-SN - MQTT |
3 | Wichtige MQTT-Produkte, Hilfsmittel und Werkzeuge |
3.1 | MQTT-Broker |
3.1.1 | mosquitto |
3.1.2 | HiveMQ |
3.1.3 | VerneMQ |
3.2 | MQTT-Clients |
3.2.1 | HiveMQ MQTT-Client (Java) und Websockets-Client |
3.2.2 | mosquitto_pub |
3.2.3 | mosquitto_sub |
3.2.4 | Eclipse Paho Javascript Client |
3.2.5 | Eclipse Paho Java Client |
3.2.6 | Eclipse Paho - Sonstige Implementierungen |
4 | MQTT-Security |
4.1 | IoT-Security und die fünf Säulen der (klassischen) Informationssicherheit |
4.2 | Sicherheitsaspekte in MQTT |
4.3 | MQTT absichern |
4.4 | Authentifizierung in MQTT |
4.5 | Clientauthentifizierung mit Username und Passwort in mosquitto |
4.6 | TLS-Konfiguration in mosquitto |
4.7 | Autorisierung in mosquitto |
-
Classroom training
- Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!
-
Hybrid training
- Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.
-
Online training
- You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.
-
Tailor-made courses
-
You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.

-
MQTT is a "rediscovered" communication/messaging protocol. Although the protocol was developed in its original form back in 1999, it has been experiencing a real boom in recent years, particularly due to current developments in the IoT sector. It enables millions of clients (devices or applications) to communicate with each other efficiently and is designed to work particularly well in environments where a reliable network infrastructure or reliable devices cannot be expected. Billions of messages can be exchanged efficiently via a central element, the so-called broker. The protocol can therefore be described without exaggeration as one of the most important protocols for the IoT, but is not limited to IoT applications. This course covers the protocol itself, its special features and existing products in detail.
-
Course Contents
-
- The protocol (message types, roles, topics, wildcards etc.)
- Special features: Retained messages, last will and testament etc.
- Quality of Service in MQTT
- MQTT5
- MQTT-SN
- Use MQTT in your own applications
- Possible applications
- Securing MQTT
- MQTT products (commercial and open source)
The detailed digital documentation package, consisting of an e-book and PDF, is included in the price of the course.
Premium Course Documents
In addition to the digital documentation package, the exclusive Premium Print Package is also available to you.
- High-quality color prints of the ExperTeach documentation
- Exclusive folder in an elegant design
- Document pouch in backpack shape
- Elegant LAMY ballpoint pen
- Practical notepad
The Premium Print Package can be added during the ordering process for € 150,- plus VAT (only for classroom participation). -
Target Group
-
This course is aimed at anyone interested in the MQTT messaging protocol.
-
Knowledge Prerequisites
-
Basic knowledge of a scripting/programming language (Javascript, Python, etc.) is helpful, but not essential. Solid basic knowledge of network technology (OSI layer model, etc.) should be available.
1 | MQTT und das IoT |
1.1 | Was ist IoT? |
1.1.1 | Anwendungsbereiche des IoT |
1.1.2 | Neue Technologie im IoT? |
1.2 | Schichtenmodelle für das IoT - Beispiel |
1.3 | Entstehung und Geschichte von MQTT |
1.4 | MQTT - DAS IoT Protokoll |
1.5 | Einsatzmöglichkeiten von MQTT |
1.6 | Alternativen zu MQTT |
2 | MQTT - Das Protokoll |
2.1 | MQTT 3.1.1 |
2.1.1 | Das Protokoll |
2.1.2 | MQTT-Server/-Broker und Clients |
2.1.3 | Subscriptions, Topics, Topic Filter, Session |
2.1.4 | Datenformat in MQTT-Paketen |
2.1.5 | Flags im Fixed Header |
2.1.6 | Variabler Header CONNECT-Nachricht (1) |
2.1.7 | CONNACK (Acknowledge connection request) |
2.1.8 | MQTT Nachrichtentypen: CONNECT, CONNACK |
2.1.9 | CONNACK - Return Codes |
2.1.10 | MQTT PUBLISH Fixed Header |
2.1.11 | MQTT PUBLISH Variable Header |
2.1.12 | MQTT Nachrichtentypen PUBLISH, PUBACK, PUBREC, PUBREL und PUBCOMP |
2.1.13 | MQTT SUBSCRIBE |
2.1.14 | MQTT Nachrichtentypen SUBSCRIBE, SUBACK, UNSUBSCRIBE, UNSUBACK |
2.1.15 | MQTT Nachrichtentypen PINGREQ, PINGRESP, DISCONNECT |
2.2 | QoS in MQTT |
2.2.1 | QoS in MQTT - QoS 0 |
2.2.2 | QoS in MQTT - QoS 1 |
2.2.3 | QoS in MQTT - QoS 2 |
2.3 | Retained Messages |
2.4 | Last Will Messages |
2.5 | Session State |
2.6 | Änderungen / Neuerungen in MQTT 5 |
2.6.1 | Shared Subscriptions |
2.6.2 | Subscription Identifier |
2.6.3 | Statuscodes und -strings in CONNACK-Nachrichten |
2.6.4 | Statuscodes und -strings in PUBACK-Nachrichten |
2.6.5 | Statuscodes und -strings in PUBREC-Nachrichten |
2.6.6 | Statuscodes und -strings in PUBREL- und PUBCOMP-Nachrichten |
2.6.7 | Statuscodes und -strings in SUBACK-Nachrichten |
2.6.8 | Statuscodes und -strings in UNSUBACK-Nachrichten |
2.6.9 | Statuscodes und -strings in DISCONNECT-Nachrichten |
2.7 | MQTT über Websockets |
2.8 | MQTT im Embedded Umfeld: MQTT-SN |
2.8.1 | MQTT-SN Architektur |
2.8.2 | Unterschiede MQTT-SN - MQTT |
3 | Wichtige MQTT-Produkte, Hilfsmittel und Werkzeuge |
3.1 | MQTT-Broker |
3.1.1 | mosquitto |
3.1.2 | HiveMQ |
3.1.3 | VerneMQ |
3.2 | MQTT-Clients |
3.2.1 | HiveMQ MQTT-Client (Java) und Websockets-Client |
3.2.2 | mosquitto_pub |
3.2.3 | mosquitto_sub |
3.2.4 | Eclipse Paho Javascript Client |
3.2.5 | Eclipse Paho Java Client |
3.2.6 | Eclipse Paho - Sonstige Implementierungen |
4 | MQTT-Security |
4.1 | IoT-Security und die fünf Säulen der (klassischen) Informationssicherheit |
4.2 | Sicherheitsaspekte in MQTT |
4.3 | MQTT absichern |
4.4 | Authentifizierung in MQTT |
4.5 | Clientauthentifizierung mit Username und Passwort in mosquitto |
4.6 | TLS-Konfiguration in mosquitto |
4.7 | Autorisierung in mosquitto |
-
Classroom training
- Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!
-
Hybrid training
- Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.
-
Online training
- You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.
-
Tailor-made courses
-
You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.
