MQTT - adriansinger87/aidc-web GitHub Wiki

Datenübertragung per MQTT

Das Internet der Dinge verschickt in unserem Fall seine Daten per Message Queuing Telemetry Transport, kurz MQTT. Dabei handelt es sich um ein Content-basiertes Protokoll, d.h. man muss vorher wissen, was einem entgegen kommt, damit man es verarbeiten kann. Wenn das Datenformat nicht stimmt, dann bemerkt man den Fehler erst zur Laufzeit des Programms, also Daumen drücken! 👍

Der Verbindungsaufbau

Wir kommunizieren über einen öffentlichen Broker von HiveMQ. Zum Verbindungsaufbau braucht man:

  • die Adresse des Brokers: broker.hivemq.com
  • einen Port oder Websocket, in unserem Fall 8000
  • eine Client-ID, die individuell festgelegt werden kann.

Das Datenformat

Verschickt wird im Beispiel ein JSON-Format, also JavaScript Object Notation. Diese Form der zur Repräsentation von Daten ist weit verbreitet, kompakt und gut für Menschen lesbar.

[
  {
    "Epc": "0072 1900 0000 0000 0000 0C48",
    "Name": "Name 1",
    "Signal": "-35",
    "Timestamp": 1583955543590
  },
  {
    "Epc": "0072 0850 0000 0000 G5KI",
    "Name": "Name 2",
    "Signal": "-48",
    "Timestamp": 1583957543406
  }
]

Es wird im Beispiel eine Liste von Objekten übertragen, wobei jedes vier Eigenschaften hat.

  • Einen elektronischen Produktcode Epc,
  • eine Name Eigenschaft,
  • einen Signal Wert und
  • einen Zeitstempel namens Timestamp, der als Unix Zeit in Millisekunden angegeben ist.

Jetzt kann es mit der Bearbeitung des HTML Baumes weitergehen.