Display - file version is too low

Deadeye5589

New member
Moin,

ich schraube gerade eine alte Mini V2 Version mit dem Raspberry zusammen. SD Karte ist mit der FW 2.8.2 bespielt Nun sollte eigentlich das Display Update kommen. Ich erhalte aber einfach nur eine Fehlermeldung "file version is too low". Danach passiert nichts mehr. Scheint ein Problem der FW auf dem Display zu sein. Jemand ein Idee, wie ich die aktualisieren kann?
 

s.ochs

BOFH
Teammitglied
Admin
Hi,

ich vermute mal das Nextion ist ganz neu? Klingt so, als wäre die von Nextion aufgezogene Basis-FW deutlich neuer, als die von der v2.8.2 (aus 2018) und nicht mehr kompatibel. In dem Fall müsstest du das ursprüngliche Nextion Projekt zur v2.8.2 neu im Nextion Editor kompilieren, um die Display-FW auf den neuen Stand zu bekommen. Eventuell kann man auch das Display downgraden, weiß ich aber leider nicht, müsstest du mal googlen.

Gruß
Steffen
 

Deadeye5589

New member
Ja, ist ein ganz neues Display. Recompilieren will er erstmal nicht.


Error:Invalid Variables:main.dim.val( Double click to jump to code)
cov main.dim.val,b4.txt,0

&

Error:Invalid Variables:main.dim.val( Double click to jump to code)
h0.val=main.dim.val

leider kapiere ich die syntax noch nicht. Muss ja ein Problem mit der variablen main.dim.val sein. DIM ist blau hervorgehoben, Vielleicht ist das inzwischen ein Befehl. Aber umbenennen in dimm nützt auch nichts.
 
Zuletzt bearbeitet:

Deadeye5589

New member
Ok, ich bin schon etwas weiter gekommen. In der Main gibt es keine Variable namens DIM, mag die SW auch nicht, wenn man diese anlegt. Scheint also inzwischen eine Funktion zu sein. Ich habe jetzt die Variable "DIMM" in der Main angelegt und auf Global gestellt. Danach die Fehlermeldung ebenfalls angepasst und in "dimm" geändert. Damit kompiliert es und ich kann die Daten auf das Display hochladen. Nun ist die Frage, wo diese Variable DIM verarbeitet wird. Ich denke mal auf dem Pi? Da müsste man dann wohl wahrscheinlich auch diese umbenennen.
 

s.ochs

BOFH
Teammitglied
Admin
Exakt: Link und Link
Sollte dann aber nur die Veränderung der Display-Helligkeit betreffen. Ist die Frage ob du diese Funktion brauchst.
 

Deadeye5589

New member
Jau, das hat Funktioniert. Irgendwas stimmt mit dem Text in dem Menü nicht. Ist aber auch egal. Man sieht ja wie hell es ist. Da ist der Wert zweitrangig. Danke für die Unterstützung
 

Deadeye5589

New member
So, jetzt stehe ich wieder vor dem Problem mit File Version to low. Diesmal allerdigns bei dem Wechsel von Pi auf ESP32. Wo finde ich denn wohl die SW für das Display, welche zum ESP32 gehört? Im WLAN_Thermo_V2 Repository sind nur Daten, welche Älter als das ESP32 HW Repo sind.
 

Deadeye5589

New member
Ganz so leicht ist es diesmal leider nicht. Das Compilieren lief diesmal zwar ohne Anpassungen des Quellcodes für das Display durch. Aber der ESP will trotzdem bei jedem Start eine Update des Displays machen und beschwert sich weiterhin, dass die Dateiversion zu niedrig wäre, obwohl das Hochladen funktioniert hat und ich ja schon kurz das neue Startbild sehen kann. Ich müsste dem ESP also irgendwie abgewöhnen, dass er das Display updaten will. Nur wie?
 

Deadeye5589

New member
Oder eigentlich müsste ich das Image für das Display, welches im ESP gespeichert ist, austauschen. Dann hätte ich eine neu kompilierte Version, welche zum SW Stand des Display Controllers passen müsste auf dem ESP und alles sollte korrekt funktionieren, oder?
 

s.ochs

BOFH
Teammitglied
Admin
Ok, ich seh das Problem. Wie du richtig vermutest, ist der ESP so vorkonfiguriert, dass er ein Update des Nextion erzwingt. Was in der Regel ja auch notwendig und kein Problem ist. Ich denk mal drüber nach, wie du das am besten übergehen kannst. Alternativ müsste man den Speicher des ESP einmal komplett leeren und dann neu bespielen, ohne die Vorgabe zur Nextion-Installation. Arbeitest du zufällig öfter mit dem ESP und kennst dich mit dem esptool oder vergleichbarem aus? Wenn das alles nicht klappt, schick dir einen neuen ESP mit passender Konfiguration und wir tauschen den jetzigen aus.
 

s.ochs

BOFH
Teammitglied
Admin
Versuch bitte folgendes:

1. ESP starten lassen und nach ca. 20 Sekunden nach dem WLANThermo-AP in den verfügbaren Netzwerken deines Endgeräts suchen. Verbinden, Webinterface unter 192.168.66.1 öffnen und die Einwahl in dein Netzwerk durchführen. Danach am Router nachsehen, welche IP-Adresse dein Mini bekommen hat und nun das Webinterface über die neue IP-Adresse aus deinem Heimnetzwerk heraus aufrufen. Eventuell hast du die Einbindung in dein Netzwerk eh schon gemacht, dann kannst du direkt zu Schritt 2 gehen.
Theoretisch kann man die kommenden Schritte auch über den AP-Mode machen, ist ggf. aber etwas instabiler. In dem Fall öffnest du das Webinterface unter 192.168.66.1 und machst dann weiter mit Schritt 2.

2. Nun öffnest du den Recovery-Mode. Dazu IP/recovery im Browser aufrufen (IP ersetzt du durch die entsprechende IP-Adresse des Mini). Nach etwa 10 Sekunden öffnet sich der Recovery Mode.

3. Das Zip aus dem Anhang herunterladen und entpacken. Nun im Recovery-Mode über "Select File", das BIN-File aus dem entpackten Ordner auswählen und mit dem Button "Update" die Installation starten. Du siehst dann eine Verlaufsanzeige. Die Installation dauert etwa 1 Minute. Anschließend über den Button "Restart" den ESP neu starten. Der ESP sollte nun ohne die Nextion-Installations-Vorgabe laufen.

Das BIN-File überschreibt den SPIFFS-Speicherbereich im ESP32, in dem die Nextion-Files abgelegt sind.

Gruß
Steffen
 

Anhänge

  • empty_spiffs.zip
    8.2 KB · Aufrufe: 1

Deadeye5589

New member
Ja, das hat Funktioniert. Danke für die Hilfe. SW Update wäre dann nochmal ein anderes Thema. Aber eigentlich laufen die Thermometer ja sehr gut. Wie funktioniert das den generell, dass du vom dem HMI File zum Inhalt für den ESP kommst? Ich hatte mir mal das Repsitory geklont. Platformio baut mir ja eine SW. Wird da automatisch der HMI File zum passenden BIN umgeschrieben?
 

s.ochs

BOFH
Teammitglied
Admin
ESP und Nextion sind getrennte Systeme, mit eigener Software. Der ESP kann aber den Update-Prozess fürs Nextion steuern. Daher ist es möglich über ihn die Nextion-Firmware (TFT File) aufzuspielen. Platformio baut nur die ESP Firmware.

Die Kompilierung der HMI zum TFT File erfolgt über den Nextion Editor. So wie du es schon kennst. Für ein Release erfolgt das lediglich direkt auf GitHub. Für das Nextion wird immer die TFT benötigt.

Für die Umrüstung vom Pi auf den ESP haben wir alle verfügbaren TFT-Files (jede Nextion-Version braucht ja sein eigenes File) in den SPIFFS des ESP "zwischengespeichert". Der ESP sucht dann normalerweise beim ersten Hochfahren nach dem passenden TFT File für das vorliegende Nextion in seinem Speicher. In deinem Fall hat es nicht gepasst, da die TFT-Kompilierung des letzten Release vor der neuen Nextion Editor Version erfolgt ist. Deshalb musstest du den SPIFFS manuell leeren, damit der ESP nicht nach einem TFT File im Speicher sucht. Normalerweise passiert das von selbst, sobald die Nextion Installation erfolgreich war.

Bei einem Online-Update des ESP auf ein neues Release erfolgt zuerst nur die Installation der ESP-Firmware. Sollte es zum Release auch ein Nextion-Update geben, holt sich der ESP im Anschluss an sein Update das passende TFT-File von GitHub und startet dann den Nextion-Updateprozess.
Abseits davon kann man über den Recovery -Mode jederzeit selbst ein TFT-File einspeisen oder eben über die SD-Karte am Nextion direkt.

Es wird von uns aber nicht mehr viele Nextion-Updates geben. In den neuen Hardware-Versionen sind wir weg vom Nextion. Die Grafikverarbeitung erfolgt hier direkt auf dem ESP. So gibt es nur noch eine Firmware, was weniger fehleranfällig ist. Die neuen ESP-Updates laufen auch auf den älteren Mini-Modellen, beinhalten aber eben keine / nur noch wenige Änderungen am Nextion.
 

Deadeye5589

New member
Ah sehr cool. Danke für die Erklärung. Die Zusammenhänge waren mir auch nach Überfliegen des Quellcodes nicht wirklich geläufig.
 
Oben Unten