Code und Node Red – Datum, Uhrzeit und Wochentag (RTC-Shield, OLED-Display)

Zunächst wurde sich mit den technischen Möglichkeiten des RTC-Shields mithilfe von den unten unter Ressourcen aufgeführten Links vertraut gemacht. Für die Ansteuerung des Shields braucht es die Bibliothek ‘RTClib’. Um die Internetverbindung herzustellen wurde die Bibliothek ‘ESP8266WiFi’ eingebunden. Die Verbindung über den MQTT Broker zu Node Red kann mithilfe der Bibliothek ‘PubSubClient’ hergestellt werden. Zur Ausgabe der Daten auf dem Display wurden die Bibliotheken ‘Adafruit_GFX.h’ und ‘Adafruit_SSD1306.h’ verwendet. Zur Schnittstellenkommunikation kamen zudem die Bibliotheken ‘Wire.h’ und ‘SPI.h’ zum Einsatz.

Beim Kompilieren werden die aktuelle Uhrzeit und das Datum, die vom Computer ampfangen werden, auf das RTC-Shield übertragen. Damit die Werte zum Beispiel nach einer Unterbrechung der Stromzufuhr weiterhin korrekt angezeigt werden, ist es notwendig das RTC-Shield mit einer Knopfzellenbatterie auszustatten. Dies ermöglicht es dem Shield die Werte auch ohne Stromzufuhr ‘weiterzurechen’. Ohne der Batterie würde das RTC-Shield die Werte vom Zeitpunkt des letzten Kompilierens übernehmen, was zu nicht aktuellen Angaben führen würde.

Damit das aktuelle Datum und die Uhrzeit auch im Node Red Dashboard eingesehen werden können, wurden zwei Topics angelegt, deren Werte an das Dashboard übermittelt werden. In Abbildung 1 ist das Flowchart in Node Red zu sehen.

Abb. 1: Flowchart für das RTC-Shield

In Abbildung 2 ist der Mikrocontroller mit dem RTC-Shield hinter dem OLED-Display zu sehen. Das OLED-Display zeigt, wie gewollt, das aktuelle Datum, die Uhrzeit, sowie den Wochentag an.

Abb. 2: Auf dem Display werden das Datum, die Uhrzeit und der Wochentag angezeigt

Die Werte werden auch in das Node Red Dashboard übertragen, wie in Abbildung 3 gezeigt ist. Das Dashboar lässt sich dank der verwendeten Node Red Instanz der Uni Oldenburg ganz flexibel sowohl auf dem Computer als auch auf einem mobilen Endgerät abrufen.

Abb. 3: Node Red Dashboard, Ansicht auf einem Smartphone
(die Werte stimmen nicht mit dem Werten in der Abbildung 2 überein, da das Foto in Abbildung 3 zu einem späteren Zeitpunkt aufgenommen wurde)

Der kommentierte Code ist hier zu finden: Zum Code.

Ressourcen

Die Beiträge unter den folgenden Links wurden als Inspirations- und Informationsquellen genutzt.

https://learn.adafruit.com/adafruit-data-logger-shield/using-the-real-time-clock

https://forum.arduino.cc/t/wemos-d1-mini-pro-mit-sd-shield-und-rtc/541071

Arduino real time clock with temperature monitor using DS3231 and SSD1306

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*