MQTT Definitionen

Bevor die Software geschrieben werden kann, müssen erst einmal einige Dinge definiert werden.

Das Netzwerk
Alle beteiligten Dienste befinden sich in einem eigens dafür geschaffenem Netz. Die Verbindung nach außen geschieht über einen Router mitsamt Firewall.

Publisher und Subscriber
Der Sensor trägt seine Messwerte als Publisher auf dem Server ein. Alle Aktuatoren oder Messgeräte lassen sich die Messwerte als Subscriber zusenden. Es gibt keinen Retain und auch keine zeitlich regelmässige Übertragung (Timetriggered). Wer sich anmeldet, muss warten, bis es einen neuen Messwert gibt.

Topics
Der Sensor stellt zwei Messwerte zur Verfügung: Luftfeuchte und Temperatur
Um die Messwerte mit anderen Werten in eine Beziehung setzen zu können ist noch ein weiterer Wert vonnöten: Die Messzeit.
Es gibt also folgende Topics:

Wohnung/Raum1/Luftfeuchte/Messwert
Wohnung/Raum1/Luftfeuchte/Messzeit
Wohnung/Raum1/Temperatur/Messwert
Wohnung/Raum1/Temperatur/Messzeit

Wobei für die Messwerte folgende Maßeinheiten benutzt werden:
Die Luftfeuchte in relativer Luftfeuchte in [%]
Die Temperatur in Grad Celsius [‚C]

Die Darstellung der Messzeit erfolgt folgendermaßen:
TT.MM.JJJJ ST:MN
mit TT Tag, MM Monat, JJJJ Jahr in vollständiger Schreibweise
und ST Stunde, MN Minute

Beide Angaben erfolgen in ASCII Darstellung, also als Textstring.

QoS
Um sicherzugehen, das mindestens einmal ein Messwert ankommt, wird der QoS Level 1 genutzt. Der Nachrichtenzähler wird fortlaufend um eins erhöht.

Nutzung der Messwerte
Hier zeigen sich viele Möglichkeiten auf. Zum einen als Monitoring der Ist Situation (Messgerät) oder als Steuerung, z.B. Lüftung und / oder Heizungssteuerung (Facility und Gebäudemanagement)

Links und Literaturhinweise

MQTT
https://de.wikipedia.org/wiki/MQTT

Rechnernetze
https://de.wikipedia.org/wiki/Topologie_(Rechnernetz)

Mosquitto
https://mosquitto.org

Dokumentation zu Mosquitto
https://mosquitto.org/documentation/

Gebäudemanagement
https://de.wikipedia.org/wiki/Gebäudemanagement

Facilitymanagement
https://de.wikipedia.org/wiki/Facilitymanagement

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.