body, html {font-family: 'Open Sans', sans-serif;} #nav a, #nav span.in{font-family: 'Open Sans', sans-serif;} #title #tagline {font-family: 'Open Sans', sans-serif;} #main .gridItem h3 {font-family: 'Open Sans', sans-serif;}

meine Hobbies


Neben dem Geocachen und der Entwicklung von „smart Caches“ habe ich ja noch weitere Hobbies. Das 3D-Drucken gehört dazu, aber auch die Entwicklung von elektronischen Geräten auf der Basis des Arduinos (oder auch ESP8266). Darüber möchte ich an dieser Stelle berichten.


Wetterstation

Wetter interessiert mich. Das ist einfach so. Aber was bekommt man in den Medien zu sehen und hören? Das aktuelle Wetter und die Vorhersage für die (meist wenigen) nächsten Tage. Da gibt es nichts zu meckern, aber mich interessiert auch der Verlauf bis zum heutigen Tag. Dies wurde daher mein erstes Projekt, bei dem ich als „Sender“ keinen Arduino sondern eine nodeMCU ESP8266 einsetzte. 
Das Ganze besteht also aus zwei Teilen. 


Sender

Zunächst den Sender, der mit einem Sensor die Daten für Temperatur, Luftdruck und Luftfeuchtigkeit aufzeichnet und an einen Kanal bei Thingspeak.com sendet. Er ist im Außenbereich unserer Dachterrasse montiert.

IMG 7628


Die Stückliste dieses Sender besteht aus einem ESP8266, einer Real-Time-Clock (RTC), einem 4x20 LCD Display,  einer gelben LED und dem Sensor BME280. Dieser Sensor (auf dem Bild unten links) befindet sich in einem vom eigentlichen Gehäuse abgekapselten kleinen Gehäuse, das jedoch eine Verbindung zur Außenluft hat. Dies kann man gut auf dem Bild unten erkennen. Es ist das kleine grüne Gehäuse mit dem „Rohr“ nach außen.

IMG 4420


Wesentlichste Funktionsmerkmale:

  • Verbindung über WiFi mit dem Internet
  • eine RTC, die einmal in der Nacht durch Abgleich mit einem NTP-Server korrigiert wird
  • automatische Umschaltung zwischen Sommer- und Winterzeit
  • kontinuierliche Messung von Temperatur, Luftdruck und Feuchtigkeit ca. alle 3 Minuten und Anzeige auf dem Display
  • Übertragung der Daten auf einen Thingspeak-Kanal

Wie die aktuellen Grafiken aussehen, kann man auch auf meiner Startseite sehen. 


Empfänger

Der Empfänger befindet sich bei mir im Büro. Er basiert auf einem Raspberry Pi mit dem kostenfreien Programm „Screenly“ und einem TFT-Screen. Ein Drucktaster ermöglicht bei Bedarf einen Neustart des Raspberry. 

IMG 4624


Das Programm Screenly erlaubt auf einfache Weise, Internetseiten abzurufen. Zunächsteinmal zeige ich die grafisch aufgearbeiteten Wetterwerte, die ich zu Thingspeak gesendet habe, an. Dazu kommen dann noch ein Satellitenbild und zwei Bilder des Regenradars.

IMG 4622


Eine tiefergehende Erläuterung findet man auch hier.

Den Sketch für die Sendeeinheit gibt es hier.


Dämmerungsschalter mit Zeitabschaltung

Wir haben auf unserer Dachterrasse zwei Lichternetze, die wir bei Dunkelheit morgens und abends anschalten. Gehen wir ins Bett, schalten wir sie natürlich wieder aus. Irgendwann musste ich das einfach automatisieren und legte folgende Funktionen fest:

  • Licht nur, wenn es dunkel ist
  • am Morgen und Nachmittag jeweils eine früheste Anschaltzeit
  • am Vormittag und Abend jeweils eine späteste Abschaltzeit
  • zeitgesteuerte Schaltzeiten an Wochentagen und am Wochenende unterschiedlich
  • um ein Flackern zu verhindern, erfolgt nach einem Schaltvorgang für 15 Minuten kein erneuter.

Wesentliche Merkmale:

  • Verbindung über WiFi (WLAN) zum Internet
  • eine Real-Time-Clock (RTC) liefert die Uhrzeit
  • einmal pro Nacht wird ein NTP-Server im Internet nach der aktuellen Uhrzeit abgefragt
  • automatische Umstellung zwischen Sommer- und Winterzeit

Die Elektronik schaltet über ein Relais die 220V Stromversorgung der Lichternetze. Das Ganze wurde in ein Gehäuse gebaut und läuft nun bereits erfolgreich seit mehr als einem Jahr.

Eine detaillierte Beschreibung findet man auch hier.

Den Sketch (das Programm) findet man als „Twilight with Time“ hier.


Binäruhr

Um jedem unnötigen Kommentar vorzulegen: Es ist keine Binäruhr, sondern die Zeit wird im BCD-Kode (binary coded decimal) angezeigt. Ich hatte so eine Uhr im Internet gesehen und musste mir einfach auch so eine bauen. Hier ein Video von der Enstehung der Uhr. Zum Beginn wird auch das Prinzip der BCD-Kodierung erklärt:




Wesentlichste Funktionen:

  • Verbindung über WiFi mit dem Internet
  • verbaute RTC, die einmal in der Nacht über die Abfrage eines NTP-Servers gestellt wird
  • automatische Umstellung zwischen Sommer- und Winterzeit
  • zur vollen Minute wird das Datum angezeigt

Die Uhr gefiel meinem Sohn so gut, dass er sich von mir auch eine wünschte.

Den Sketch findert man hier.


Pegelmessung

Mein Kumpel Guido, auch ein Geocacher, lebt in der Rhön in Thüringen. Wir haben uns zwar noch nie getroffen, trotzdem telefonieren wir fast täglich. Begonnen hat alles mit dem Geocaching, zu dem ich ihn „verführt“ habe. Aber darum geht es hier nicht. 

526763d0-158e-419b-b1e4-513dbe5eb58a


An seinem Grundstück fliesst das Flüsschen Felda vorbei. Eigentlich ganz idyllisch, wenn sie nicht manchmal spontan ansteigt und alles - inklusive seinem Keller - unter Wasser setzt.

9b232449-29fb-4849-9e89-e68156a8d276


Daher musste nun eine Pegelmessung her. Ähnlich wie meine Wetterstation besteht sie aus 2 Teilen: Einem Sender mit dem Sensor und einem Empfänger mit einem LCD Display, Der Sender befindet sich direkt über der Felda, der Empfänger im Haus.

Der Sender

Mit ihm hatte ich einige Probleme. Zunächst bestand er aus einer nodeMCU ESP8266 und einem üblichen Entfernungssensor auf ToF-Basis. Das Ganze sollte auf ein Rohr montiert werden, in dem sich ein Schwimmer befinden sollte. Die letzte Überschwemmung hätte diese Konstruktion nicht überlebt und so haben wir Monate über eine Alternative nachgedacht. Würde so ein Sensor eine größere Reichweite als die üblichen maximal 2m haben, dann könnten wir ihn höher anbringen und ohne Rohr und Schwimmer direkt die Entfernung zur Wasseroberfläche messen. Schließlich fand ich einen solchen Sensor (TFmini Plus). Er kostet zwar knappe 50€, hat jedoch eine Reichweite bis über 12 Meter. Als ich ihn dann mit dem ESP8266 auslesen wollte, scheiterte das leider. Schließlich stieg ich als Grundhardware auf einen Arduino WiFi MKR 1010 um. Ich musste wieder einiges Neues lernen, aber schließlich funktionierte es. Heute wurde dann alles in ein Gehäuse gebaut, das ich selbst konstruiert und auf meinem 3D-Drucker gedruckt habe.

Bildschirmfoto 2020-12-16 um 16.30.14


Links sieht man eine Gehäuseseite mit 3 LEDs, rechts das Gehäuse von unten mit dem Sensor.

Wesentliche Funktionen:

  • Verbindung über WiFi mit dem Internet
  • Berechnung des Pegels aus mehreren Messwerten
  • Senden der Daten zur Empfangseinheit
  • Senden der Daten auf einen Kanal bei Thingspeak
  • Diverse Routinen zur Fehlererkennung und -behebung (inkl. Neustart des Systems)
  • 3 LEDs zeigen den Betrieb und Ereignisse wie das Messen des Pegels und Senden der Daten an.
  • Bei einem normalen Pegel erfolgen Messung und Übertragung alle 30 Minuten, im Warnbereich alle 10 Minuten und ab der Alarmschwelle minütlich.

Der Empfänger

Der Empfänger basiert auf einem ESP8266, einer Real-Time-Clock (RTC), einem 4x20 LCD-Display und 3 LEDs. 

Wesentliche Funktionen:

  • Verbindung über WiFi mit dem Internet
  • nachts erfolgt ein Abgleich der Zeit mit einem NTP-Server
  • automatische Umstellung zwischen Sommer- und Winterzeit
  • Anzeige des Pegels, dem Abstand bis zur Alarmschwelle, Datum und Uhrzeit der letzten Messung
  • Die 3 LEDs zeigen den Status (Normal, Warnung und Alarm) an.
  • Diverse Routinen zur Fehlererkennung und -behebung (inkl. Neustart des Systems)
IMG 8606



Für Sender und Empfänger gibt es die Sketche hier





©  Olaf Goette 2008 - 2022