Last Updated on 10. Februar 2024 by sfambach
Ich hatte mir die Hardware im Oktober 2018 gekauft und diesen Beitrag nur mit einer Überschrift erstellt. Nachdem mich Siegfried auf ein Problem angesprochen hat, war ich nur zu gerne bereit diesen Beitrag endlich mit Inhalt zu füllen und das Projekt zu einem Abschluss zu bringen. Nach drei Monaten vor mir herschieben habe ich diese Baustelle nun erstmal beendet.
Fakten
Beschreibung | Wert |
---|---|
Controller | ESP8266 12-E |
Bildschirmgrösse | 240 Breit * 320 Hoch |
Bildschirmtyp | ILI9341 |
Touchscreen | XPT2046 |
Lipo Lader | ??? |
https://github.com/cxandy/AZSMZ-TFT
Display Pin | ESP8266 Pin |
---|---|
Pin TFT_DS | 0 |
Pin TFT_DC | 2 |
Backlight | 16 |
Low/High on | LOW |
TOUCH_CS | 5 |
TOUCH_IRQ | 4 |
Knopf 1 | 0 |
Anwendungsbereiche
- Wie vorgesehen als Wetterstation
- Uhr
- Alles, für was man ein Display braucht.
Ansichten
Programmierung
AZSMZ Wetterstation Testprogramm
Bibliotheken
Name und Link | Version |
---|---|
Color WeatherStation AZSMZ | 1.0 |
Board ESP8266 Arduino Lib (Alte Version) | 2.5.0 |
Mini Grafx, Daniel Eichorn | 1.2.6 |
Json Streaming Parser, Daniel Eichhorn | 1.0.5 |
ThingPulse ESP8266 Weather Station | 2.2.0 |
simpleDSTadjust | 1.2.0 |
Api Key
Registriegung bei Weather Underground, Erstellen eines Devices und eines API Key. Der generierte Api Key hat bei mir leider nicht funktioniert :(.
Programm
Einstellungen
Datei heisst settings.h:
- WLan Daten einfügen
- Api Key einfügen
- Längen und Breitengrad eingeben (Kann hier über bestimmt werden)
Quellcode
Das vorkonfigurierte Programm ist unter folgenden Linkt zu finden.
Anmerkung
Die Einstellungen für die Position und den Api Key werden in der Datei „settings.h“ geändert. Beim compilieren bitte auf die Version der ESP Board Bibliothek achten diese ist 2.5.0. Danach aufspielen und freuen. Als erstes muss eine Kalibrierung gemacht werden, danach wird der Wetterbildschirm angezeigt. Wurde die SSID bzw. das WLAN Passwort nicht voreingetragen muss per Handy/Table die Konfiguration nachgeholt werden, die Anweisungen hierzu stehen auf dem Bildschirm.
Bodmer Wetterstation Testprogramm
Bibliotheken
Name | Version |
---|---|
Bodmer Wetterstation | 0.3.0 |
TFT_eSPI Bibliothek für die Ansteuerung des graphischen Displays | 2.5.33 |
Json Decoder | 0.1 |
Json Stream Parser | 1.1 |
Board ESP8266 Arduino Lib | 3.1.2 |
Plugin für die Arduino Gui für LittleFS (Optional nur für Arduino Gui < 2.0) | 1.0.6 |
Plugin für die Arduino Gui für LittleFS (Für Arduino Gui >= 2.0) |
Api Key
Der Api-Schlüssel kann bei OpenWeatherMap geholt werden.
https://home.openweathermap.org/
Hierzu
- Registrieren
- Einloggen
- Ins Menü API Key wechseln
- Api Key mit Name generieren
- Schlüssel in die Datei All_Settings.h unter api_key eintragen
Programm
Einstellungen
In der Datei All_Settings.h
- WLan Daten einfügen
- Api Key einfügen
- Längen und Breitengrad eingeben (Kann hier über bestimmt werden)
- Sprache festlegen
- (Optional) Label übersetzten
Die Verbindungsdaten müssen in die TFT_eSPI Bibliothek eigetragen werden. Dieser befindet sich im Bibliotheksordner und heisst User_Setup.h. Bei mir liegt diese unter:
C:\Users\spam\OneDrive\Dokumente\Arduino\libraries\TFT_eSPI
Ich habe meine Konfiguration dem Projektordner hinzugefügt. Die Originaldatei muss hierdurch nur ersetzt werden. Eine bessere Variante ist diese umzubenennen und in den Ordner User_Setups zu schieben und dann in der Datei User_Setup_Select.h darauf zu verweisen.
Quellcode
Das angepasste Programm ist unter folgenden Link zu finden:
Jetzt nur noch aufspielen.
Anmerkungen
Zum hochladen der Dateien (Bilder, Schriftart …) wird eines der Plugins benötigt. Dieses installieren und die Dateien wie in der Anleitung beschrieben hochladen.
Probleme
Display zeigt nichts an
- Konfigurations Datei in den TFT_eSPI Bibliotheksordner kopiert?
- Anderes Board? Evtl die Pins, Einstellungen und Treiber anpassen.
- LED Low angeschaltet – Ich musste das Programm anpassen damit die Displaybeleuchtung bei LOW an ist evtl. verhält sich euer Displays anders.
Es werden keine Bilder angezeigt
- Data Ordner mit im Projekt?
- Stimmt die Ordnerstruktur?
- Daten ins LittleFS hochgeladen?
- Mal in der Konsole schauen ob gemäckert wird.
Es tut sich garnix
- Mal die Konsole verbinden und schauen ob es etwas interesantes zu lesen gibt.
- Bei Bodmer die Konsolenausgaben aktivieren, einfach die Commentar Zeichen vor folgender Zeile in der Hauptdatei entfernen:
#define SERIAL_MESSAGES // For serial output weather reports
Es werden keine Wetterdaten geholt
- API Key geholt und in die Einstellungsdatei kopiert?
- API Key noch aktiv?
Sonstiges
Neuen Schriftarten
Tool zur Generierung
https://github.com/Bodmer/TFT_eSPI/tree/master/Tools/Create_Smooth_Font/Create_font
Bibliothek für RP2040 Boards
https://github.com/earlephilhower/arduino-pico
Gehäuse (3D Druck)
https://www.thingiverse.com/thing:3237664/files
https://www.thingiverse.com/thing:2825520
Fazit
Die Hardware ist zwar etwas in die Jahre gekommen aber dieses Projekt zeigt gut, dass es nicht immer ein ESP32 oder ein anderer neuer Controller sein muss. Auch der ESP8266 hat immer noch seine Daseinsberechtigung.
Jemand wie Bodmer und andere haben sich die Mühe gemacht ein Framework für eine komplette Wetterstation bereit zu stellen. Das Ergebnis kann sich sehen lassen. Wem es nicht gefällt, der kann aufbauend auf dem Projekt, seine eigenen Oberfläche erstellen und weitere Funktionen hinzufügen.
Zum Board ist noch zu sagen, ich war damals begeister als ich es gekauft habe, auch wenn es mit knapp 24€ sehr teuer war und mit den heutigen Preisen und Boards nicht vergleichbar ist. Es hat einen ESP, einen SDKarten Steckplatz, ein buntes Touchdisplay und einen Lipo anschluss, was will mann mehr ;). Heute ist es aber eher schwer noch dokumentation zu finden. Die meisten Seiten verwenden neuere Versionen, andere Hersteller oder bauen das Ganze diskret auf.
Verwandte Beiträge
- Arduino Schach-Uhr
- Funduino JOYSTICK V1.A
- Menü Klassen für LCD Displays
- Arduino LCD Keypad Shield
- Arduino SSD1306 Monochrom OLED 128×64 I2C
- ESP8266 SSD1306 Monochrom OLED 128×64 I2C
- NodeMCU V3 mit Oled Display aufmotzen
Quellen
https://github.com/ThingPulse/esp8266-weather-station
https://github.com/cxandy/esp8266-weather-station-color
https://github.com/cxandy/esp8266-weather-station-color/wiki/Install-Instructions
https://github.com/Bodmer/OpenWeather
https://github.com/JChristensen/Timezone
https://github.com/PaulStoffregen/Time
https://github.com/Bodmer/TFT_eSPI
https://github.com/Bodmer/JPEGDecoder.git
https://github.com/Bodmer/JSON_Decoder
https://www.thingiverse.com/thing:2825520
https://github.com/PaulStoffregen/XPT2046_Touchscreen
https://github.com/squix78/json-streaming-parser