MQTT‑Broker

Was ist ein MQTT‑Broker?

Ein MQTT‑Broker ist eine zentrale Vermittlungsstelle, über die Geräte Daten austauschen. Ein Gerät sendet seine Messwerte an den Broker, und andere Geräte können diese Werte von dort abrufen. So entsteht ein einfacher, zuverlässiger Datenfluss.

Wann braucht man einen Broker?
  • Ein Raspberry Pi: Kein externer Broker nötig, weil alle Daten lokal verarbeitet werden können.

  • Mehrere Raspberry Pis im Netzwerk: Ein Broker erleichtert den Datenaustausch zwischen den Geräten im lokalen Netzwerk.

  • Anwendungen im Internet (WWW): Der Broker kann auf einem VPS‑Server laufen, damit Daten auch von außen erreichbar sind.

Lokaler MQTT‑Broker im Heimnetzwerk

Ein MQTT‑Broker kann direkt auf einem Raspberry Pi im lokalen Heimnetzwerk installiert werden. Damit können mehrere Geräte im Netzwerk ganz einfach Daten austauschen, ohne dass eine Internetverbindung nötig ist. Der Broker übernimmt dabei die Rolle einer zentralen Verteilstelle, an die Geräte ihre Messwerte senden und von der andere Geräte diese Werte wieder abrufen.

Server‑Installation

Für Installationen auf einem Server setzt Colmuspro auf Docker‑Container. Diese Variante ist zuverlässig, sauber und schnell eingerichtet, da Docker alle benötigten Komponenten kapselt und reproduzierbar bereitstellt.

Bei Standard‑Installation sind interne und externe Ports unterschiedlich

Bei vielen Standard‑Docker‑Installationen wird der interne Port des Dienstes (z. B. 1883 für MQTT) automatisch auf einen anderen externen Port gemappt. Das bedeutet:

  • intern: der Dienst läuft auf seinem normalen Port (z. B. 1883)

  • extern: Docker vergibt einen anderen Port, z. B. 11883

Dadurch entsteht der Eindruck, dass „die Ports verschieden sein müssen“ — tatsächlich ist es nur die Voreinstellung vieler fertiger Docker‑Images oder Compose‑Beispiele. Unsere Anwendungen greifen ausschließlich auf den externen Port zu, den Docker dem Container zuweist.

Wichtig ist:

  • Es wird nichts am internen Port geändert.

  • Der externe Port wird nur anders zugeordnet.

Das sorgt dafür, dass mehrere Container nebeneinander laufen können, ohne dass Port‑Konflikte entstehen.

Warum ein Broker für zukünftige Erweiterungen wichtig ist

Sobald du Funktionen wie:

  • externe Datenbanken

  • Web‑Dashboards

  • mehrere Datenquellen

  • oder verteilte Systeme

einbindest, wird ein Broker zwingend notwendig, um die Daten zentral zu verteilen.

Kommunikation mit dem Broker
  • Node‑RED ↔ Broker: über das MQTT‑Protokoll

  • Server‑Seite (Web): über das gesicherte WSS‑Protokoll

Authentifikation: kann bei Bedarf aktiviert werden

Testmöglichkeiten

Es gibt öffentliche MQTT‑Broker, die man ohne Anmeldung ausprobieren kann — einfach nach „public MQTT broker“ suchen.