Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. NODEmcu K-Type Temp-Fühler in IObroker !? [gelöst]

    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

    NODEmcu K-Type Temp-Fühler in IObroker !? [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • Q
      Qax1 last edited by Qax1

      Hallo zusammen,
      ich suche schon länger einen Temperatursensor zur Erfassung der Abgastemperatur meines Holzofens.
      Durch einen Forenbeitrag wurde ich auf den NODEmcu mit einem MAX38155 und einem K-Type Fühler aufmerksam.

      Ich bekomme es inzwischen mit ARDUINO hin die Temperatur zu messen.
      Auch ins WLAN einwählen klappt.
      Allerdings beides zusammen bekomme ich nicht gebacken.

      Kennt sich hier jemand mit ARDUINO aus und kann mir helfen bzw. Tipps geben wie ich die gemessene Temperatur in IObroker bekomme ?
      Oder kennt jemand ein gutes verständliches ARDUINO Tut ?

      Ich müsste ja "nur" noch die 2 Codes zusammen bringen,
      und ich denke MQTT implementieren !?

      Im vorraus schon mal besten Dank
      Stefan

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @Qax1 last edited by MCU

        @qax1 Zeig mal den Code in codetags (</>). Falls der länger ist erst Spoiler (auge) klicken und dann direkt codetags.

        Q 1 Reply Last reply Reply Quote 1
        • Q
          Qax1 @MCU last edited by

          @mcu

          #include <Wire.h>
          #include <SPI.h>
          #include "Adafruit_MAX31855.h"
          
          #define CLK 14          //connect CLK to GPIO14
          #define CS 5             //connect CS to GPIO5
          #define DO 12           //connect DO to GPIO12
          
          Adafruit_MAX31855 thermocouple(CLK,CS,DO);
          
          void setup() {
            Serial.begin(9600); 
            Serial.println("MAX31855 testing");
            delay(500);
          }
          
          void loop() {
             Serial.print("Internal Temp = ");
             Serial.println(thermocouple.readInternal());
          
             double c = thermocouple.readCelsius();
             if (isnan(c)) {
               Serial.println("Something wrong with thermocouple!");
             } else {
               Serial.print("C = ");
               Serial.println(c);
             }
          
             delay(1000);
          }
          

          Mit diesem Code funktioniert die Temp. Messung mittels MAX31855 und
          K-Type fühler.
          Ich weiß aber eben nicht, wie ich jetzt den WiFi Code einbaue.
          Alle Versuche endeten in zahllosen Fehlermeldungen.
          Eine Erklärung oder ein Tutorial, das den Aufbau eines Code´s erklärt habe ich auch nicht gefunden, deswegen die Frage hier....

          Haben doch bestimmt schon andere umgesetzt sowas.

          Gruß Stefan

          M 1 Reply Last reply Reply Quote 0
          • M
            MCU @Qax1 last edited by MCU

            @qax1

            1. Versuch:

            #include <Wire.h>
            #include <SPI.h>
            #include "Adafruit_MAX31855.h"
            #include <ESP8266WiFi.h>
            
            #include <MQTT.h>
            
            #define CLK 14          //connect CLK to GPIO14
            #define CS 5             //connect CS to GPIO5
            #define DO 12           //connect DO to GPIO12
            
            #define client_name "SensorMAX";
            
            const char ssid[] = "";
            const char pass[] = "";
            String Nachricht_MQTT = "";
            String Topic_MQTT = "";
            
            
            
            Adafruit_MAX31855 thermocouple(CLK,CS,DO);
            
            WiFiClient net;
            MQTTClient client;
            
            void connect() {
               Serial.print("\nchecking wifi...");
               while (WiFi.status() != WL_CONNECTED) {
                 Serial.print(".");
                 delay(1000);
               }
               Serial.print("\nconnecting...");
               while (!client.connect(client_name,"MQTTUser","MQTTPassword")) {
                 Serial.print(".");
                 delay(1000);
               }
               Serial.print("\nconnected!");
                
               client.subscribe(client_name + "/+");
               client.publish(client_name + "/alive","true");
               
            }
            
            void messageReceived(String &topic, String &payload) {
             Serial.println("MQTT incoming: " + topic + " - " + payload);
             Topic_MQTT = topic;
             Nachricht_MQTT = payload;
             
             topic = "";
             payload = "";
            }
            
            void setup() {
             Serial.begin(9600); 
             Serial.println("MAX31855 testing");
             delay(500);
             WiFi.begin(ssid, pass);
             client.begin("IP-Adresse vom MQTT-Server",1885,net); //192.168.178.45
             connect(); //alive wird gesendet
             client.onMessage(messageReceived);
            
            }
            
            void loop() {
              Serial.print("Internal Temp = ");
              Serial.println(thermocouple.readInternal());
              delay(100);
              double c = thermocouple.readCelsius();
              if (isnan(c)) {
                Serial.println("Something wrong with thermocouple!");
              } else {
                Serial.print("C = ");
                Serial.println(c);
                client.publish(client_name + "/InternalTemp",String(c));
              }
              client.loop();
              if (!client.connected()) {
                 Serial.println("Neustart!");
                 delay(200);
                 werteCount = 0;
                 WiFi.begin(ssid, pass);
                 client.begin("IP-Adresse vom MQTT-Server",1885,net);
                 connect(); //alive wird gesendet
                 client.onMessage(messageReceived);
                 client.publish(client_name + "/connectProblem","Verbindungsproblem gehabt");
              }
              delay(1000);
            }
            

            Die Werte ausfüllen:

            const char ssid[] = "";
            const char pass[] = "";
            
            Im Connect()
            while (!client.connect(client_name,"MQTTUser","MQTTPassword"))  // User und Password(MQTT-Adapter ioBroker)
            
            Im Setuo()
            client.begin("IP-Adresse vom MQTT-Server",1885,net); // IP und Port (MQTT ioBroker)
            
            Im loop()
            client.begin("IP-Adresse vom MQTT-Server",1885,net); // IP und Port (MQTTT ioBroker)
            
            

            Ich hoffe ich habe alles bedacht? Versuch mal.

            Q 1 Reply Last reply Reply Quote 1
            • Q
              Qax1 @MCU last edited by Qax1

              @mcu
              Bekomme ich n Fehler :

              MQTT.h: No such file or directory...

              Arduino: 1.8.13 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, WIFI, Only Sketch, 115200"

              MQTT-TEST-1:6:18: fatal error: MQTT.h: No such file or directory

              #include <MQTT.h>
              ^

              compilation terminated.

              exit status 1

              MQTT.h: No such file or directory

              Dieser Bericht wäre detaillierter, wenn die Option
              "Ausführliche Ausgabe während der Kompilierung"
              in Datei -> Voreinstellungen aktiviert wäre.

              M 1 Reply Last reply Reply Quote 0
              • M
                MCU @Qax1 last edited by MCU

                @qax1 Schau mal unter Dokumente/ardunino dort sind alle Dateien. Musst dann die mqtt.h suchen und in dein Projekt kopieren.

                Oder unter Sketch/Bibliothek einbinden/ Bibliotheken verwalten:

                4649517b-d0cf-475b-8a99-101bf8a51613-image.png
                Auf Adafruit MQTT Library klicken und Installieren klicken.

                Q 1 Reply Last reply Reply Quote 1
                • Q
                  Qax1 @MCU last edited by

                  @mcu

                  hab ich, kommt aber immernoch die gleiche Fehlermeldung :

                  22-03-_2021_19-38-01.jpg

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MCU @Qax1 last edited by

                    @qax1 Hast du mal Arduino neu gestartet nach der Installation?

                    Q 1 Reply Last reply Reply Quote 1
                    • Q
                      Qax1 @MCU last edited by

                      @mcu

                      Japp hab ich auch versucht,
                      hab auch die Neueste Version probiert,
                      aber auch ohne Erfolg.

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MCU @Qax1 last edited by MCU

                        @qax1 Dann muss jetzt die mqtt.h Datei im Dokumente Ordner sein. Kopiere die mal in Dein Projekt.

                        1452166e-a047-4ae8-8a70-6b8efd65fe2c-image.png

                        Boardverwalter:

                        https://dl.espressif.com/dl/package_esp32_index.json
                        https://arduino.esp8266.com/stable/package_esp8266com_index.json
                        
                        Q 1 Reply Last reply Reply Quote 1
                        • Q
                          Qax1 @MCU last edited by

                          @mcu

                          Du meinst nicht im ADRUINO Oder sondern wirklich im Dokumente Orden von Windows ?
                          Dors sind nur Ordner mit Versuchen von mir die ich gespeichert hatte.

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MCU @Qax1 last edited by

                            @qax1 Im Dokumente/arduino werden alle Dateien zum Arduino gespeichert:
                            a71f2af1-e460-4fc5-8611-8ecf8747d972-image.png

                            Q 1 Reply Last reply Reply Quote 1
                            • Q
                              Qax1 @MCU last edited by

                              @mcu

                              Ah... Ok... gefunden...

                              22-03-_2021_19-56-38.jpg

                              Was davon jetzt wohin kopieren ?
                              Was meinst du mit "Mein Projekt" ?

                              Sorry bin halt absoluter Anfänger...

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MCU @Qax1 last edited by MCU

                                @qax1 Versuch erstmal MQTT.h zu ersetzen durch Adafruit_MQTT.h.

                                f9e831b3-10ed-4d94-abfc-fd5c31b4076e-image.png

                                a8e21030-0c72-4105-a74c-fa1ba3125265-image.png

                                Hier die Datei als 7z:
                                MQTT.7z

                                Q 1 Reply Last reply Reply Quote 1
                                • Q
                                  Qax1 @MCU last edited by

                                  @mcu

                                  22-03-_2021_20-02-41.jpg

                                  Ich hab das MQTT ersetzten jetzt so verstanden......

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MCU @Qax1 last edited by MCU

                                    @qax1 40cbfa67-2e7c-4973-af2f-898878a3c695-image.png
                                    Punkt hinter dem "h" ist falsch.
                                    Ansonsten nimm meine MQTT.h

                                    1 Reply Last reply Reply Quote 1
                                    • M
                                      MCU last edited by

                                      Du musst das Semikolon hier entfernen nach dem define:
                                      34f2f570-dc92-40ec-ac5e-b79c792dc32a-image.png

                                      Q 1 Reply Last reply Reply Quote 1
                                      • Q
                                        Qax1 @MCU last edited by

                                        @mcu

                                        Jetzt kommt der Fehler :

                                        Arduino: 1.8.13 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, WIFI, Only Sketch, 115200"

                                        MQTT-TEST-1:25:1: error: 'MQTTClient' does not name a type

                                        MQTTClient client;

                                        ^

                                        C:\Users\Stefan\Documents\Arduino\MQTT-TEST-1\MQTT-TEST-1.ino: In function 'void connect()':

                                        MQTT-TEST-1:34:12: error: 'client' was not declared in this scope

                                        while (!client.connect(client_name,"MQTTUser","MQTTPassword")) {
                                        
                                                ^
                                        

                                        MQTT-TEST-1:40:4: error: 'client' was not declared in this scope

                                        client.subscribe(client_name + "/+");
                                        
                                        ^
                                        

                                        MQTT-TEST-1:40:35: error: invalid operands of types 'const char [10]' and 'const char [3]' to binary 'operator+'

                                        client.subscribe(client_name + "/+");
                                        
                                                                       ^
                                        

                                        MQTT-TEST-1:41:33: error: invalid operands of types 'const char [10]' and 'const char [7]' to binary 'operator+'

                                        client.publish(client_name + "/alive","true");
                                        
                                                                     ^
                                        

                                        C:\Users\Stefan\Documents\Arduino\MQTT-TEST-1\MQTT-TEST-1.ino: In function 'void setup()':

                                        MQTT-TEST-1:59:2: error: 'client' was not declared in this scope

                                        client.begin("http://192.168.178.30",1883,net); //192.168.178.45

                                        ^

                                        C:\Users\Stefan\Documents\Arduino\MQTT-TEST-1\MQTT-TEST-1.ino: In function 'void loop()':

                                        MQTT-TEST-1:75:5: error: 'client' was not declared in this scope

                                         client.publish(client_name + "/InternalTemp",String(c));
                                        
                                         ^
                                        

                                        MQTT-TEST-1:75:34: error: invalid operands of types 'const char [10]' and 'const char [14]' to binary 'operator+'

                                         client.publish(client_name + "/InternalTemp",String(c));
                                        
                                                                      ^
                                        

                                        MQTT-TEST-1:77:3: error: 'client' was not declared in this scope

                                        client.loop();

                                        ^

                                        MQTT-TEST-1:81:6: error: 'werteCount' was not declared in this scope

                                          werteCount = 0;
                                        
                                          ^
                                        

                                        MQTT-TEST-1:86:35: error: invalid operands of types 'const char [10]' and 'const char [16]' to binary 'operator+'

                                          client.publish(client_name + "/connectProblem","Verbindungsproblem gehabt");
                                        
                                                                       ^
                                        

                                        exit status 1

                                        'MQTTClient' does not name a type

                                        Dieser Bericht wäre detaillierter, wenn die Option
                                        "Ausführliche Ausgabe während der Kompilierung"
                                        in Datei -> Voreinstellungen aktiviert wäre.

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

                                          @qax1 Hast du jetzt meine MQTT genutzt? Und hast du das Semikolon entfernt?

                                          Hier darf nur die IP stehen:
                                          8171fb93-3b68-4946-b69f-6baa8c4201f3-image.png
                                          Also http:// weg

                                          Q 1 Reply Last reply Reply Quote 1
                                          • Q
                                            Qax1 @MCU last edited by

                                            @mcu

                                            Ich habe den PUNKT hinter dem h
                                            und den Semikolon weg gemacht.

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

                                            Support us

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

                                            876
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            nodemcu max38155 mqtt
                                            2
                                            39
                                            1640
                                            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