MQTT Verbindung

Lesedauer: 5min Veröffentlicht am: Juli 4, 2024. Der Autor des Beitrages ist Maximilian Backenstos.
Wie können Daten von einem MQTT Broker mit dem DatenBerg Gateway empfangen werden?
Inhalte auf dieser Seite
Primary Item (H2)Sub Item 1 (H3)

Aufbau von MQTT

Der Datenaustausch mit MQTT erfolgt über einen zentralen MQTT Broker, an den ein Gerät Daten sendet und der diese an Empfänger weiterleitet. Das DatenBerg Gateway " subscribed " sich auf ein definiertes Topic und leitet alle empfangenen Daten an die smartPLAZA weiter. In diesem Blogbeitrag gehen wir näher auf die Funktionsweise von MQTT ein.

Parameter für MQTT

Für den Empfang von Daten via MQTT müssen folgende Parameter definiert werden:

  • host: Adresse des MQTT-Servers
  • port: Port des MQTT-Servers
  • topic: Zu überwachendes Topic oder Topics
  • type: Payload-Format
    Mögliche Werte für "type":
    • text: Zeichnet den gesamten Text der Payload in ein Feld auf.
    • json: Interpretiert die Payload als JSON mit Name-Wert-Paaren und erzeugt ein Feld für jeden Eintrag.
    • Optionale Parameter:
      transformation: Plugin (Python-Datei), das die Payload transformiert, muss im im Ordner Plugins liegen

Optional können diese Parameter definiert werden:

  • user: Benutzername zur Anmeldung
  • password: Entsprechendes Passwort

Wann benötige ich eine Transformation?

Das Gateway erwartet die Daten zur Weitersendung in einem JSON-Format mit Namen-Wert Paaren. Jede Spalte - sowohl Meta-Daten als auch Messmerkmale - müssen als eigenes Paar auftreten. Im folgenden Beispiel ist eine passende JSON-Datei gegeben. Liegen die Daten im Payload der MQTT-Message nicht in einem solchen Format vor, muss ein Python Skript zur Transformation eingesetzt werden.

{
            "Uhrzeit": "2024-03-12 12:34:53",
            "Fertigungsauftrag": 1883,
            "Temperatur_IST": 34.1
 }

Beispielkonfiguration MQTT

Das folgende Beispiel zeigt eine Verbindung zu einem MQTT Broker mit der IP-Adresse 10.123.45.20 auf Port 1883. Alle Daten auf den Sub-Topics des Topics "Data" sind zu empfangen. Die Daten werden bereits als JSON gesendet und können direkt weitergeleitet werden.

[
    {
        "bucket": "mqtt_daten",
        "writeKey": "123456789",
        "source": "mqtt",
        "params": {
            "host": "10.123.45.20",
            "port": 1883,
            "topic": "Data/#",
            "type": "json"

        }

    }
]
Sie möchten mehr zum Thema MQTT Verbindung erfahren?
Der Autor Maximilian ist Geschäftsführer bei DatenBerg. Er begleitet Kunden von der Datenerfassung bis hin zur automatisierten Auswertung. Ist er nicht bei Kunden im Einsatz, hält er Vorträge zu den Themen Daten nutzen in der Produktion, Anwendungsfälle von Industrie 4.0 und automatisierte Auswertung von Produktionsdaten. Gerne besprechen wir mit Ihnen, wie das Thema MQTT Verbindung in Ihrer Produktion umgesetzt werden kann. Kontaktieren Sie uns hier.

Ähnliche Beiträge