NEXTION Display: Upload Tool?

Hallo,

Ich finde, die NEXTION-Displays sind bei kleineren Projekten eine gute Alternative zu diversen weit teureren industriellen HMIs. Eine Funktionalität fehlt mir jedoch bis heute:

Derzeit kann ich die Display-Grafik nur entweder über den SD-Slot des Nextion oder über die GUI, den sog. Nextion-Editor hochladen. Wenn ich eine Applikation an Dritte weitergeben möchte, in der Das Display mit einem Gehäuse fix verbaut ist, und kein Zugang zum SD-Slot vorhanden ist, wirds schwierig: Ich müsste das Original-File an Dritte weitergeben, die müssten den Nextion-Editor installieren etc.

Besser wäre es, wenn ich das Grafik-File anstatt über den SD-Slot direkt über den USB-Serial-Port des Arduino an das Display weiterreichen könnte.

Glücklicherweise hat itead das Upload-Protokoll tatsächlich öffentlich gemacht und es gibt auch einen Arduino-Sketch dazu (Teil der NEXTION-Arduino-Library). Dierser verfolgt aber einen anderen Ansatz: er ermöglicht es, dass der Arduino ein Grafik-File aus einer weiteren SD-Karte, die am Arduino selbst angeschlossen ist, ausliest und ans NEXTION weiterreicht.

Jetzt wäre es toll, wenn es stattdessen einen Sketch gäbe, der die Daten nicht von einer SD-Karte holt, sondern von einem File am PC.

Meine Fragen dazu: Kann der Arduino theoretisch selbst auf ein (Windows-) Filesystem zugreifen? Eher nicht denke ich - daher bräuchte es vermutlich ein kleines Programm auf PC-Seite, dass das File über den USB-Serial-Port an den Arduino pusht.

Ich bin programmiertechnisch leider nicht in der Lage, dies selbst zu machen, aber ich denke, das wäre ein großer Schritt für das NEXTION-Display. Kann sich jemand mit dieser Idee anfreunden? Oder hat jemand vielleicht ein paar Vorschläge, was es konkret bräuchte, um so etwas zu programmieren?

Wäre es als erster Ansatz evtl. möglich, das über ein paar Terminal-Zeilen und einem modifizierten itead-Upload-Sketch hinzubekommen - nur als Ausgansbasis, um dann ein eigenes Tool zu programmieren?

Wer kann hier mithelfen? Wenn mir jemand hilft, bin ich auch gerne bereit, Arbeit zu übernehmen...

Du brauchst am PC ein Programm (in der Programmiersprache Deiner Wahl), dass eine Datei öffnet, bytewise daraus liest und das Byte an die passende serielle Schnittstelle schreibt, an der der Arduino lauscht.
Der sendet das Byte dann weiter ans Nextion. (Wie in _downloadTftFile das Byte c = _myFile.read():wink:

Gruß Tommy

Danke, Tommy.

Wie aufwändig/stabil/machbar schätzt du dieses Unterfangen ein?

Das kommt darauf an, wie aufwendig Du das PC-Programm gestalten willst und wie schnell Du programmieren lernst.
Fange klein an und mache nicht gleich alles auf einmal.
Warum sollte es nicht stabil sein, wenn Du es ordentlich machst?

Gruß Tommy

Alles klar.
Das wöre auch mein Zugang: anfangs möglichst ganz ohne GUI. Wo soll ich anfangen? Glaubst du, geht das auch über ein Web- Interface? Mit php wäre ich ein wenig vertraut...

Hallo,
das wirst Du nie- hinbekommen. Verschwende da keine Zeit dran.
"Verlänger" einfach den SD-Schacht des Nextion nach aussen.
das ist sicher und funktioniert immer. Einfach das NextionFile an die andere Seite weitergeben,
die überträgt es auf SD, und dann auf das Nextion.
Gruß und Spaß
Andreas

Wenn es für PHP eine serielle Lib gibt, könnte man auch das technisch durchaus tun.

Ich glaube aber nicht, dass andere einen kompletten Webserver aufsetzen wollen, nur um Dein Bild ins Nextion zu spielen. Da wäre eine EXE mit Auswahl des COM-Ports und des Files wohl die bessere Wahl.

Nicht alles, was technisch machbar ist, ist auch sinnvoll.

Gruß Tommy

Sag niemals nie - glaub mir, ich hab schon schwierigeres hinbekommen.
Abgesehen davon gibt es die komplizierteren Tasks schon als Open Source:

Es gibt ein Upload-Tool als .exe, mit dem man die Firmware direkt über die Serielle Schnittstelle ans Display schicken kann, es gibt ein weiteres Tool (Arduino-Sketch), mit dem man am Arduino eine SD-Karte auslesen und an das Display schicken kann. Da steckt doch schon vieles davon drin...

SkobyMobil:
Hallo,
das wirst Du nie- hinbekommen. Verschwende da keine Zeit dran.
"Verlänger" einfach den SD-Schacht des Nextion nach aussen.
das ist sicher und funktioniert immer. Einfach das NextionFile an die andere Seite weitergeben,
die überträgt es auf SD, und dann auf das Nextion.
Gruß und Spaß
Andreas

Ich habe jetzt ein anderes Display in Verwendung, da habe ich genau so eine Lösung implementiert, wie du es vorschlägst. Genau das möchte ich aber "wegbekommen". Mir geht es um folgendes Szenario:
Mein Arduino und TFT sind von aussen nur über eine USB-Schnittstelle zugänglich. Ich möchte dem User für ein Firmware-Update ein kleines Software-Tool und eine aktuelle Firmware ohne zusätzliche Versandkosten zur Verfügung stellen können...

SkobyMobil:
"Verlänger" einfach den SD-Schacht des Nextion nach aussen.