---
title: "MQTT-Beispiel für Dart (Flutter): Verbinden, Senden, Abonnieren | ConnectMQ"
description: "MQTT-Client-Beispiel für Dart (Flutter) mit mqtt_client: Code für den kostenlosen Broker broker.connectmq.com und eine sichere TLS-Verbindung zu ConnectMQ."
url: "https://connectmq.com/de/code-beispiele/dart-flutter/"
language: "de"
---

Codebeispiele

# MQTT-Beispiel für Dart (Flutter)

Verbinden Sie Dart- und Flutter-Apps mit dem Paket mqtt\_client mit einem MQTT-Broker. Starten Sie auf dem kostenlosen öffentlichen Broker und verbinden Sie denselben Code anschließend mit einem sicheren privaten Broker auf ConnectMQ.

Bibliothek

[mqtt\_client](https://pub.dev/packages/mqtt_client)

Installation

`dart pub add mqtt_client # flutter pub add mqtt_client`

[**Quellcode auf GitHub**`mqtt-code-samples/dart-flutter`Klonen Sie die vollständigen, lauffähigen Beispiele. Stars und Pull Requests sind willkommen. Auf GitHub ansehen](https://github.com/connectmq/mqtt-code-samples/tree/main/dart-flutter)

## 1\. Auf dem kostenlosen öffentlichen Broker testen

Kein Konto nötig: Verbinden Sie sich mit `broker.connectmq.com` auf Port 1883 und publizieren Sie in wenigen Sekunden.

main.dart

```
import 'dart:convert';
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';

Future<void> main() async {
  const topic = 'your-project/sensors/temperature'; // Eindeutiges Topic-Präfix verwenden: Jeder kann den öffentlichen Broker mitlesen

  // Mit dem kostenlosen öffentlichen Broker verbinden (kein Konto nötig) (Jeder Client braucht eine eindeutige Client-ID)
  final client = MqttServerClient.withPort('broker.connectmq.com', 'flutter-example', 1883);
  client.keepAlivePeriod = 30;
  await client.connect();

  // Temperatur-Topic abonnieren
  client.subscribe(topic, MqttQos.atLeastOnce);
  // Wird für jede Nachricht auf einem abonnierten Topic ausgeführt
  client.updates!.listen((messages) {
    final message = messages.first.payload as MqttPublishMessage;
    final text = MqttPublishPayload.bytesToStringAsString(message.payload.message);
    print('${messages.first.topic}: $text');
  });

  // Messwert als JSON publizieren
  final builder = MqttClientPayloadBuilder()..addString(jsonEncode({'temperature': 21.5}));
  client.publishMessage(topic, MqttQos.atLeastOnce, builder.payload!);
}
```

### Kostenloser öffentlicher MQTT-Broker

Der öffentliche Broker wird gemeinsam genutzt: Jeder kann Ihre Topics abonnieren. Senden Sie darüber niemals Passwörter, personenbezogene Daten oder vertrauliche Informationen.

[Mehr zum kostenlosen öffentlichen MQTT-Broker](https://connectmq.com/de/oeffentlicher-mqtt-broker/)

## 2\. Mit ConnectMQ in Produktion gehen

Nutzen Sie für echte Geräte statt des öffentlichen Brokers einen privaten Serverless-MQTT-Broker auf ConnectMQ: TLS-Verschlüsselung, Benutzername und Passwort für jedes Gerät sowie Zugriffskontrolle pro Topic, vollständig verwaltet. Starten Sie im Free-Plan — ohne Kreditkarte.

Ersetzen Sie YOUR\_BROKER\_HOST, YOUR\_USERNAME und YOUR\_PASSWORD durch die Werte aus Ihrem ConnectMQ-Dashboard.

[Kostenlos starten](https://app.connectmq.com/signup) [Preise ansehen](https://connectmq.com/de/preise/)

main.dart

```
import 'dart:convert';
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';

Future<void> main() async {
  const topic = 'your-project/sensors/temperature';

  // Mit Ihrem privaten ConnectMQ-Broker auf Port 8883 verbinden (Jeder Client braucht eine eindeutige Client-ID)
  final client = MqttServerClient.withPort('YOUR_BROKER_HOST', 'flutter-example', 8883);
  client.keepAlivePeriod = 30;
  // TLS: Der CA-Speicher des Systems prüft das Broker-Zertifikat
  client.secure = true;
  // Benutzername und Passwort aus Ihrem ConnectMQ-Dashboard
  await client.connect('YOUR_USERNAME', 'YOUR_PASSWORD');

  // Temperatur-Topic abonnieren
  client.subscribe(topic, MqttQos.atLeastOnce);
  // Wird für jede Nachricht auf einem abonnierten Topic ausgeführt
  client.updates!.listen((messages) {
    final message = messages.first.payload as MqttPublishMessage;
    final text = MqttPublishPayload.bytesToStringAsString(message.payload.message);
    print('${messages.first.topic}: $text');
  });

  // Messwert als JSON publizieren
  final builder = MqttClientPayloadBuilder()..addString(jsonEncode({'temperature': 21.5}));
  client.publishMessage(topic, MqttQos.atLeastOnce, builder.payload!);
}
```

## FAQ zu MQTT mit Dart (Flutter)

Wie verbinde ich Dart (Flutter) mit einem MQTT-Broker?

Installieren Sie mqtt\_client, verbinden Sie sich mit dem Broker-Host auf Port 1883 (oder 8883 mit TLS), abonnieren Sie dann ein Topic und publizieren Sie Nachrichten darauf. Die Beispiele auf dieser Seite verbinden sich mit dem kostenlosen öffentlichen Broker broker.connectmq.com und mit einem privaten ConnectMQ-Broker.

Gibt es einen kostenlosen MQTT-Broker zum Testen von Dart (Flutter)?

Ja. broker.connectmq.com ist ein kostenloser öffentlicher MQTT-Broker, für den Sie kein Konto benötigen. Jeder kann seine Topics mitlesen, nutzen Sie ihn daher nur für Tests und mit einem eindeutigen Topic-Präfix.

Wie sichere ich eine MQTT-Verbindung mit Dart (Flutter) ab?

Verbinden Sie sich über TLS auf Port 8883 mit Benutzername und Passwort aus Ihrem ConnectMQ-Dashboard und geben Sie jedem Gerät eigene Zugangsdaten und Topic-Berechtigungen, statt den öffentlichen Broker zu verwenden.

## Weitere Codebeispiele

[

### Python

Verbinden Sie Python mit paho-mqtt mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/python/)[

### Node.js

Verbinden Sie Node.js mit MQTT.js mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/nodejs/)[

### ESP32

Verbinden Sie einen ESP32 per WLAN mit der Arduino-Bibliothek PubSubClient mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/esp32/)[

### Go

Verbinden Sie Go mit dem Eclipse Paho Go Client mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/go/)[

### CLI (mosquitto)

Publizieren und abonnieren Sie über die Kommandozeile mit mosquitto\_pub und mosquitto\_sub.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/cli/)[

### Java

Verbinden Sie Java mit dem Eclipse Paho Java Client mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/java/)[

### C# (.NET)

Verbinden Sie C# und .NET mit MQTTnet mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/csharp/)[

### Rust

Verbinden Sie Rust mit dem Crate rumqttc mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/rust/)[

### Swift / Kotlin

Verbinden Sie native iOS-Apps (Swift) und Android-Apps (Kotlin) mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/swift-kotlin/)[

### Home Assistant

Verbinden Sie Home Assistant mit einem MQTT-Broker und machen Sie aus MQTT-Nachrichten Sensoren.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/home-assistant/)[

### Node-RED

Verbinden Sie Node-RED mit einem importierbaren Flow mit einem MQTT-Broker.

Beispiel ansehen](https://connectmq.com/de/code-beispiele/node-red/)

[Alle Codebeispiele](https://connectmq.com/de/code-beispiele/)

### Kostenloser öffentlicher MQTT-Broker

Testen Sie jedes Beispiel auf broker.connectmq.com – ohne Registrierung, mit MQTT 3.1.1 und 5, TCP, TLS und WebSocket.

[Mehr zum kostenlosen öffentlichen MQTT-Broker](https://connectmq.com/de/oeffentlicher-mqtt-broker/)

### Sicheres Serverless-MQTT für die Produktion

Wenn echte Geräte dazukommen, führen Sie denselben Code auf einem privaten, vollständig verwalteten ConnectMQ-Broker mit TLS und eigenen Zugangsdaten pro Gerät aus.

[Kostenlos starten](https://app.connectmq.com/signup)

## Ihr privater MQTT-Broker ist nur wenige Klicks entfernt

Konto anlegen, Broker-Zugangsdaten erhalten und das erste Gerät verbinden — ohne Server, die installiert, gepatcht oder skaliert werden müssen.

[Jetzt starten](https://app.connectmq.com/signup) [Preise ansehen](https://connectmq.com/de/preise/)

## Artikel

[Alle Artikel](https://connectmq.com/de/blog/)

IoT-Tutorials

### [ESP32 MQTT Tutorial: Sensordaten senden und eine LED mit der Arduino IDE steuern](https://connectmq.com/de/blog/esp32-mqtt-anleitung/)

Verbinden Sie einen ESP32 mit der Arduino IDE und PubSubClient mit einem MQTT Broker, senden Sie Temperaturwerte als JSON, steuern Sie die Onboard-LED über die Kommandozeile und steigen Sie mit Zugangsdaten aus dem Portal auf TLS um.

23\. August 20269 Min. Lesezeit

IoT-Tutorials

### [Kostenloser öffentlicher MQTT-Broker zum Testen: In Minuten mit broker.connectmq.com verbinden](https://connectmq.com/de/blog/kostenloser-public-mqtt-broker/)

broker.connectmq.com ist ein kostenloser öffentlicher MQTT-Broker zum Testen und Lernen. Hier finden Sie die Ports, die Regeln für den anonymen Zugang, die Limits und Beispiele zum Kopieren für CLI, Python, Node.js und den Browser.

20\. September 20268 Min. Lesezeit

IoT-Tutorials

### [MQTT über WebSocket: Einen Browser mit MQTT.js an einen MQTT Broker anbinden](https://connectmq.com/de/blog/mqtt-websocket-browser/)

Browser können keine rohen TCP-Sockets öffnen, deshalb sprechen Web-Apps MQTT über WebSocket. Bauen Sie einen funktionierenden Browser-Client und einen Node.js-Client für broker.connectmq.com und lernen Sie, die häufigsten Verbindungsfehler zu beheben.

29\. September 20269 Min. Lesezeit
