Title: MQTT
Course: LF07 - Cyber-physische Systeme ergänzen - FI/ITSE - Raspberry Pi

Feedback shared by this category's questions, if right: Die Antwort ist richtig.
Feedback shared by this category's questions, if partly right: Die Antwort ist teilweise richtig.
Feedback shared by this category's questions, if wrong: Die Antwort ist falsch.

Q: In der Tabelle sehen Sie schematisch die Sensoren und Aktoren von zwei Drohnen dargestellt. Schreiben Sie in die Antwortfelder die passenden Topics nach dem Schema a/b/c usw.

[Image: Topics Drohnen]

Rotor 3 von Drohne 1: [sensors/drone1/speed/rotor/3]

Batteriezustand von Drohne 2: [sensors/drone2/remainingbattery]

Höhe von Drohne 1: [sensors/drone1/altitude]
- sensors/drone1/speed/rotor/3
- sensors/drone2/remainingbattery
- sensors/drone1/altitude
A: sensors/drone1/speed/rotor/3 / sensors/drone2/remainingbattery / sensors/drone1/altitude

Q: Wählen Sie genau zwei richtige Antworten zum Thema MQTT aus.
- MQTT Client- und Brokersoftware müssen auf dem gleichen Betriebssystem basieren. (Das ist natürlich Quatsch. Das MQTT Protokoll soll ja gerade dazu dienen, unterschiedlichste Systeme miteinander zu verbinden)
- MQTT arbeitet standardmäßig auf den Ports 1883 und 8883. (Richtig)
- Alle MQTT-Clients können nur den aktuellen Topicinhalt auf dem Broker auslesen, nicht deren Verlauf in der Vergangenheit. (Richtig)
- Gibt es einen Subscriber in einem MQTT Verbund, muss es auch immer einen Publisher geben. (Das verhält sich aus praktischen Erwägungen natürlich meist so, ist aber nicht erforderlich.)
- Ein Client mit einer Subscription auf das MQTT Topic sensors/drone1/# empfängt Daten von sensors/drone1/t1 und sensors/drone2/t2 (Falsch, das war eine gemeine Auswahlmöglichkeit, da man hier genau lesen musste)
A: MQTT arbeitet standardmäßig auf den Ports 1883 und 8883.; Alle MQTT-Clients können nur den aktuellen Topicinhalt auf dem Broker auslesen, nicht deren Verlauf in der Vergangenheit.

Q: Wählen Sie die zwei richtigen Antworten zum Thema MQTT aus.
- Bei der Verbindungsherstellung mit einem MQTT-Broker können sowohl Benutzerlogin als auch ein Zertifikat gleichzeitig erforderlich sein. (Richtig, beim Mosquittobroker wäre neben der Angabe der Zertifikatspfade auch die Option allow_anonymous false gesetzt und es gäbe eine Datenbank mit Nutzerlogins auf dem Broker.)
- Damit Client und Broker sich gegenseitig vertrauen können, muss auf beiden Geräten die Zertifikatskette des jeweils anderen Gerätes nachprüfbar sein. (Genau, zum Beispiel über ein Rootzertifikat, das im Betriebssystem verankert ist oder über ein vorher verteiltes Zertifikat der CA des anderen Gerätes.)
- Bei der Konfiguration eines MQTT-Brokers, muss man entweder Standardport 1883 oder 8883 auswählen. (Falsch, das Port, auf dem mosquitto lauschen soll, kann ein beliebiges größer 1024 sein)
- Bei der Konfiguration eines mosquitto MQTT Brokers haben Sie die Option allow_anonymous false gewählt. Der Datenverkehr findet somit verschlüsselt statt. (Falsch, man kann damit den Nutzerkreis begrenzen. Für eine verschlüsselte Verbindung muss allerdings TLS genutzt werden)
A: Bei der Verbindungsherstellung mit einem MQTT-Broker können sowohl Benutzerlogin als auch ein Zertifikat gleichzeitig erforderlich sein.; Damit Client und Broker sich gegenseitig vertrauen können, muss auf beiden Geräten die Zertifikatskette des jeweils anderen Gerätes nachprüfbar sein.

Q: Ordnen Sie den Beschreibungen die entsprechende Serviceklasse zu (qoS)!
- At least once | QoS 1
- At most once | QoS 0
- Exactly once | QoS 2
Also offered: QoS 3
Feedback: QoS beschreibt den Zustellmechanismus der Nachricht. Je höher der Level, desto sicherer kann der Sender über den Empfang der Nachricht sein.

Q: Ein Publisher übermittelt Nachrichten eines Topics "wenigstens einmal" an den Broker.

Geben Sie an, welchen QoS-Level der Broker verwendet, um diesen Topic an die Subscriber zu versenden.
- Der Subscriber verwendet QoS-Level 0 | QoS 0
- Der Subscriber verwendet QoS-Level 1 | QoS 1
- Der Subscriber verwendet QoS-Level 2 | QoS 2
Also offered: QoS 2
Feedback: Der Subscriber limitiert durch Verwendung des QoS 1 auch die Subscriber auf diesen Wert.

Q: Geben Sie die beiden Ports an, auf welchen MQTT standardmäßig arbeitet!
- 1880
- 1883
- 8883
- 8880
A: 1883 / 8883
Feedback: Im Material M1.2.1 findet man angegeben 1883 und 8883.

Q: Ein Publisher mit der IPv4-Adresse 192.168.25.101 möchte auf einem Broker mit der IP-Adresse 192.168.25.24 im Topic ground_floor/sensor1 die Nachricht "23.4" veröffentlichen.

Geben Sie den Code hierfür an!

mosquitto_[pub] -h [192.168.25.24] -t "[ground_floor/sensor1]" -m "[23.4]"
- pub
- 192.168.25.24
- ground_floor/sensor1
- 23.4
- sub
- 192.168.25.101
A: pub / 192.168.25.24 / ground_floor/sensor1 / 23.4

Q: Ein Publisher vom Typ mosquitto mit der IPv4-Adresse 192.168.25.101 möchte auf einem Broker mit der IP-Adresse 192.168.25.24 im Topic ground_floor/sensor1 die Nachricht "23.4" veröffentlichen. (Hinweis: sollte Ihr Browser ein Verschieben der Lösungswörter nicht unterstützen, können Sie die Arbeit abbrechen und in einem anderen Browser wieder aufnehmen oder die in den Verschiebekästchen stehenden Begriffe mit der Tastatur eingeben)

Geben Sie den Code hierfür an!

mosquitto_[pub] -h [192.168.25.24] -t "[ground_floor/sensor1]" -m "[23.4]"
- pub
- 192.168.25.24
- ground_floor/sensor1
- 23.4
- sub
- 192.168.25.101
A: pub / 192.168.25.24 / ground_floor/sensor1 / 23.4