Forum: Mikrocontroller und Digitale Elektronik Welches Toolkit bzw. welche Library für Programmierung grafischer Oberflächen


von Grafikbeginner (Gast)


Lesenswert?

Hallo,

ich möchte gerne eine einfache grafische Benutzeroberfläche 
programmieren. Basis ist ein STM32F429 in Kombination mit einem 
Touch-TFT-Display in Farbe und ohne Betriebssystem als Unterbau. Ich 
könnte natürlich alles zu Fuß machen, aber da ich nicht das Rad jedesmal 
neu erfinden möchte, würde ich gerne ein entsprechendes Toolkit bzw. ein 
Grafikbibliothek mit C bzw. C++-Anbindung benutzen, welche in der Lage 
ist, zumindest Grafikprimitive mit akzeptablem Aufwand darzustellen. 
Touchverarbeitung wäre wünschenswert. Dabei herauskommen soll später ein 
Fenster mit mehreren Registerreitern, Schaltflächen, Text zum Anzeigen, 
etc. Nicht aufwändig, aber funktionell. Leider hat die Suche bisher 
nicht die auf meinen Bedarf zutreffenden Ergebnisse geliefert, zumindest 
keine kostenlosen. Falls verfügbasr, welches Toolkit wäre dem 
entsprechend zu empfehlen?

von Mark B. (markbrandis)


Lesenswert?

Google-Suche nach "user interface library bare metal" ergibt zum 
Beispiel:

µGFX
http://ugfx.io/

Embedded Wizard
http://www.embedded-wizard.de/

GUILIANI
http://www.guiliani.de/en/

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mark B. schrieb:
> ergibt zum Beispiel:

... drei kommerzielle Produkte.

Grafikbeginner schrieb:
> Leider hat die Suche bisher nicht die auf meinen Bedarf zutreffenden
> Ergebnisse geliefert, zumindest keine kostenlosen.

(Hervorhebung von mir)

von Dan (Gast)


Lesenswert?

Für NXP LPC fällt mir noch emWin von SEEGER ein...die Lib gibt es aber 
auch für andere uC-Familie.

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Kennst Du diese Library?
http://mikrocontroller.bplaced.net/wordpress/?page_id=2736

Ich habe für STM32F7Disco die entsprechende Bibliothek vom selben 
Verfasser
erfolgreich eingesetzt.

von Mark B. (markbrandis)


Lesenswert?

Rufus Τ. F. schrieb:
> Mark B. schrieb:
>> ergibt zum Beispiel:
>
> ... drei kommerzielle Produkte.
>
> Grafikbeginner schrieb:
>> Leider hat die Suche bisher nicht die auf meinen Bedarf zutreffenden
>> Ergebnisse geliefert, zumindest keine kostenlosen.
>
> (Hervorhebung von mir)

µGFX:
Für den nicht-kommerziellen Einsatz kostenlos. Selbst bei kommerziellem 
Einsatz sollten 5 Dollar pro Gerät noch machbar sein.

Embedded Wizard:
Okay, ist teuer. Das "GUIs are watermarked" bei der Evaluation Version 
will man wohl eher nicht haben.

GUILIANI:
Ich sehe auf deren Homepage gerade keine Preise. Das SDK kann man 
anscheinend einfach so (naja, nach Angabe einer E-Mail-Adresse) von dort 
herunterladen.

Mark Brandis - Rufus Τ. Firefly 2:1
;-)

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mark B. schrieb:
> Das SDK kann man anscheinend einfach so (naja, nach Angabe einer
> E-Mail-Adresse) von dort herunterladen.

Was ist eine "evaluation version"?

Hmm?

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Ich bin bei den intelligenten berührungs-sensitiven Displays von NEXTION 
gelandet und habe mir gerade zum Test für ca. 20 Euro ein 2.4" Display 
bestellt. Angeboten werden Displays bis 7".

https://nextion.itead.cc/

http://www.ebay.de/itm/2-4-Nextion-HMI-LCD-TFT-Touch-Display-Panel-fur-Arduino-Raspberry-Pi-ESP8266-/112164458282?hash=item1a1d85cf2a:g:avAAAOSwh2xX~ULV

Die Display werden über USART betrieben.
Ein kostenloser umfangreicher GUI Editor steht zur Verfügung.

Bei YouTube gibt es jede Menge Videos über die Displays.

: Bearbeitet durch User
von Mark B. (markbrandis)


Lesenswert?

Rufus Τ. F. schrieb:
> Mark B. schrieb:
>> Das SDK kann man anscheinend einfach so (naja, nach Angabe einer
>> E-Mail-Adresse) von dort herunterladen.
>
> Was ist eine "evaluation version"?
>
> Hmm?

Die sind aber auch wirklich etwas wirr an der Stelle. In der rechten 
oberen Ecke steht, dass man eine E-Mail an eine bestimmte Adresse 
schicken soll, um die "Evaluation Version" zu bekommen. Das ist Quatsch, 
weil es dafür den Download Link gibt. In den PDF- und CHM-Dateien der 
"Evaluation Version" wiederum ist nirgends die Rede davon, dass es sich 
um eine ebensolche handelt. Jedenfalls nicht an den 17,5 Stellen die ich 
mir angesehen habe. Man muss erst das Programm starten, dann endlich 
kommt ein Hinweis darauf.

Offenbar wird die Software von einem typischen Informatiker und 
Sprachlegastheniker herausgegeben. ;-)

: Bearbeitet durch User
von Grafikbeginner (Gast)


Lesenswert?

Danke für die Antworten. Dass ein professionelles Toolkit Geld kostet 
(und nicht wenig), ist schon klar. Es ist ein immenser Aufwand, ein 
solches zu programmieren. Bei µGFX ist es schon schön, eine kostenlose 
nicht-kommerzielle Version zu erhalten; die Preispolitik (falls man 
damit Geld verdienen möchte) finde ich zu unflexibel. Auch finde ich, 
dass diese Pakete  für meine Zwecke oversized sind, ich benötige einen 
Bruchteil davon. Daher wäre ein quelloffenes Toolkit wirklich die erste 
Wahl für meine Zwecke. Und ich möchte dazusagen: ich plane für mich 
langfristig. Es ist zwar schön, einmal alles gesehen zu haben, aber ich 
möchte nicht von Anfang an an einen Hersteller mehr oder weniger 
gebunden sein. Ich möchte mich in die Welt der Programmierung grafischer 
Oberflächen erst einmal einarbeiten und jederzeit die Möglichkeit haben, 
ohne Mehrkosten auf legalem Wege eigene Systeme mit den benutzten 
Toolkits zu verkaufen. Es werden sich im Laufe der Zeit sicherlich noch 
genug Fragen ergeben. Wo die Reise später hingeht, wird das Leben (und 
die Erfahrung) zeigen. Aber um mich festzulegen und viel Geld zu 
investieren, ist es noch zu früh.

@DH1AKF K.
Danke für den Tip. Werde ich mal analysieren

von Grafikbeginner (Gast)


Lesenswert?

Und danke, aber nein. Ich werde nicht mit einem vorgefertigten Display 
mit Grafikcontroller arbeiten. Wenn ich ein Produkt entwickle, dann 
mache ich das nachhaltig. Kein Hersteller dieser Systeme kann mir eine 
Liefergarantie über mehrere Jahre geben. In zwei Jahren gibt es den 
Hersteller oder dieses System (oder ein kompatibles) nicht mehr. Und 
schon fange ich von vorne an. Ist zwar einfach, aber nur für kurze Zeit.

von Marc (Gast)


Lesenswert?

Wenn ich mich recht erinnere gibt es eine Version von emwin fuer stm32 
Prozessoren for free.
Siehe http://www.st.com/en/embedded-software/stemwin.html

von Grafikbeginner (Gast)


Lesenswert?

Ja, das ist das STemWin, welches z.B. dem STM32F429 Discovery board mit 
Display beiliegt. Praktisch, nur wäre es wünschenswert, die 
Grafikelemente selbst zu definieren. Sobald ich STemWin benutze, ist dem 
versierten Benutzer sofoet klar, dass ich STemWin benutze. Das möchte 
ich vermeiden. Jedenfalls ist mir nicht bekannt, wie ich darum herum 
komme.

von hp-freund (Gast)


Lesenswert?

Interessante Frage.
Kennt jemand dieses?

https://www.element14.com/community/docs/DOC-60777

Wenn ich das richtig sehe liegt alles im Quelltext vor.

von hp-freund (Gast)


Lesenswert?

Und es ist auch ein Ressourcen Editor dabei.

https://www.youtube.com/watch?v=PL3enedXTs4

Der Neue hat auch noch ein Grafik und Histogramm Tool.

Läuft auch unter wine, allerdings bei mir mit instabiler Symbolleiste.
Die Symbole kommen aber beim nächsten Fenster anlegen wieder.

von alles gar micht meine (Gast)


Lesenswert?

>ich möchte gerne eine einfache grafische Benutzeroberfläche (Basis ist ein 
>STM32F429) programmieren.

>würde ich gerne ein entsprechendes Toolkit ... benutzen.

Klingt bis hier hin nach einer Applikation mit GUI auf einem uC.

>Wenn ich ein Produkt entwickle, dann mache ich das nachhaltig.

Solide kommerzielle Anwendung, auch gut.

>Leider hat die Suche bisher nicht die auf meinen Bedarf zutreffenden >Ergebnisse 
geliefert, zumindest keine kostenlosen.

>Sobald ich STemWin benutze, ist dem versierten Benutzer sofort klar, dass >ich 
STemWin benutze.

Aha, mit fremden Federn schmücken, aber es nach eigener Arbeit aussehen 
lassen. Da scheint die Innovationshöhe der eigenen Software nicht sehr 
hoch zu sein.

von Grafikbeginner (Gast)


Lesenswert?

Es geht mir nicht darum, mich mit fremden Federn zu schmücken, ich 
wollte hier lediglich meine Denkweise über meine Entwicklungsarbeit 
darstellen. Es geht mir viel mehr darum, flexibel zu bleiben und nicht 
von Anfang an horrende Kosten decken zu müssen, für ein Produkt, welches 
ich nicht ausreize. Des weiteren gefällt mir STemWin generell überhaupt 
nicht, weshalb ich es nicht nutzen möchte. Die Optik spielt eben schon 
eine gewisse Rolle (ein bisschen pingelig darf man doch wohl sein, 
oder?). Wenn ich feststelle, dass in punkto Leistungsfähigkeit kein Weg 
an einem kostenpflichtigen Produkt vorbeigeht, dann ist das eben so. Bis 
zu diesem Zeitpunkt möchte ich aber kostensparend arbeiten. Und wie 
gesagt, auf dem Gebiet der GUI-Programmierung bin ich Neuling und kenne 
deswegen den Markt und die verfügbaren Toolkits nicht.

@hp-freund
Nein, kannte ich noch nicht. Ich werde es mir mal ansehen, das Video ist 
jedenfalls interessant. Danke für den Link.

von Mark B. (markbrandis)


Lesenswert?

Es wäre durchaus sinnvoll wenn Du uns mal sagst, wofür das Ganze denn 
entwickelt wird. Ist es ein Hobby-Bastelprojekt? Oder sollen die Geräte 
kommerziell vertrieben werden?

von Grafikbeginner (Gast)


Lesenswert?

Kurz gesagt: ich möchte mein Hobby zum Beruf machen. Solide Erfahrung im 
Bereich der hardwarenahen Programmierung ist durchaus vorhanden, nur 
eben die Arbeit mit GUIs ist eben Neuland. Auch möchte ich von Anfang an 
auf völlig legalem Wege Software schreiben und die Geräte (im kleinen 
Umfang) vertreiben, um mir bereits jetzt schon einen gewissen 
Kundenstamm aufzubauen. Dadurch wird die spätere geplante vollständige 
Selbständigkeit erleichtert.

von Mark B. (markbrandis)


Lesenswert?

Nun, dann würde ich mir die verschiedenen hier im Thread genannten 
Libraries einmal ansehen, und die aussuchen die mir am besten gefällt. 
Wenn die für eine kommerzielle Entwicklung Geld kostet, dann ist es eben 
so.

Die Alternative wäre, alles selbst zu programmieren. Aber kommt man 
damit vom Zeitaufwand her wirklich billiger hin? Bei Lizenzkosten von 
z.B. US-$ 1650 = ca. 1500 Euro darf man das bezweifeln. Das sind gerade 
mal 20 bis 30 Mannstunden, je nachdem was für einen Stundensatz man 
ansetzt. In der Zeit bekommt man eine eigene Bibliothek wohl eher nicht 
hin.

Wenn Du meinst dass Du das schneller schaffst, dann mach's :-)

: Bearbeitet durch User
von Grafikbeginner (Gast)


Lesenswert?

Mit Deiner Argumentation hast Du natürlich Recht. Darüber nachgedacht 
hatte ich auch schon. Leider sitzt das Geld dafür momentan nicht so 
locker, daher die Suche nach etwas günstigem. Vorerst habe ich etwas 
gefunden, womit ich mich zunächst beschäftigen werde. Das deckt so 
ziemlich den gesamten Bereich ab, welcher für mich (zumindest 
anfänglich) interessant ist. Das Toolkit heißt µGUI, ist kostenlos 
verfügbar und ausdrücklich zur Entwicklung kommerzieller Produkte 
freigegeben. Natürlich muss man noch viel zu Fuß machen (eine grafische 
Entwicklungsumgebung gibt es nicht), trotzdem ist die Erstellung 
einfacher Oberflächen einfacher, als wenn ich das Rad komplett neu 
erfinde. Umsteigen auf ein kostenpflichtiges Paket kann ich dann immer 
noch.

Danke an alle für die zahlreichen Antworten!

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Schau Dir auch mal NuttX an.

Dort hast Du ein komplettes RTOS zzgl. eines Grafiksystems mit 
Primitiven, Widgets und sogar Windowmanager, falls gewünscht.

Alles steht unter einer BSD-ähnlichen Lizenz.

von Grafikbeginner (Gast)


Lesenswert?

Das wäre natürlich auch eine interessante Alternative. Insbesondere weil 
man sich um die Hardwarezugriffe (größtenteils) nicht mehr selbst 
kümmern muss. Hat NuttX eine Möglichkeit implementiert, um auf den 
CAN-Bus zuzugreifen?

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Ja klar. Hier sind die wesentlichen Gerätetreiber aufgelistet:

http://nuttx.org/#device_drivers

von Grafikbeginner (Gast)


Lesenswert?

Ich habe es mal kurz überflogen, das klingt jedenfalls sehr überzeugend. 
Ich werde diese Möglichkeit nicht auslassen, mich dort einzuarbeiten. 
Die nächsten Wochenenden, Feierabende und Weihnachtsferien sind 
gerettet! Vielen Dank für den Tip!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.