Zum Inhalt springen

Next/Entwicklung

Aus WetterCube Wiki

Aufbau des Repositorys

Datei / Ordner Inhalt
CMakeLists.txt, main/ ESP-IDF-Projekt; main/main.cpp ist der Einstieg
sdkconfig.defaults, partitions.csv Einstellungen und Partitionstabelle (ESP32 CYD, 4 MB Flash)
conf/lv_conf.h LVGL-Konfiguration (Projektkopie)
src/app/ Netzwerk-Task (app.cpp), Daten der Fusion (daten.cpp), Oberfläche (ui.cpp), Weboberfläche (webui.cpp), Update (ota.cpp)
src/board/, src/display/ Board-Schicht für den CYD (Display ST7789/ILI9341, Touch, Hintergrundlicht) und die LVGL-Anbindung
src/platform/ kleine Ersatzschicht für die Arduino-Namen (WiFi, HTTPClient, WebServer, Preferences, String …), setzt direkt auf ESP-IDF auf
src/ui/, src/fonts/, src/icons/ PicoPixel-Export der Oberfläche (LVGL 8, 320×240), Schriften, Wettersymbole
tools/ deploy_ui.sh, wetter_icons.py, icon_kontur.py
assets/ Logo, Roadmap-Grafik, Bildschirmfotos, Symbole
docs/ GitHub Pages: Web-Installer, version.json, manifest.json, firmware/*.bin
CHANGELOG.md / CHANGELOG.en.md Änderungen (zweisprachig)

Bauen

ESP-IDF 5.5.x installieren (git clone --branch v5.5.5 --recursive https://github.com/espressif/esp-idf.git ~/esp/esp-idf-v5.5.5 && cd ~/esp/esp-idf-v5.5.5 && ./install.sh esp32), dann:

bash build.sh                        # bauen (Ziel esp32, ESP32 CYD; beim ersten Mal lädt der Komponentenmanager LVGL, ArduinoJson und mdns)
bash build.sh flash /dev/cu.xxx      # bauen und flashen (Port aus ls /dev/cu.*)
bash build.sh erstflash /dev/cu.xxx  # erst den ganzen Flash löschen, dann bauen und flashen (beim ersten Mal auf einem CYD mit fremder Software)
bash build.sh clean                  # nach Änderungen an sdkconfig.defaults

Oberfläche mit PicoPixel

  1. In PicoPixel nach src/ui/ exportieren.
  2. ./tools/deploy_ui.sh ausführen: bereitet den Export auf und prüft, ob alle vom Code verdrahteten Objekte noch existieren.
  3. Die Wettersymbole (Stil „flat“ mit Kontur) erzeugt python3 tools/wetter_icons.py aus den Meteocons.

Update-Weg

Die Firmware-Dateien in docs/firmware/ und die Releases erstellt der Maintainer. Pull Requests bitte ohne Änderungen an docs/firmware/. Das Next holt version.json und die Firmware von GitHub Pages und bietet nur höhere Versionen an. Die Daten der Fusion holt es per HTTP über /api/next.

Mitmachen, Lizenz und Credits

Der Quellcode steht unter der Apache-Lizenz 2.0 (LICENSE, NOTICE), Texte und Bilder unter CC BY-NC 4.0. Name und Logos von „WetterCube“ sind nicht freigegeben. Pull Requests und Issues sind willkommen, am besten mit Version, Gerät und dem Text von http://wettercube-next.local/log; Beiträge werden unter der Apache-Lizenz 2.0 aufgenommen. Komponenten und Daten Dritter: CREDITS.