Laden...

GUI API für embedded Systeme

Erstellt von Osirisbob2406 vor 11 Jahren Letzter Beitrag vor 11 Jahren 6.278 Views
O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren
GUI API für embedded Systeme

Hallo zusammen,

ich hoffe ich bin in diesem Forum richtig! Ich habe eine Frage bzgl. GUI und embedded OSs. Da ich sehr unerfahren in dieser Richtung bin möchte ich um euren Rat bitten.

Es geht sich um ein Embedded Gerät, kleiner Industrie-PC der zum steuern einer mobilen Maschine sein soll.

Bei diesen Geräten habe ich momentan die Auswahl (durch den Hersteller) zwischen:

  • Windows CE 6

  • Windows Embedded Standard 7

  • Linux Embedded

  • Windows CE 6: startvorgang soll relativ flott gehen, kann windowsForms nutzen

  • Windows Embedded Standard 7: Startvorgang relativ lange (1 Minute), kann Compact Framework oder sogard WPF?

  • Linux Embedded wird C++/Qt verwendet, brqucht wenig Ressourcen

Soweit meine Informationen. Ich stehe jetzt ratlos da und möchte mich langsam mal entscheiden, da ich scon länger rumgoogle und mich informiere.

Ich brauche ein Betriebssystem, dass schnell startet, auf einem embedded System nicht zu viele Ressourcen braucht (Rechner ist 806 Mhz, 2gb Ram, momentan noch), und grafisch nicht zu langweilig ist. Achja und soll ein Touchscreen werden.
Bei Windows Forms hab ich noch keine spektakulären GUIs gefunden.
WPF wäre perfekt, aber ist wieder die Frage: WPF und Embedded Geräte?
Linux und Qt kenn ich mich leider garnicht mit aus.

Was würdet ihr auf lange Sicht nehmen?

Danke Euch!!

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo Osirisbob2406,

da mit Windows 8 sowieso Metro-Design am kommen ist, welches niedrige Anforderungen an die grafische Darstellung stellt, spricht aus meiner Sicht nichts dagegen, dass man mit Windows Forms eine ansprechende Oberfläche - eben im Metro-Design - realisieren kann (also ganz ohne Windows 8 und Metro-/WinRT-Apps).

Möglicherweise würde aber sogar Windows 8 auf deinen Geräten laufen. Das soll ja angeblich für den Einsatz auf mobilen Geräten optimiert sein. Dann müsstest du also nichts in Windows Forms nachbauen, sondern könntest direkt WinRT benutzen.

herbivore

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Vielen Dank für deine Antwort...
Für WPF finde ich lauter Design-Beispiele für Touchscreen GUIs. Bei WIndowsForms siehts leider sehr lau aus. Kennt ihr eine Website wo es ein paar Beispiel gibt oder habt ihr selber schonmal TOuch-GUIs gemacht an denen man mal sieht was möglich ist?

Danke Euch!!

5.742 Beiträge seit 2007
vor 11 Jahren

Für WPF finde ich lauter Design-Beispiele für Touchscreen GUIs. Bei WIndowsForms siehts leider sehr lau aus.

Willst du eine Multimediaoberfläche realisieren (d.h. zur Verwendung im Kioskbetrieb / Präsentationen / zum Erreichen von neuen Nutzern)?
Dann empfiehlt sich tatsächlich WPF aufgrund der besseren Unterstützung vieler Gestaltungselemente (echte Transparenz, performante Transformationen, Animationen usw.).

Geht es dir "nur" um klassische Maschinensteuerung (Single-Touch; grafisch "langweilige" Oberfläche) brauchst du vermutlich nicht einmal spezielle Anpassungen: So lange Buttons etc. ausreichend groß sind, kommst du auch mit WinForms sehr weit - unter CE (und auch unter den Desktop-Windowssen) werden Bildschirmberührungen automatisch in Mausklicks an der entsprechenden Bildschirmstelle umgewandelt.

Evtl. ist unter Linux auch Mono eine Option (du müsstest evaluieren, ob und wie gut das unter der embedded Version unterstützt wird), wenn die Lizenzkosten ein Thema sind.

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Es muss nicht unbedingt Transparenzen oder Animationen haben, dennoch sollte es grafisch was anspruchsvoller sein, als herkömmliche Maschinensteuerungen.

Bsp: - Buttons mit abgerundeten Ecken
- Buttons, dessen OBerflächen sich bei Auswahl einer Option zur Laufzeit ändert
- Navigationsmenü, dass eine Reihe von Schaltflächen zur Seite hin öffnet
- ...

Würde gerne mal ein Screenshot von einem etwas aufwändigeren Touch-GUI ,mit WindowsForms gemacht, sehen. So würde ich mal sehen was damit möglich ist...
Das ebenfalls von Qt4++ für Embedded Linux..

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo Osirisbob2406,

das bekommt du alles mit vertretbarem Aufwand mit Windows Forms hin. Verlass dich auf meine Aussage. Screenshots nützen dir eh nicht viel, weil du dann immer noch nicht weißt, wie es geht.

Im Forum und in der Doku findest du alles, was du für die Umsetzung brauchst.

Siehe z.B. Forumssuche nach runde ecken oder Button.Image Property oder [FAQ] Assistenten/Wizards: Mit Windows Forms eine Art Frameset einer Website nachbauen.

herbivore

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Screenshots dienen lediglich dazu meinen Kollegen zu zeigen was mit meiner zukünftigen Entscheidung möglich ist..

Aber Danke für Eure Antworten! Das hilft mir schonmal weiter...

In Sachen Animation fällt mir gerade ein... Ich bekomme einen Wert von Bussystem... und da muss ich eine Form füllen... das wird in Echtzeit aktualisiert ...

Kann man sowas machen mit Winforms?
Oder einen Tourenzähler?
Und wie siehts mit Farbverläufen aus?
Transparenzen kann man doch auch mit PNG simulieren, oder?

Danke Euch!

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo Osirisbob2406,

solange die Animationen nicht besonders aufwändig oder 3D werden, sollte man das mit Windows Forms hinbekommen, siehe z.B. das Animationsbeispiel in [Artikel] Zeichnen in Windows-Programmen. Auch alles andere genannte ist machbar.

herbivore

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Und was wäre mit Silverlight.. wäre das für Euch eine Alternative?

49.485 Beiträge seit 2005
vor 11 Jahren
O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Ok, vielen Dank für die Info! Dann werde ich das schonmal ausschließen. Habe gerade noch weitere Berichte darüber gelesen.

Compact Framework 3.5, kann ich ja kein WPF benutzen, richtig?

Aber Windows Forms geht doch eigentlich alles, wenn ich das Compact Framework 3.5 nutze oder?

Ich habe auch letztens auf einem Embedded Computer mit Windows Embedded Standard 7 ein WPF Programm gestartet. Wenn ich das so machen würde, wo würde ich dann spätestens scheitern? Mal abgesehen von dem längeren Startprozess?

5.742 Beiträge seit 2007
vor 11 Jahren

Compact Framework 3.5, kann ich ja kein WPF benutzen, richtig?

Nein, meines Wissens nicht.

Aber Windows Forms geht doch eigentlich alles, wenn ich das Compact Framework 3.5 nutze oder?

Vieles geht, aber längst nicht alles.
Freiwilllig würde ich persönlich nicht auf das "richtige" Framework zugunsten des CF verzichten.

Ich habe auch letztens auf einem Embedded Computer mit Windows Embedded Standard 7 ein WPF Programm gestartet. Wenn ich das so machen würde, wo würde ich dann spätestens scheitern?

Wie meinst du das?
Windows 7 Embedded ist ein "ganz normales" Desktop-Windows, das lediglich etwas (bis gar nicht) abgespeckt ist.
Mit Windows CE hat das nichts mehr zu tun; nur dort kommt das CF zum Einsatz.

Transparenzen kann man doch auch mit PNG simulieren, oder?

Nicht so einfach bzw. so umfassend wie unter WPF.

16.835 Beiträge seit 2008
vor 11 Jahren

Windows 7 Embedded ist ein "ganz normales" Desktop-Windows, das lediglich etwas (bis gar nicht) abgespeckt ist.

Naja, die Aussage kann ich so nicht unterschreiben. Du kannst WES7 das schon sehr stark modularisieren.
Ich hab ja indirekt mit XPe und WES7 zutun und das was ich von meinem Kollegen so mit bekomm ist WES7 schon ein riesen Schritt und deutlich funktionaler und modularer als ein XPe es war.
Hier kommt bei uns auch WES7 zusammen mit WPF zum Einsatz. Und von 1 Minute Bootzeit sind wir auch weit weg.

5.742 Beiträge seit 2007
vor 11 Jahren

Naja, die Aussage kann ich so nicht unterschreiben. Du kannst WES7 das schon sehr stark modularisieren

Meine Aussage war eher auf Kernel / nutzbare Features usw. bezogen.
Klar - weglassen kann man vieles; aber man kann soweit ich weiß auch soviel dazubauen, dass man quasi ein "vollwertiges" Desktop-Windows hat.

Will sagen: So lange man Zugriff auf die Auswahl der Komponenten hat, kann man es beinahe wie ein Desktop-Windows programmieren.

T
708 Beiträge seit 2008
vor 11 Jahren

Hallo zusammen,

Um mal kurz auf die grafischen Möglichkeiten von CE einzugehen:
Es gibt ein (verrücktes) Entwicklerteam, was die Oberfläche von WindowsPhone 7 nachempfunden hat.
Leider finde ich den Link gerade aufs verderben nicht 😦
Allerdings gibt es auch eine iPod Touch UI. Das ist nur halb so beeindruckend, aber besser als nichts:
iPhone-UI-in-Windows-Mobile

Wie aber schon genannt wurde, ist es schon etwas ganz anderes für CE zu programmieren als für die Desktopversion. Angefangen bei Hintergrundbildern für Buttons, die sicherlich für deinen Anwendungsfall unabdingbar sein werden. Die darf man sich nämlich auch schon selbst erstellen...

Windows Embedded Standard 8 kommt ja nun auch bald...

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Wie aber schon genannt wurde, ist es schon etwas ganz anderes für CE zu programmieren als für die Desktopversion. Angefangen bei Hintergrundbildern für Buttons, die sicherlich für deinen Anwendungsfall unabdingbar sein werden. Die darf man sich nämlich auch schon selbst erstellen...

Windows Embedded Standard 8 kommt ja nun auch bald...

Hintergrundbilder für Buttons etc. selber zu erstellen dürfte aber das kleinste Problem sein, oder was meint ihr?
Windows Embedded Standard 8 ist unterwegs.. fragt sich nur wie lange die Hardware-Hersteller dann brauchen für die Treiber. Wenn dies ja auch ein ES ist dann handelt es sich hierbei doch auch um ein "Vollwertiges OS", oder nicht?

Hier kommt bei uns auch WES7 zusammen mit WPF zum Einsatz. Und von 1 Minute Bootzeit sind wir auch weit weg.

Mit weit weg meinst du deutlich länger?

Vieles geht, aber längst nicht alles.
Freiwilllig würde ich persönlich nicht auf das "richtige" Framework zugunsten des CF verzichten.

Was würdest Du denn tun? Welches Framework?

Mal abgesehen von der Ressourcenfreundlichkeit, meint Ihr Qt mit Embedded Linux wäre da besser geeignet? Ich habe nur wenig C++ gemacht, mit Linux kenne ich mich nur wenig aus... . C# ist da besser für mich. Ich frage mich aber ganz objektiv gesehen ob Linux mit Qt bei solchen Anwendungen vernünftiger wäre?

Und nochmal vielen Dank für Eure Antworten!!

T
708 Beiträge seit 2008
vor 11 Jahren

Hintergrundbilder für Buttons etc. selber zu erstellen dürfte aber das kleinste Problem sein, oder was meint ihr?

Das Design an sich meine ich nicht. Sondern, dass CE keine Möglichkeit für Hintergrundbilder von Buttons bietet. Das Compact Framework sieht dies einfach nicht vor.
Natürlich kann man "einfach" vom Standard Button ableiten und das OnPaint überschreiben. Da hätte ich auch schon was fertig...

Worauf ich aber hinaus wollte, ist dass es mehrere Stellen gibt wo sich CE anders verhält als das die Desktopversion vom Framework. Das DataGrid im Gegensatz zum DataGridView ist z.B. ein weiteres Beispiel.
Man muss sich dort einfach mal reinarbeiten. Nur eine 1:1 Portierung einer Desktopanwendung ist nicht möglich.
Das ist auch was winSharp93 mein. Persönlich sehe ich das ähnlich, würde es aber je Anwendungsfall differenzieren. Benötigst du wirklich nur ein paar Button und ein paar Eingabefelder, so tendiere zu CE. Möchtest du wirklich mit WPF ein schickes Programm designen, musst du wohl 1 Minute Startzeit in Kauf nehmen müssen.

Bzgl. Linux:
Dort fehlen dir natürlich die umfangreichen Funktionalitäten des Frameworks. Dazu der o.g. Tipp mit Mono.

5.742 Beiträge seit 2007
vor 11 Jahren

Was würdest Du denn tun? Welches Framework?

Ohne eure genaue Situation zu kennen, würde ich im Moment eher zu WPF unter Win 7 tendieren.

Mal abgesehen von der Ressourcenfreundlichkeit, meint Ihr Qt mit Embedded Linux wäre da besser geeignet?

Siehe:

Evtl. ist unter Linux auch Mono eine Option (du müsstest evaluieren, ob und wie gut das unter der embedded Version unterstützt wird), wenn die Lizenzkosten ein Thema sind.

Ohne fundierte Erfahrungen ein komplexes C++-Projekt zu beginnen, halte ich für recht gewagt.

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Dort fehlen dir natürlich die umfangreichen Funktionalitäten des Frameworks. Dazu der o.g. Tipp mit Mono.

Sorry aber was meinst du mit Mono?

Auch wenn Silverlight ausstirbt ist es doch momentan die einzige Möglichkeit ein anspruchsvolles GUI in Embedded Geräte zu integrieren, oder nicht? Sonst müsste man solange noch kein Windows Embedded Standard 8 raus ist damit programmieren.. Einige Dinge könnte man ja später übernehmen.

5.742 Beiträge seit 2007
vor 11 Jahren

Sorry aber was meinst du mit Mono? Google hilft

ein anspruchsvolles GUI in Embedded Geräte zu integrieren, oder nicht? Sonst müsste man solange noch kein Windows Embedded Standard 8 raus ist damit programmieren

Kommt darauf an, was genau du als Embedded Gerät ansiehst.
Wenn wir von ARM reden, hast du mit der Aussage (unter Windows) recht.
Für x86 (gibt's auch einige "embedded" Hardware, die das einsetzt), ist das hingegen kein Problem.

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Ich rede hier von einem kleinen Rechner mit RISC CPU 806 Mhz, dann hätte ich noch einen Atom 1.1 Ghz und ein ARM Rechner ... die Entscheidung ist noch net gefallen..

O
Osirisbob2406 Themenstarter:in
33 Beiträge seit 2010
vor 11 Jahren

Hier kommt bei uns auch WES7 zusammen mit WPF zum Einsatz. Und von 1 Minute Bootzeit sind wir auch weit weg.

@Abt: Kannst Du mir sagen was Du damit meinst? Viel länger als 1 Minute oder eher weniger?