Motivation

Es gibt eine Vielzahl von Seiten, die eine mit einem ESP8266 realisierten Wetterstation aufwarten. Nachbauen ist gut, Selbermachen ist besser! Da gibt es immer viel Neues zu entdecken und man lernt eine Menge dazu. Außerdem kann man so einfacher Erweiterungen einbauen. Mich interessiert z.B. ganz besonders, was mein Rasenmäher-Roboter so treibt...

Da ich mich bereits ein wenig umgeschaut habe, ist vorauszusehen, dass die ganze Sache nicht unaufwändig wird. Die Nachdokumentation eines größeren Vorhabens ist immer sehr mühsam und lästig. Deshalb werde ich damit beginnen, die einzelnen Komponenten zu dokumentieren, sobald einigermaßen klar ist, wie es funktionieren soll und kann. Ist dann halt ein Baukasten.

In­halts­ver­zeich­nis

Features

1. Web-Site

2. MeasurementServer-Klasse

3. Zeitquelle

4. Konfiguration

Kodierung

Features

... oder was soll es können:

1. Web-Site

Eine Web-Site bereit stellen, die über einen Web-Browser angezeigt werden kann. Diese Seite soll enthalten:

Es soll eine Seite mit grafischer Ausgabe und eine mit einer tabellarischen Ausgabe der Daten vorhanden sein.

Randbedingung: Der ESP8266 soll sowohl im Modus STA (Station) als auch AP (Access Point) betrieben werden. Letzteres impliziert, dass keine Verbindung zum Internet besteht. Sämtliche Inhalte zum Aufbau der Seiten müssen also auf dem ESP8266 lokal zur Verfügung stehen.

Zur Dokumentation der Web-Site.

2. MeasurementServer-Klasse

Die Messdaten werden von Instanzen der Klasse MeasurementServer bereit gestellt. Sie sammeln die Messwerte und stellen aktuelle und historische Wetter-Daten zur Verfügung.

Zur Dokumentation der MeasurementServer-Klasse.

3. Zeitquelle

Berücksichtigung der Zeitzone, Sommer- und Winterzeit.

Zur Dokumentation der Zeitquelle.

4. Konfiguration

Ab- und Wideraufbau um die Firmware oder Konfigurationsparameter anzupassen ist natürlich keine Option. Zum Update der Firmware wird OTA (s. UrsOTA) genutzt. Hierzu gibt es keine andere Chance. Zum Update einzelner Dateien im SPIFFS könnte man OTA natürlich auch verwenden. Doch leider kauft man sich damit den Nachteil eines RESET ein.  Manchmal kommt es vor, dass de ESP8266 dann nicht wieder sauber startet, sondern in den Bootloader-Modus geht. Aus diesem ist er nur schwer wieder zu erlösen. Deshalb gibt es die Möglichkeit, sowohl die Datei mit den Konfigurationsdaten online zu editieren als auch Dateien hochzuladen, zu löschen und herunter zu laden.

Dokumentation des Konfigurationssystems

Kodierung

Benutzt wird die AsyncWebServer-Klasse. Diese Klasse ist deutlich leistungsfähiger als die Standard-Klasse ESP8266WebServer und zeigt eine erheblich bessere Performance.

Einige Anmerkungen zum Einsatz dieser Klasse.

Fortsetzung folgt