Day 23: MQTT Climate

Behind the door for today is a battery clip for a 9 V block, with which you can make the entire system moveable. An alternative to a battery is a power bank (a rechargeable battery pack, normally for mobile phones). You can see in today’s layout picture how to connect a 9 V battery correctly.

So können Sie eine 9V-Batterie am heutigen Aufbau anschließen

This is how you can connect a 9 V battery to today’s layout

Climate data should be captured again today. But this time they are published through the MQTT broker and are thus accessible worldwide. The data could thus be called up via a plug-in and stored in a database.

Download today’s programme and program your NanoESP with it. After a short time, the board is connected to the WLAN and the broker and begins to send the measurement data. Now go to the http://www.hivemq.com/try-out/ page and connect to the broker. Subscribe to these topics:

NanoESP/MyMQTTiD/climate/temp

NanoESP/MyMQTTiD/climate/light

NanoESP/MyMQTTiD/climate/hum

As always, replace MyMQTTiD with your personal ID. You now see in the browser how the data arrive in quick succession. Next subscribe to the following topic:

NanoESP/MyMQTTiD/climate/status

You ought to receive the message “online.” Now disconnect the board from the power. Logically, you should now no longer receive any new temperature data. However, after approx. 10 seconds, the status changes from “online” to “offline.” How is that possible if the board can’t send any messages at all anymore?

The trick lies in the last will message that was defined upon connection to the broker. This message is sent when the connection is suddenly broken. But it takes a while for the broker to notice the interruption of the connection. How long it takes is likewise defined when the connection is established, with the keep-alive time. If no message is sent from the board to the broker within the time given there, the broker assumes that the connection was broken. This time is defined in the library as standard at 120 seconds. For today’s test, however, it is 10 seconds. So that the connection is not cut off only because the NanoESP currently has nothing to report, there is the stayConnected command. Here, if not stated otherwise, a ping is sent to the broker after half of the keep-alive time as a sign that the connection is still active.

27 Comments

  1. Uli

    Hallo Leute,
    ich glaube, hier klinke auch ich mich jetzt aus. Das Experiment von morgen ist sicher sehr lieb gemeint, aber erzeugt bei mir nicht so den richtigen Thrill.
    Ich habe mir zwischenzeitlich ein GSM-Modem organisiert und versuche meinen alten Arduino-nano daran anzuschließen und Blynk sprechen zu lassen. Das ist spannender…

    Reply
  2. Philipp

    Mit welchem Broker soll ich mich Verbinden?
    Wenn ich es mit dem standartmäßig eingetragenen probiere funktioniert nichts ?

    Reply
    1. Philipp

      Leider funktioniert es auch nicht mit dem broker.hivemq.com so wie anscheinend bei mehreren das einfach garnichts angezeigt wird im Broker auch wenn die genannten Topics Subscribed wurden. Schade.

      Reply
    2. Bernd

      wie üblich: broker.fkainka.de. Hast wohl ein paar tage übersprungen, oder?

      Reply
  3. Michel2016

    Nochmal ne Anmerkung, das Board funkt anscheinend ständig. Es blinkt jedenfalls die gelbe LED, aber wo gehen die Daten hin?

    Reply
    1. Hinz & Kunz

      Der NanoESP schickt tatsächlich mehrmals pro Sekunde die Klimadaten an den Broker. Im seriellen Monitor sieht man nichts davon. Wenn man die Daten vom Broker abonniert, rauschen sie nur so durch. Wozu das gut sein soll?
      Der diesjährigen Kalender war in der Tat eine Enttäuschung :-(
      Der Autor kommuniziert in diesen Jahr wohl, wenn überhaupt, nur noch über soziale Medien und nicht mehr über seine eigene Webseite
      Trotzdem ein frohes Weihnachtsfest allerseits.

      Reply
      1. Michel2016

        Ah, ja okay, jetzt sehe ich die Daten im Broker, aber wo ist das erwähnte plugin zum Speichern der Daten?

        Reply
  4. Michel2016

    bei mir tut sich auch nichts, wo soll denn was angezeigt werden?

    Reply
  5. Burkhard

    … sehr schade, und das zwei Mal. Wo ist hier die Beschwerdestelle?

    Reply
    1. Burkhard

      Der Fehler beim Kompilieren trat unter XP auf, jetzt unter Windows 10 funktioniert es.

      Reply
  6. Burkhard

    HIch habe wie am 18. Tag Fehler beim Kompilieren. Gemeldet wird” … collect2.exe:error: Id returned 5 exit satus exit status 1 …?” So ein Fehler ist bei mir am 18. Tag schon gewesen bzw. das Problem ist noch ungelöst.

    Reply
    1. fk (Post author)

      Solche Fehler lassen sich nach wie vor besser im Forum diskutieren. Als Lösungsversuch würde mir spontan einfallen die Arduino Version 1.6.10 von der Seite https://www.arduino.cc/en/Main/OldSoftwareReleases#previous zu verwenden

      Reply
      1. Burkhard

        Der Fehler beim Kompilieren trat unter XP auf, jetzt unter Windows 10 funktioniert es.

        Reply
  7. Mormox82

    zeigt bei mir nix an

    Reply
    1. Tom Janssen

      bei mir auch nicht…
      Alles mehrfach gecheckt. Ser. Monitor zeigt WiFi an und quittiert die Verbindung zum Broker, aber unter den eingerichteten Topics bei HiveMQ erscheint nichts..

      Reply
      1. Michel2016

        genau so bei mir, schade das der Autor hier anscheinend nicht mitliest und mal Hilfestellung geben kann.

        Reply
      2. fk (Post author)

        Hast du dich auch mit dem Broker Broker.fkainka.de verbunden? Verwendest du diesen Broker auch im NanoESP Programm? Empfängst du die Nachrichten von anderen Teilnehmern indem du Wildcards verwendest? (Z.b. topic NanoESP/+/#)

        Reply
        1. Burkhard

          Das Problem ist die nicht funktionierende Kompilierung beim Klimaexperiment am 18. und am 23. Tag.
          Mein PC läuft mit XP. Die anderen Kompilierungen funktionierten.

          Reply
          1. Burkhard

            Der Fehler beim Kompilieren trat unter XP auf, jetzt unter Windows 10 funktioniert es.

  8. Enno Klatt

    Raspberry Pi Anwender
    Die aktuelle Arduino-IDE kommt mit der library nicht klar:
    Grund: Der Unterstrich ist als Ordner- bzw. Dateiname verboten.
    Abhilfe:
    library herunterladen und entpacken, anschließend Ordner und Dateien umbenennen!
    Schade, das der RPI-Anwender im Stich gelassen werden!

    Reply
    1. Burkhard

      Hallo Enno, ist das bei mir auch so, wenn als Fehler beim Kompilieren gemeldet wird” … collect2.exe:error: Id returned 5 exit satus exit status 1 …?” Welche libary muß ich wo her nehmen und wie umbenennen? Der Fehler ist bei mir am 18. Tag schon gewesen bzw. das Problem ist noch ungelöst.

      Reply
      1. burkhard

        Bisher hatte ich mit meinem liebgewonnenen Windows XP hantiert. Wenn ich jetzt unter Windows 10 kompilieren lasse, funktioniert das. Ich kann als die Klimatage auch probieren. o.k.

        Reply
  9. dein Vater

    kann mir jemand helfen
    habe folgenden Fehler:

    collect2.exe: error: ld returned 5 exit status

    exit status 1
    Fehler beim Kompilieren für das Board Arduino Nano.

    weis jemand was los ist?

    danke im voraus

    Reply
    1. hallo

      habe das selbe problem

      weis die lösung einer von euch

      Reply
  10. Leon

    Ich denke mal wie im Heft ist es richtig…

    Reply
  11. Bernd

    soll da in column 6 nun ein widerstand (im Heft) oder ein Kabel (Bild oben) den graben überbrücken?
    Auch der Helligkeitssensor ist im Bild oben überhaupt nicht angeschlossen. Ich glaub ich schalte das Heft.

    Reply
    1. Bernd

      sieht aus als obs klappt. Daten kommen und nach USB rausziehen kommt tatsächlich die Nachricht “offline” nach einiger Zeit. Man bleibt connected (grün).
      Batterie anschliessen und Werte kommen wieder.

      Aber welchen Plugg-in braucht man um die Daten zu “call up” und zu sparen? (das kriegen wir später?)

      Reply

Leave a Comment

Your email address will not be published. Required fields are marked *