Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. MQTT mit Arduino Mega

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    827

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    680

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

MQTT mit Arduino Mega

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
17 Beiträge 7 Kommentatoren 6.7k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #2

    @akamia:

    Hallo,

    setze gerne die Arduinos ein und betreibe sie zur Zeit über Cux-D. Da ich auf Homegear umstellen möchte, würde ich diese gerne entkoppeln und MQTT einsetzen.

    Habe den Sketch von folgender Seite angepasst:

    http://blue-pc.net/2014/10/15/mqtt-nach … en-senden/

    Habe unter Instanzen folgende Einstellung gewählt:

    filename="MQTT-Einstellung.PNG" index="0">~~

    Und erhalte folgende Fehlermeldung:

    filename="MQTT.PNG" index="1">~~

    Der Monitor der Ardunio-Entwicklungsumgebung meldet den gesamten Verkehr - auch von den Homematic Geräten - also schein die Kommunikation schon halbwegs zu funktionieren!?

    Hier ergeben sich einige Fragen:

    1. Ist MQTT mit ccu.io und iobroker schon einsatzfähig?

    2. Wie werden Variablen angelegt?

    3. Kann ich das Schlüsselwort beliebig wählen? Hier z.B. iobroker

    Gruß akamia

    ! ```
    `#include <spi.h>
    #include <ethernet.h>
    #include <pubsubclient.h> // http://knolleary.net/arduino-client-for-mqtt/

    #include <onewire.h> // http://www.arduino.cc/playground/Learning/OneWire
    #include <dallastemperature.h> // http://milesburton.com/index.php?title=Dallas_Temperature_Control_Library
    #define ONE_WIRE_BUS 7

    // MAC Adresse des Ethernet Shields
    byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };

    ! // IP des MQTT Servers
    byte server[] = { 192, 168, 1, 210 };
    ! // Ethernet Client zur Kommunikation des MQTT Clients
    EthernetClient ethClient;
    ! // MQTT Client zur Kommunikation mit dem Server
    // Server - Variable des Types byte mit Serveradresse
    // 1883 - Ist der Standard TCP Port
    // callback - Function wird aufgerufen wen MQTT Nachrichten eintreffen. Am ende des Sketches
    // ethClient - Angabe des Ethernet Clients
    PubSubClient mqttClient(server, 1883, callback, ethClient);

    // Einrichten des OneWire Bus um die Daten der Temperaturfühler abzurufen
    OneWire oneWire(ONE_WIRE_BUS);
    // Bindung der Sensoren an den OneWire Bus
    DallasTemperature TempSensors(&oneWire);
    // Variablen für die Temperatur
    float tempC;
    // Hilfsvariablen für die Convertierung der Temperatur in ein String
    char tempBuffer[100];

    void setup()
    {
    // Initialisierung der Seriellen Schnittstelle
    // zur Ausgabe der empfangenen Nachrichten
    Serial.begin(9600);
    // Initialisierung des Ethernets
    Ethernet.begin(mac);
    // Initialisierung der Temperaur Sensoren
    TempSensors.begin();
    }

    void loop()
    {
    // Aufbau der Verbindung mit MQTT falls diese nicht offen ist.
    if (!mqttClient.connected()) {
    mqttClient.connect("arduinoClient");
    // Abonieren von Nachrichten mit dem angegebenen Topic
    mqttClient.subscribe("/iobroker/Test_Switch1/#");
    }

    // Auslesen der Temperatur
    TempSensors.requestTemperatures();
    // Bei Änderungen zum vorherigen Wert Publizieren
    if (tempC != TempSensors.getTempCByIndex(0) ) {
    tempC = TempSensors.getTempCByIndex(0);
    // Publizierung des Wertes. Vorher Converierung vn float zu String.
    mqttClient.publish("/iobroker/Test_Temp1",dtostrf(tempC, 1, 2, tempBuffer));
    }
    mqttClient.loop(); // Schleife für MQTT
    }

    // ===========================================================
    // Callback Funktion von MQTT. Die Funktion wird aufgerufen
    // wenn ein Wert empfangen wurde.
    // ===========================================================
    void callback(char* topic, byte* payload, unsigned int length) {
    // Zähler
    int i = 0;
    // Hilfsvariablen für die Convertierung der Nachricht in ein String
    char message_buff[100];

    Serial.println("Message arrived: topic: " + String(topic));
    Serial.println("Length: " + String(length,DEC));

    // Kopieren der Nachricht und erstellen eines Bytes mit abschließender \0
    for(i=0; i<length; i++)/{/message_buff[i]="payload[i];" }/;/konvertierung/der/nachricht/in/ein/string/msgstring="String(message_buff);" serial.println("payload:/"/+/msgstring);/<e=""></length;></dallastemperature.h></onewire.h></pubsubclient.h></ethernet.h></spi.h>`
    Hm.. Schwer zu sagen. Gibt es die Möglichkeit eine Wireshark Aufzeichnung zu machen. Dann wird es einiges klar.

    ! Bin momentan ziemlich krank und kann nur partiell antworten.[/i][/i][/i]
    ``` `

    1 Antwort Letzte Antwort
    0
    • HomoranH Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #3

      Jetzt eine gute Besserung von mir[emoji40]

      Gesendet von meinem Cynus T7 mit Tapatalk

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        akamia
        schrieb am zuletzt editiert von
        #4

        Hi BlueFox,

        Gesundheit geht vor. Ich wünsche Dir schnelle Genesung.

        Werde mal WireShark starten und hoffen, dass ich die richtigen Filtereinstellungen finde.

        Gruß

        akamia

        NUC6i3 / ProxMox / HM/FHEM/WifiLight/HUE/Tradfri/KM200/InfluxDB/RFlink/Plex/Smartmeter
        piVCCU, Arduinos, X4000, Z2000, Solo4K, SAMSUNG C & H, NAS OMV4/Win10Pro (JRMC/JRemote), 4x4 HDMImatrix, ...

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          akamia
          schrieb am zuletzt editiert von
          #5

          Hallo BlueFox,

          Entwarnung! Die erste Temperatur vom Ardunio 1-wire kann ich jetzt sehen. Allerdings noch nicht unter den Objekten.

          154_mqtt-egtemp1.png

          Habe den MQTT-Broker "mosquitto" auf dem Cubie installiert und mit der Java-App "mqtt-spy" die Verbindungen angeschaut. Hier wird Einiges klar. Nach dem die grundsätzliche Kommunikation steht, kann ich im nächsten Schritt die Inputs und Outputs in den Sketch einbauen. Bei mir kommen 10 Kabel mit jeweils 16 Adern aus der Wand. Diese Leitungen bildeten bisher eine Grundlage für die alte Alarmanlage. Neben den Reed-Kontakten für die Fenster- und Türsicherung sind dann noch viele Leitungen für Sensor- und Steuerungsaufgaben frei.

          Die Server-Option im MQTT-Adapter habe ich noch nicht ausprobiert. Ggf. kann ich dann auf den "Mosquitto" verzichten?

          Jetzt würde ich gerne VIS starten und mir das Ergebnis nicht nur in der Konsole anschauen. Leider ist das Update auf 0.2.2 schiefgegangen.

          Gruß akamia

          NUC6i3 / ProxMox / HM/FHEM/WifiLight/HUE/Tradfri/KM200/InfluxDB/RFlink/Plex/Smartmeter
          piVCCU, Arduinos, X4000, Z2000, Solo4K, SAMSUNG C & H, NAS OMV4/Win10Pro (JRMC/JRemote), 4x4 HDMImatrix, ...

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #6

            @akamia:

            Entwarnung! Die erste Temperatur vom Ardunio 1-wire kann ich jetzt sehen. `
            Hurra :)

            @akamia:

            Allerdings noch nicht unter den Objekten. `
            Heißt es, du sieht es unter Zustände, aber nicht unter Objekten? Auch nach dem Browser-Refresh?

            @akamia:

            Die Server-Option im MQTT-Adapter habe ich noch nicht ausprobiert. Ggf. kann ich dann auf den "Mosquitto" verzichten? `
            So ist der Plan. MQTT- Adapter ist auf MOSCA https://github.com/mcollina/mosca basiert.

            @akamia:

            Jetzt würde ich gerne VIS starten und mir das Ergebnis nicht nur in der Konsole anschauen. Leider ist das Update auf 0.2.2 schiefgegangen.

            Gruß akamia `
            Was genau hat nicht geklappt? Man kann immer noch manuell machen. Im ioBroker Verzeichnis:

            npm install iobroker.vis
            
            
            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              akamia
              schrieb am zuletzt editiert von
              #7

              Hi Bluefox,

              habe noch etwas weiter experimentiert:

              • Der eingebaute mosca Mqtt-Server arbeitet gegenüber dem Mosquitto ebenfalls gut. Beim Starten gibt es noch Fehlermeldungen vom mosca (Error: write EPIPE), die aber mit der Zeit verschwinden. Diese deuten nach Durchsicht des mosca-Forums auf eine ältere Version hin ??? Egal es läuft erst einmal.

              • Unter "Zustände" werden die fünf Temperaturen (von 1-Wire) sauber angezeigt - unter "Ereignisse" sind die Temperaturen in Anführungsstriche gesetzt, alle anderen Werte von anderen Sensoren nicht. Woher kommen die? Unter Objekten würde ich einen Ordner "mqtt.0" erwarten. Dieser wird nicht automatisch angelegt. Somit sehe ich die Werte in VIS auch nicht. Hier drei Screenshots:

              154_mqtt-states.jpg

              154_mqtt-ereignisse.jpg

              154_mqtt-objekte.jpg

              Hast Du noch eine Idee?

              akamia

              NUC6i3 / ProxMox / HM/FHEM/WifiLight/HUE/Tradfri/KM200/InfluxDB/RFlink/Plex/Smartmeter
              piVCCU, Arduinos, X4000, Z2000, Solo4K, SAMSUNG C & H, NAS OMV4/Win10Pro (JRMC/JRemote), 4x4 HDMImatrix, ...

              1 Antwort Letzte Antwort
              0
              • X Offline
                X Offline
                xBit53
                schrieb am zuletzt editiert von
                #8

                Hi akamia,

                bist du mit Arduino und MQTT weitergekommen?

                Ich bin in der Konzeptphase für eine Ladepumpensteuerung des Warmwasserboilers und plane diese mit einem Arduino zu realisieren. Diesen möchte ich über MQTT mit Vis und IOBroker.JS konfigurieren und visualisieren. Details über Deine bisherigen Erfahrungen würden mir sehr weiterhelfen.

                Gruß xBit53

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  akamia
                  schrieb am zuletzt editiert von
                  #9

                  Hi xBit53,

                  hatte auch im russischen Forum gestöbert und die Temperaturen der 1-Wire Sensoren angezeigt bekommen. Dann bin ich auf die Idee gekommen, mir die zwei Erweiterungsplatinen von "funkleuchtturm" zu beschaffen. Super Sache. Endlich mal wieder etwas zu löten. Funktioniert ohne MQTT auch gut. Ich verstehe mittlerweile auch seinen Sketch, scheitere aber dran, diesem MQTT beizubringen.

                  Seit zwei Monaten sind wir in der Planungs- und Angebotsphase für unseren Hausumbau. Ab Montag haben wir die Handwerker im Hause, so dass ich erst wieder ab Oktober mich um dieses Thema kümmern kann.

                  akamia

                  PS: Wir wollten nur eine Wand versetzen - nun kommt eine neue Heizung, Umstellung auf Fußbodenheizung mit Fliesen in Holzoptik, Treppe wird neu geschnitten, Treppe aus Wohnzimmer, teils neue Elektrik und endlich die Rauhfaser raus. Ein integriertes Wandtablett ist jetzt auch mit eingeplant, wie auch elektrische Rollläden.

                  NUC6i3 / ProxMox / HM/FHEM/WifiLight/HUE/Tradfri/KM200/InfluxDB/RFlink/Plex/Smartmeter
                  piVCCU, Arduinos, X4000, Z2000, Solo4K, SAMSUNG C & H, NAS OMV4/Win10Pro (JRMC/JRemote), 4x4 HDMImatrix, ...

                  1 Antwort Letzte Antwort
                  0
                  • X Offline
                    X Offline
                    xBit53
                    schrieb am zuletzt editiert von
                    #10

                    Hi akamia

                    die Kommunikation via MQTT zwischen iobroker und einem test Arduino UNO läuft inzwischen in beiden Richtungen.

                    Auch ich habe 2 IO-Shields von Eugen (Funkleuchturm) im Einsatz. Die Idee Eugens Sketches MQTT beizubringen hatte ich auch schon da ich mich mittelfristig von der CCU2 trennen möchte ( läuft nicht so stabil wie ich es von einer Haussteuerung erwarte ).

                    Da die Kommunikation zwischen iobroker und arduino reibungslos und schnell funktioniert hat sich das Pflichtenheft für die Ladepumpensteuerung gewaltig erweitert. Neuer Plan ist die gesamte Steuerung der Solarthermie inklusive Zuschaltung des Heizkessels wenn die Sonne nicht scheint und er Speicher leer ist durch einen Arduino, Parametrierung desselben und Visualisierung der Zustände mit vis. Wenn ich damit fertig bin werde ich versuchen Eugens Sketches so abzuändern dass sie über MQTT kommunizieren und somit ohne CCU auskommen. Das wird aber etwas dauern da ich die zur Verfügung stehende Zeit auf Arbeit, die beste aller Ehefrauen, 2 Enkel und das Hobby aufteilen muss.

                    mfg,

                    xBit53

                    1 Antwort Letzte Antwort
                    0
                    • E Offline
                      E Offline
                      enricoh831
                      schrieb am zuletzt editiert von
                      #11

                      Würde in unserem neuen Haus auch gerne auf ccu und HM wired verzichten und alle io über den arduino und Koppel Relais machen. Die wichtigsten direktveknüpfungen könnte man im sketch verankern, wenn der sauber geschrieben ist kann man da auch schnell mal was ändern.

                      Io broker muss dann halt nur wissen welcher Ausgang wie geschaltet ist und halt mit kriegen wenn ein Taster gedrückt wurde bzw. Selber Kommandos an den arduino senden

                      1 Antwort Letzte Antwort
                      0
                      • E Offline
                        E Offline
                        enricoh831
                        schrieb am zuletzt editiert von
                        #12

                        Hallo akamia,

                        Könntest du mal bitte deinen Sketch Posten.

                        Ich habe gestern mal mit mqtt rumgespielt und immer den Adapter zum Absturz gebracht weil der arduino permanent den Wert geschickt hat.

                        Vielleicht habe ich ja auch nur nen kleinen Fehler drin war schon sehr müde.

                        Habe den Adapter als Server laufen.

                        Wo kann man eigentlich seine topics bestimmen

                        1 Antwort Letzte Antwort
                        0
                        • E Offline
                          E Offline
                          enricoh831
                          schrieb am zuletzt editiert von
                          #13

                          @enricoh831:

                          Hallo akamia,

                          Könntest du mal bitte deinen Sketch Posten.

                          Ich habe gestern mal mit mqtt rumgespielt und immer den Adapter zum Absturz gebracht weil der arduino permanent den Wert geschickt hat.

                          Vielleicht habe ich ja auch nur nen kleinen Fehler drin war schon sehr müde.

                          Habe den Adapter als Server laufen.

                          Wo kann man eigentlich seine topics bestimmen `
                          Sehe gerade das du ihn Damals schon gepostet hast. Sorry

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            MaikB85
                            schrieb am zuletzt editiert von
                            #14

                            Habe das auch mal alles soweit ausprobiert weil es für mich auch sehr interessant ist. Daten vom Arduino empfangen klappt auch wunderbar! Nur wie funktioniert es jetzt werte an den Arduino zu schicken? Ich möchte gerne mit der iobroker Visualisation arbeiten. Wie stelle ich jetzt z.B. bei einem Input Feld ein, dass der eingegebene Wert über MQTT publiziert wird?

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              mc-hollin
                              schrieb am zuletzt editiert von
                              #15

                              Hallo,

                              vielleicht hilft ja folgender Link http://blue-pc.net/2014/10/15/mqtt-nach … en-senden/.

                              Überlege auch alle Tür und Fensterkontakte mit einem Arduino direkt zum MQTT-Server senden zu lassen und bin bei Google darauf gestossen.

                              Gruß

                              Holger

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                MaikB85
                                schrieb am zuletzt editiert von
                                #16

                                Leider bringt mich das nicht wirklich weiter, weil das Beispiel da mit OpenHab gezeigt wird. Arduinoseitig müsste bei mir alles funktionieren. Im Objektbaum von IOBroker werden mir ja die empfangenen Variablen der entsprechenden Topics angezeigt. Dort stehen aber nicht die Topics die der Arduino abonniert hat. Ich müsste die also erstmal im Objektbaum anlegen damit ich die einem Steuerelement der Visualisierung zuweisen kann. Nur wie?

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  MaikB85
                                  schrieb am zuletzt editiert von
                                  #17

                                  Habs jetzt hinbekommen :D

                                  Eigentlich total simpel man muss nur erstmal wissen wie das alles funktioniert mit iobroker.

                                  Habe einfach in der Objektbaumansicht ein neues Objekt hinzugefügt mit den entsprechenden Einstellungen und dieses Objekt dann dem Eingabefeld der Visualisierung zugewiesen.

                                  Gruß Maik

                                  1 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

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

                                  444

                                  Online

                                  32.6k

                                  Benutzer

                                  81.9k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe