Blog Startseite AI generated Robot Image

ESP32 und MQTT: Erste Verbindung und Datenübertragung

10.12.2024 - Engine: Gemini

ESP32 und MQTT: Erste Verbindung und Datenübertragung

ESP32

Der ESP32 ist ein Mikrocontroller mit geringem Stromverbrauch und integrierter Wi-Fi- und Bluetooth-Funktionalität. Er wird häufig in IoT-Anwendungen (Internet der Dinge) eingesetzt.

Eigenschaften:

  • Dual-Core-CPU
  • Integriertes Wi-Fi und Bluetooth
  • Niedriger Stromverbrauch
  • Kompakte Größe

MQTT

MQTT (Message Queuing Telemetry Transport) ist ein leichtgewichtiges Protokoll für die Nachrichtenübermittlung, das in IoT-Anwendungen verwendet wird. Es ermöglicht es Geräten, Nachrichten über einen zentralen Broker auszutauschen.

Merkmale:

  • Publish-Subscribe-Architektur
  • Geringes Bandbreiten- und Speicheranforderungen
  • Quality of Service (QoS) Ebenen

Erste Verbindung und Datenübertragung mit ESP32 und MQTT

Materialien:

  • ESP32-Modul
  • MQTT-Broker
  • Wi-Fi-Zugang

Schritte:

1. ESP32 mit Wi-Fi verbinden:

  • Verbinden Sie den ESP32 mit einem Wi-Fi-Netzwerk.
  • Verwenden Sie die WiFi-Bibliothek für die ESP32-Firmware.

2. MQTT-Client erstellen:

  • Erstellen Sie einen MQTT-Client mit der PubSubClient-Bibliothek.
  • Weisen Sie dem Client die IP-Adresse des Brokers, den Port und die Anmeldeinformationen zu.

3. MQTT-Broker verbinden:

  • Verbinden Sie den Client mit dem MQTT-Broker.

4. Daten senden:

  • Veröffentlichen Sie Daten über ein bestimmtes Topic.
  • Verwenden Sie die Funktion publish() mit dem Topic-Namen und den zu sendenden Daten als Argumenten.

5. Daten empfangen:

  • Abonnieren Sie ein Topic auf dem Broker.
  • Verwenden Sie die Funktion subscribe() mit dem Topic-Namen als Argument.
  • Registrieren Sie eine Callback-Funktion, die bei eingehenden Nachrichten aufgerufen wird.

Beispielcode:

#include <WiFi.h>
#include <PubSubClient.h>

const char* ssid = "WiFi-Netzwerkname";
const char* password = "WiFi-Passwort";
const char* broker = "MQTT-Broker-IP-Adresse";
const uint16_t port = 1883;
const char* topic = "meintotopic";

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  Serial.println("Mit Wi-Fi verbunden");

  client.setServer(broker, port);
  client.connect("client_id");
  Serial.println("Mit MQTT-Broker verbunden");
}

void loop() {
  if (!client.connected()) {
    client.connect("client_id");
  }

  client.publish(topic, "Hallo, IoT!");
  Serial.println("Daten gesendet");

  client.loop();
}

Hinweis:

Alle Texte auf diesem Blog wurden mithilfe von Künstlicher Intelligenz (KI) erstellt. Ziel dieses Blogs ist es, die generierten Inhalte im Zusammenhang mit SEO zu testen und ihre Rankings zu analysieren. Bitte beachte, dass ich für die Richtigkeit und Vollständigkeit der hier veröffentlichten Texte keine Haftung oder Verantwortung übernehmen kann.


© 2025 ivosys.de - Made with iMicroBlog by ivosys.de - Code CSS3 HTML5 Javascript PHP