Tag 23: MQTT Climate
Hinter dem heutigen Türchen befindet sich ein Batterie-Clip für einen 9-V-Block, mit dem Sie das gesamte System mobil machen können. Eine Alternative zu einer Batterie ist eine Power-Bank (ein Akku-Pack, normalerweise für Handys). Wie Sie eine 9-V-Batterie richtig anschließen, können Sie dem heutigen Aufbaubild entnehmen.
Heute sollen erneut Klimadaten erfasst werden. Diesmal werden sie aber über den MQTT-Broker veröffentlicht, und sind deshalb auch weltweit abrufbar. Über ein Plugin könnten so die Daten abgerufen und in einer Datenbank gespeichert werden.
Laden Sie das Programm des heutigen Tages herunter und programmieren Sie damit Ihren NanoESP. Nach kurzer Zeit ist das Board mit dem WLAN und dem Broker verbunden und beginnt, die Messdaten zu verschicken. Gehen Sie nun zu der http://www.hivemq.com/try-out/ Seite und verbinden Sich mit dem Broker. Subscriben Sie zu den Topics:
NanoESP/mqttId/climate/temp
NanoESP/mqttId/climate/light
NanoESP/mqttId/climate/hum
wobei Sie mqttId wie immer durch Ihre persönliche ID ersetzen. Sie sehen nun im Browser, wie die Daten in schneller Folge eintreffen. Als nächstes abonnieren Sie das Topic
NanoESP/mqttId/climate/status
Sie müssten die Nachricht “online” empfangen. Trennen Sie nun das Board vom Strom. Logischerweise empfangen Sie nun keine neuen Temperaturdaten mehr. Allerdings ändert sich der Status nach ca. 10 Sekunden von “online“ zu „offline“. Wie ist das möglich wenn das Board gar keine Nachrichten mehr senden kann?
Der Trick liegt in der Last Will-Message, die beim Verbinden mit dem Broker angegeben wurde. Diese Nachricht wird beim plötzlichen Trennen der Verbindung versendet. Es dauert allerdings eine Weile bis der Broker den Abbruch der Verbindung bemerkt. Wie lange, wird ebenfalls beim Verbindungsaufbau mit der Keep-Alive Zeit festgelegt. Wenn innerhalb in der dort angegeben Zeit keine Nachricht vom Board an den Broker gesendet wird, geht der Broker davon aus, dass die Verbindung getrennt wurde. Standardmäßig ist in der Library diese Zeit auf 120 Sekunden festgelegt. Für den heutigen Versuch liegt sie aber bei 10 Sekunden. Damit die Verbindung nicht gekappt wird, nur weil der NanoESP gerade nichts zu melden hat, gibt es den stayConnected-Befehl. Hier wird, wenn nicht anders angegeben, nach der Hälfte der Keep-Alive Zeit eine Ping an den Broker gesendet, als Lebenszeichen, dass die Verbindung noch aktiv ist.
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…
Mit welchem Broker soll ich mich Verbinden?
Wenn ich es mit dem standartmäßig eingetragenen probiere funktioniert nichts ?
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.
wie üblich: broker.fkainka.de. Hast wohl ein paar tage übersprungen, oder?
Nochmal ne Anmerkung, das Board funkt anscheinend ständig. Es blinkt jedenfalls die gelbe LED, aber wo gehen die Daten hin?
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.
Ah, ja okay, jetzt sehe ich die Daten im Broker, aber wo ist das erwähnte plugin zum Speichern der Daten?
bei mir tut sich auch nichts, wo soll denn was angezeigt werden?
… sehr schade, und das zwei Mal. Wo ist hier die Beschwerdestelle?
Der Fehler beim Kompilieren trat unter XP auf, jetzt unter Windows 10 funktioniert es.
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.
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
Der Fehler beim Kompilieren trat unter XP auf, jetzt unter Windows 10 funktioniert es.
zeigt bei mir nix an
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..
genau so bei mir, schade das der Autor hier anscheinend nicht mitliest und mal Hilfestellung geben kann.
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/+/#)
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.
Der Fehler beim Kompilieren trat unter XP auf, jetzt unter Windows 10 funktioniert es.
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!
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.
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.
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
habe das selbe problem
weis die lösung einer von euch
Ich denke mal wie im Heft ist es richtig…
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.
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?)