ESP basiertes Touch Display für VanPI

Hallo zusammen,

ich hab gerne alle Daten an einem Platz und möchte im Camper ungern mein Handy benutzen um Füllstände nachzuschauen oder Lichter zu schalten.

Das offizielle Display ist mir etwas zu groß und das UI hat mir nicht so sehr gefallen. Daher habe ich mich (ausdrücklich mit KI Unterstützung) dran gemacht für das Waveshare 4" Display (40€ etwa auf Amazon) ein eigenes UI aufzubauen. Mit kleinem Akku dran könnte man es theoretisch überall hinstellen.

Es braucht keine Anpassungen im Node Red, da es die normale REST-API nutzt.

Wer Lust hat kann gerne mal mit rumspielen oder das ganze mit weiterentwickeln.
Es ist natürlich zunächst mal auf meinen Aufbau zugeschnitten und unterstützt längst nicht alle Features und Funktionen.

Das ganze ist hier zu finden:

Die “Screenshots” sind nur teilweise repräsentativ, da ich natürlich keine echten screenshots machen kann. Wenn jemand Interesse hat kann ich gern mal echte Fotos machen und einstellen.

Das Ganze soll in keinem Fall in Konkurrenz zum offiziellen Display stehen, es passte mir für meinen Anwendungsfall nur so besser und ich wollte es teilen falls jemand einen ähnlichen Nutzen hat :slight_smile:

Viele Grüße aus München,

Niklas

Wir wollen Bilder sehen!

:wink:

Esp32 basiert hört sich gut an.
Es gibt eine Software für das Sonoff NS Panel, die leider nicht weiter entwickelt wurde.
Der ein oder andere hat son Teil sicher noch rumliegen. Wäre es denkbar dein Projekt da aufzuspielen, das Display ist glaube ich 86x86mm.
Gruß Arno

Ich habe mal versucht es zu Testen, da ich das Display da hab, scheitere aber daran die Bibliothek für ST_CH32_IO.h zu finden und kann den Sketch so nicht komplettieren.

Hi @Tibu81,

Das freut mich das du es mal testen willst.

Die ST_CH32_IO.hbwar Teil des Waveshare Pakets das man von denen direkt mit runter laden kann soweit ich weiß.

Hier ist der Link zum GitHub. Dort in den demos/Arduino/libraries liegen die notwendigen libs.

Ich habe noch einen Bug mit den Zimmern bemerkt, die werden derzeit noch nicht synchronisiert. Das muss ich mir nochmal anschauen

@Niklas Danke für den Link hat auch nun funktioniert. Ich konnte Sketch komplettieren und hochladen aber leider bleibt das Display Schwarz, nur die Hintergrundbeleuchtung geht an.

Hi,

Welche Hardware version vom Display hast du? Ich hatte irgendwie gelesen das sie an den Platinen zwischen v3 und v4 noch was geändert haben. Vielleicht startet es deshalb nicht sauber auf.

Ich werde die Tage hoffentlich nochmal dazu kommen ein paar bugs zu fixen und baue dann auch eine serielle Ausgabe wieder ein zum.prufen wo er hängt.

Piept er beim starten?

Viele Grüße

Ich hab Rev4.0.. Piepen tut er auch aber immer mal unterschiedlich. Mal nur ein kurzer und ein anderes mal ein langer.

Mein Waveshare Display kam heute an. Will das auch ausprobieren :smiling_face_with_sunglasses:
Gibts schon Updates / eine neue Version?
Als Software brauche ich nur die Arduino IDE 2.x ?

Bei mir läuft CamperUI jetzt auch auf dem Waveshare Rev04 :slightly_smiling_face:

Zunächst blieb das Display schwarz. Im seriellen Monitor zeigte sich eine Neustartschleife mit LoadProhibited beim Aufbau der Oberfläche. Die Waveshare-Beispiele liefen dagegen inklusive Touch.

Geholfen hat bei mir folgende Änderung in der mitgelieferten lv_conf.h:

#define LV_MEM_SIZE (128U * 1024U)

Standardmäßig waren dort nur 48 KiB eingestellt. Nach der Erhöhung auf 128 KiB und erneutem Hochladen funktioniert die Oberfläche.

Noch zur Version: Ich verwende Arduino IDE 2.3.10 mit ESP32-Boardpaket 3.3.12. Mit der im Waveshare-Wiki genannten Version 3.0.7 ließ sich die aktuell heruntergeladene GFX-Bibliothek nicht kompilieren (ESP_INTR_CPU_AFFINITY_AUTO fehlte).

Als nächstes möchte ich ein paar Anpassungen für mein Van vornehmen. Werde euch auf dem laufenden halten.

Vielen Dank fürs Bereitstellen und Teilen des Projekts!

Hey,

Super das es bei dir jetzt auch läuft. 128 kiB macht deutlich mehr Sinn, dann sollte es auch stabil laufen!

Ich komme am Wochenende hoffentlich auch wieder dazu noch den ein oder anderen Bug zu fixen.

Wenn du Anpassungen machst kannst du sehr gerne auch pull requests erstellen, dann wächst die Funktionalität einfach stetig!

@Tibu81 die änderungen im lv_conf.h sollten dein Problem dann auch direkt fixen hoffe ich!

Ich melde mich am Wochenende nochmal mit updates!

Habe die letzten Tage mich auch nochmal daran versucht und habe es auch zum Laufen bekommen aber bei mir hatte es dann ständig Ruckler und Fries. Werde dann nochmal deine Version versuchen, mit den Änderungen von RV3DTech.

So nach den Änderungen läuft die Originale CamperUI bei mir auch. Die Uhr wird leider noch nicht Synchronisiert und die Heizung (Autoterm 4d) geht nicht zu Steuern.

Edit: Die Ansteuerung der Autoterm geht doch aber der Status wird im Display nicht aktualisiert.

Meine Variante der CamperUI läuft jetzt auch besser, hab die CPU Frequenz auf 80Mhz (Wifi) gestellt, dann war das ruckeln weg.

Ich hab noch ein paar Bilder gemacht aber mit simulierten Daten. Ich finde, sieht schon mal sehr gut aus.

Danke @Tibu81 für die Bilder!

Ich bin heute endlich mal wieder dazu gekommen etwas weiter zu machen.

Habe einen neuen Stand gepusht, könnt ihr ja gerne mal ausprobieren.

Es sind einige Bugfixies dabei (Dimmer wurden nicht aktualisiert, Heizung auch nicht + Status der Heizung fehlt)

Plus ein paar UI Kleinigkeiten.

CPU Takt habe ich auf 240 MHz für max performance.

HTTP läuft jetzt über freertos auf einem separaten Core.

Wenn ihr noch feature Ideen habt wie wir es erweitern können immer gern her damit :slight_smile:

Es freut mich zu sehen, dass der ein oder andere sowas auch nützlich findet

Update von mir heut…
HomeScreen hinzugefügt:

  • Eigener Home-Tab zusätzlich zu den bestehenden Seiten.

  • Kompakte Übersicht mit Aufbau-Batterie, Solar, Frischwasser und drei Temperaturen.

  • Starterbatterie-Spannung statt Restlaufzeit in der Batterie-Kachel.

  • Zwei Favoritentasten mit Farbumschlag beim Aktivieren. Die freie Zuordnung kommt später.

Neue MaxxFan-Seite:

  • Eigener Tab mit Lüftersymbol.

  • Zwei gleich große Grafiken für offene und geschlossene Haube.

  • Bedienelemente für Klappe, Lüfterstufe, Ein/Aus, Luftrichtung sowie Automatik mit Zieltemperatur.

  • Kleines Lüftersymbol neben der Heizungsflamme in der globalen Statusleiste, sichtbar bei Lüfterbetrieb.

Die aktuellen Upstream-Updates sind ebenfalls integriert. Die funktionierende LVGL-Konfiguration mit 128 KiB Speicher und Installationsanleitung habe ich separat als Pull Request angeboten.

Aktueller Stand: Home zeigt noch Beispielwerte, und die neuen MaxxFan-Bedienelemente arbeiten als lokale Demo ohne echte Schaltbefehle. Die Anbindung an Live-Daten folgt.

Eine Baustelle bleibt die Darstellung: Die Menüleiste zeigt zeitweise Bildfragmente und springt nach oben. Ein Umbau der Navigation hat das Verhalten verschlechtert und wird deshalb zurückgenommen.

Anbei die aktuellen Bilder von HomeScreen und MaxxFan-Seite. :slightly_smiling_face:

Zunächst mal mein Respekt für die Lösung, die Du hier gebaut hast.

Ich könnte mir vorstellen, dass diese Lösung für viele Benutzer interessant ist. Durch die Benutzung von Arduino IDE, das Einbinden weiterer Libraries, usw… scheint mit die Einstiegshürde aber recht hoch. Siehst Du die Möglichkeit, ein fertiges bin incl. Web Flasher bereitzustellen. Damit würde sich der Kreis von Testern sicher deutlich erweitern.

Gute Idee!
Eine fertige BIN mit Web-Flasher wäre technisch machbar. Die Einrichtung und Pflege bedeuten allerdings zusätzlichen Aufwand und Zeit. Vorher sollte die Firmware mit den wichtigsten Funktionen ausreichend stabil laufen.

Als Zwischenlösung könnte ich mir eine Schritt-für-Schritt-Anleitung für die Arduino IDE und die benötigten Bibliotheken vorstellen. Damit ist die Einrichtung auch ohne große Vorkenntnisse gut machbar; bei Fragen kann zusätzlich eine KI unterstützen.

Wäre eine solche Anleitung für euch als Zwischenlösung hilfreich?

Ich bin sicher, dass sich darüber viele potentieller Tester freuen werden.

Hi,

Alternativ wäre das als lvgl mit esphome einfach zu handeln.

Wenn meine zeit es hergeben würde, hätte ich mir das lvgl mal angeschaut.

Hab auch, mittlerweile 2 verschiedene, esp Display mit lvgl und esphome zusammen gestellt.

Grüße

Chris