Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. ESP8266 keine Verbindung zum MQTT mit Arduino Programm

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    ESP8266 keine Verbindung zum MQTT mit Arduino Programm

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Marco71 last edited by Negalein

      Hallo zusammen,
      bin neu hier im Forum, ich heiße Marco und komme aus der Nähe von Köln.
      Bin gerade seid einem Monat mit dem ioBroker dran, und wollte mir mit mehreren ESP8266´s die Temperatur und Luftfeuchtigkeit von den verschiedenen Räumen messen und über die VIS anzeigen lassen.

      Bin schon seid fast 2 Wochen am probieren mir die Daten vom ESP zum MQTT zu senden, aber irgendwie klappt das nicht. Da ich die ESP´s mit einer 18650 Batterie jeweils laufen lassen will und diese dann nach der Messeung für 10 min in den DeppSleep sollen, kann ich hier nicht mit Tasmota probieren.

      Bekomme immer die Ausgabe über den Seriellen-Monitor:
      Attempting MQTT connection...failed, rc=-2 try again in 5 seconds

      Ich hab schon einige Codes aus dem Netz probiert, aber immer die selbe Fehlermeldung. Denke mal das das am ioBroker-Adapter mqtt.0 liegen müsste. Kann mir hierbei jemand helfen

      Hier mein Arduino-Code:

      #include <ESP8266WiFi.h>  
      #include <PubSubClient.h>  
      #include <DHT.h>  
         
      #define wifi_ssid "xxxxxxx"  
      #define wifi_password "xxxxxxxx"  
      #define mqtt_server "192.168.178.37"  
      #define mqtt_user ""  
      #define mqtt_password ""  
      #define humidity_topic "TempBad/Humidity"  
      #define temperature_topic "TempBad/Temperature"    
      #define DHTTYPE DHT11
      #define DHTPIN 4   
      #define TIMEFRAME 60000  
      
      DHT dht(DHTPIN, DHTTYPE);
      WiFiClient espClient;  
      PubSubClient client(espClient);  
         
      float temp = 0.0;  
      float hum = 0.0;   
      bool status;  
          
      void setup() 
      {  
        Serial.begin(9600);  
        dht.begin(); //DHT11 Sensor starten
        setup_wifi();  
        client.setServer(mqtt_server, 1883);   
        if (!client.connected()) 
        {  
          reconnect();  
        }      
        client.loop();    
        delay(3000);
        temp=dht.readTemperature();  
        hum=dht.readHumidity();       
        Serial.println(temp);  
        client.publish(temperature_topic, String(temp).c_str(), true);    
        Serial.println(hum);  
        client.publish(humidity_topic, String(hum).c_str(), true);      
        Serial.println("Going into deep sleep");  
        //ESP.deepSleep(TIMEFRAME);  
      }  
         
       void loop() 
       {  
       }  
         
      void setup_wifi() 
      {  
        delay(10);  
        Serial.println();  
        Serial.print("Connecting to ");  
        Serial.println(wifi_ssid);  
        WiFi.begin(wifi_ssid, wifi_password);  
        while (WiFi.status() != WL_CONNECTED) 
        {  
         delay(500);  
         Serial.print(".");  
        }  
        Serial.println("");  
        Serial.println("WiFi connected");  
        Serial.println("IP address: ");  
        Serial.println(WiFi.localIP());  
        WiFi.hostname("TempBad ESP8266");
      }  
         
      void reconnect() 
      {  
        while (!client.connected()) 
        {  
          Serial.print("Attempting MQTT connection...");  
          if (client.connect("nodemcu")) 
          { 
            Serial.println("connected");    
          } 
          else 
          {  
            Serial.print("failed, rc=");  
            Serial.print(client.state());  
            Serial.println(" try again in 5 seconds");    
            delay(5000);  
          }  
        }  
      }  
      

      Mod-Edit: Thema von "off Topic" nach "ioBroker Allgemein" verschoben!

      Homoran 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Marco71 last edited by

        @Marco71 sagte in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

        192.168.178.37

        Ich hoffe mal das ist deine IP-Adresse des ioBrokers?

        Hast du da den mqtt-Adapter oder den mqtt-client-Adapter installiert.
        welchen Port?
        ggf. etwas was den selben Port nutzt?

        1 Reply Last reply Reply Quote 0
        • M
          Marco71 last edited by

          Hi,

          Ja die Adresse des ioBrokers ist richtig, ich habe den MQTT Broker/Client installiert, als Typ Client/subscriber und auf dem Port 1883 ohne Name und Passwort. den selben Port hat nur der Sonoff-Adapter

          Homoran S 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Marco71 last edited by

            @Marco71 sagte in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

            den selben Port hat nur der Sonoff-Adapter

            Das reicht. Dann geht beides nicht mehr 😉

            1 Reply Last reply Reply Quote 0
            • M
              Marco71 last edited by

              Aber wenn ich dem MQTT nen anderen Port gebe wird er nicht mehr grün angezeigt, ich dachte das wäre richtig so...
              Also müsse ich beim Sonoff und MQTT verschiedene ports haben, ich dachte die würden zusammenarbeiten

              Homoran 1 Reply Last reply Reply Quote 0
              • M
                Marco71 last edited by

                Aber die Sonoff´s haben trotzdem noch funktioniert

                1 Reply Last reply Reply Quote 0
                • E
                  Einstein67 last edited by

                  @Marco71 said in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                  Da ich die ESP´s mit einer 18650 Batterie jeweils laufen lassen will und diese dann nach der Messeung für 10 min in den DeppSleep sollen, kann ich hier nicht mit Tasmota probieren.

                  Das funktioniert aber mit Tasmota (glaube seit 7.x) auch problemlos!!

                  1 Reply Last reply Reply Quote 0
                  • M
                    Marco71 last edited by

                    Die Funktion hab ich dort nicht gefunden.

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Marco71 last edited by

                      @Marco71 sagte in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                      wird er nicht mehr grün angezeigt,

                      Der wird erst grün, wenn sich ein Gerät verbindet.
                      Das kann auch ein sonoff sein 😉

                      1 Reply Last reply Reply Quote 0
                      • E
                        Einstein67 last edited by

                        @Marco71 said in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                        Die Funktion hab ich dort nicht gefunden.

                        Schau mal da: https://github.com/arendst/Tasmota/wiki/DeepSleep

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          Marco71 last edited by

                          Ah ok,
                          hab jetzt mal im Code den Port auf 1884 sowie im Adapter von MQTT geändert, bekomme immer noch die selbe Fehlermeldung

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Marco71 last edited by

                            @Marco71
                            Dann bleiben noch die MQTT Credentials als Möglichkeit
                            sind die korrekt?

                            sowie die WLAN Zugangsdaten.
                            ist der ESP am Router im WLAN zu sehen?

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              Marco71 @Einstein67 last edited by

                              @Einstein67
                              so wie ich das jetzt gelesen habe muss man den Build neu kompilieren und noch eine Programmzeile hinzufügen für den DeepSleep....
                              Hast du da irgend eine Adresse wo das genau beschrieben wird

                              1 Reply Last reply Reply Quote 0
                              • M
                                Marco71 @Homoran last edited by

                                @Homoran
                                Was meinst du mit MQTT Credentials.
                                Laut Serial-Monitor ist der ESP Verbunden. Er gibt mir auch die IP-Adresse aus

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @Marco71 last edited by Homoran

                                  @Marco71 sagte in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                                  Was meinst du mit MQTT Credentials.

                                  @Marco71 sagte in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                                  #define mqtt_user ""
                                  #define mqtt_password ""

                                  @Marco71 sagte in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                                  Laut Serial-Monitor ist der ESP Verbunden.

                                  mit dem richtigen Netz??? 😉

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Marco71 last edited by

                                    Ich hab jetzt nochmal deb ESP neu beschrieben, habe die Eingaben neu gemacht (ssid & passwort...).
                                    Werde jetzt mal den Raspberry neu starten und die Fritzbox, melde mich dann später oder Morgen, da ich jetzt noch Besuch bekomme. Danke schon mal bis jetzt für die Hilfe...

                                    Richome 1 Reply Last reply Reply Quote 0
                                    • Richome
                                      Richome @Marco71 last edited by

                                      @Marco71
                                      Da ich auch ESP's einsetzen möchte bin ich auf diesen Beitrag gestossen. In dem Script habe ich in der reconnect-Routine die Zeile "if (client.connect("nodemcu")) " durch den Eintrag "if (client.connect("ESP8266Client", mqtt_user, mqtt_password)" ersetzt. Danach wurde die Verbindung sofort aufgebaut.
                                      Mich würde noch interessieren wie der Tiefschlafmodus funktioniert. Falls möglich stelle mal ein Schaltbild rein.

                                      Alex.Sch. 1 Reply Last reply Reply Quote 0
                                      • Alex.Sch.
                                        Alex.Sch. @Richome last edited by

                                        @Richome said in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                                        @Marco71
                                        Da ich auch ESP's einsetzen möchte bin ich auf diesen Beitrag gestossen. In dem Script habe ich in der reconnect-Routine die Zeile "if (client.connect("nodemcu")) " durch den Eintrag "if (client.connect("ESP8266Client", mqtt_user, mqtt_password)" ersetzt. Danach wurde die Verbindung sofort aufgebaut.
                                        Mich würde noch interessieren wie der Tiefschlafmodus funktioniert. Falls möglich stelle mal ein Schaltbild rein.

                                        Und wenn du kein Passwort verwendest, sollte es "if (client.connect("ESP8266Client", 0, 0))" heissen... (und nicht leer, wie in deinem #define-Block...

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          stimezo Forum Testing @Marco71 last edited by

                                          @Marco71 sagte in ESP8266 keine Verbindung zum MQTT mit Arduino Programm:

                                          Hi,

                                          Ja die Adresse des ioBrokers ist richtig, ich habe den MQTT Broker/Client installiert, als Typ Client/subscriber und auf dem Port 1883 ohne Name und Passwort. den selben Port hat nur der Sonoff-Adapter

                                          Mal abgesehen von dem Port-Konflikt, der ESP braucht einen MQTT-Server zum verbinden - keinen Client!

                                          Gruß
                                          Christian

                                          1 Reply Last reply Reply Quote 1
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          525
                                          Online

                                          31.8k
                                          Users

                                          80.0k
                                          Topics

                                          1.3m
                                          Posts

                                          esp8266
                                          6
                                          19
                                          2740
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo