|
#include
<ESP8266WiFi.h>
// Wifi-Bibliothek einbinden #include <PubSubClient.h> // MQTT Bibliothek einbinden const char* ssid = "DeineSSID"; // SSID deines Routers const char* pwd = "DeinPasswort"; // WLan-Passwort deines Routers const char* MeinBroker = "DeineBrokerAdresse"; // MQTT-Server (Broker) Adresse const int BrokerPort = 1883; // Broker-Portnummer const char* Topic = "test1"; // Topic-Name int x = 0; WiFiClient espClient; PubSubClient client(espClient); void WifiSetup() { Serial.println(); // Leerzeile Serial.println("ESP gestartet"); // Begrüßungstext WiFi.begin(ssid, pwd); // SSID und Passwort übergeben Serial.println("Starte WiFi-Verbindung"); while (WiFi.status() !=WL_CONNECTED) // gib Punkte aus bis WLan-Verbindung steht { delay(250); Serial.print("."); } Serial.println(); // Leerzeile Serial.print("Verbunden über IP: "); Serial.println(WiFi.localIP()); // gibt die IP aus mit der der ESP8266 am Router angemeldet ist } void reconnect() { while (!client.connected()){ // Verbinde mit Broker Serial.print("Verbinde mit MQTT Broker..."); if (client.connect("UUID-0815")){ // hier eine eindeutige Client-ID angeben Serial.println(" verbunden"); } else {delay(5000);}} // in 5 Sekunden erneut versuchen } void setup() { Serial.begin(9600); // Übertragungsgeschwindigkeit Serial-Monitor // initiale Wifi WifiSetup(); // initiale Serververbindung client.setServer(MeinBroker, BrokerPort); } void loop() { if (!client.connected()){reconnect();} // Rufe Funktion "reconnect" auf, wenn nicht mehr verbunden x = x +1; String s = "Nachricht "; s = s + x; char msg[50]; s.toCharArray(msg, 50); client.publish(Topic, msg); // client.publish(Topic, msg, true); das "ture" setzt einen Retain Flag Serial.print("Sende: "); Serial.println(msg); delay(5000); // warte 5 Sekunden } |