Moin,
Ich baue beruflich allerlei kleinere und größere Messgeräte- und
Aufbauten zusammen. Dabei sind in der Regel serielle Schnittstellen
beteiligt, entweder um irgendwelche Sensoren auszulesen oder aber meine
verbauten Mikrocontroller zu steuern.
Bisher habe ich immer unter Windows mit VB.NET mehr oder weniger
aufwendige Benutzeroberflächen dazu zusammengeklickert, mit denen ich
und alle späteren Benutzer einwandfrei zufrieden waren.
Zumeist geht es wirklich nur darum, per Button Befehle per serieller
Schnittstelle zu verschicken, auf Ausgaben zu lauschen und diese
gelegentlich zu plotten oder in eine Datei zu schreiben.
OK, einmal war eine Webcam einzubinden, anzusteuern und auch Bilder
aufzuzeichnen. Mit Visual Studio keine große Sache.
Nun hat mich allerdings Windows10 solange mit seinen (NICHT-) Updates
und unabwendbaren nächtlichen Reboots genervt, dass ich auf Linux Mint
mit Cinnamon Desktop umgestiegen bin.
Wohl auch weil ich Linux seit Jahren regelmäßig für diverse Embedded
Projekte verwendet habe, bin ich damit ziemlich glücklich.
*TL;DR*
Mir fehlt unter Linux noch etwas wirklich vergleichbares zum VS, mit dem
ich auf die Schnelle "schöne" GUIs zustande bringen kann. Wenn die dann
auch noch unter Windows laufen würden wäre das natürlich perfekt, aber
nur für Linux wäre erstmal OK. Dann müssen eben noch ein paar Rechner
umgestellt werden ;)
Kann mir da jemand einen guten Tip geben? Ich habe mich da natürlich
auch schon umgesehen, aber vielleicht kennen hier ja mehr Leute das
Problem und haben etwas geniales gefunden...?
Vielen Dank!
PS: Die Sprache ist mir einigermaßen egal, C, C++ und Python sind mir
geläufig, Basic sowieso, fällt aber wohl eher raus...
Ich hätte jetzt auch Qt genommen, am besten mit QML. Mit dem QtCreator
als IDE kriegt man da auch schnell eine ansehnliche,
plattformunabhängige GUI hingezaubert.
Slippin J. schrieb:> Ich hätte jetzt auch Qt genommen, ...> plattformunabhängige GUI hingezaubert.
Ist bei mir schon ein paar Jahre her, aber mit Qt kann man nicht nur die
GUI, sondern die gesamte Software Betriebssystem unabhängig machen. Qt
bietet nicht nur GUI sondern auch alles andere was man braucht
(Filehandling usw.) portabel an.
umsteiger schrieb:> Mir fehlt unter Linux noch etwas wirklich vergleichbares zum VS, mit dem> ich auf die Schnelle "schöne" GUIs zustande bringen kann.> [...]> PS: Die Sprache ist mir einigermaßen egal, C, C++ und Python sind mir> geläufig, Basic sowieso, fällt aber wohl eher raus...
Unter Python bieten sich natürlich das nicht sehr hübsche Tkinter, sowie
das optisch etwas gefälligere Tix an. Ansonsten kannst Du Qt benutzen:
sieht gut aus, bietet mit Qt Designer eine GUI zum "Malen" von GUIs und
mit Qt Creator sogar eine komplette IDE, und kann von verschiedenen
Programmiersprachen benutzt werden, darunter C++ und Python.
Aber erst einmal die jeweiligen Lizenzbedingungen lesen, besonders die
von Qt (inzwischen LGPL; ist zwar nicht so wild, aber es ist hier bei
Closed Source meist sinnvoll, dynamisch zu linken). So simpel wie mit VS
und den beiliegenden Libs (kompilieren, linken und weg damit) ist es
nicht immer.
Gibt es auch Toolkits/Libs, die GUIs für Touchscreen unterstützen? (Mit
Buttons hat man da keine Probleme, aber was ist z.B. mit File-Dialogen,
häufig sind die ja zu klein)
Zeigefinger schrieb:> Aber erst einmal die jeweiligen Lizenzbedingungen lesen, besonders die> von Qt (inzwischen LGPL; ist zwar nicht so wild, aber es ist hier bei> Closed Source meist sinnvoll, dynamisch zu linken). So simpel wie mit VS> und den beiliegenden Libs (kompilieren, linken und weg damit) ist es> nicht immer.
LGPL v3 bringt da noch ein paar mehr Bedingungen mit. Unter anderem
musst du was mitliefern um deine Quellen von Qt übersetzen zu können.
Also auch eine VM mit Crosscompiler usw. Bereithalten falls Mal jemand
nachfrägt.
Matthias
Der TO hat Portabilität nicht als höchste Priorität eingestuft und
arbeitet unter Linux - da finde ich Gambas, wie schon genannt wurde,
ganz
empfehlenswert.
PS. Hat hier jemand Labview geschrien? Weiter auseinander könnte unsere
Auffassung der Dinge gar nicht sein...
Zeigefinger schrieb:> Aber erst einmal die jeweiligen Lizenzbedingungen lesen, besonders die> von Qt (inzwischen LGPL; ist zwar nicht so wild, aber es ist hier bei> Closed Source meist sinnvoll, dynamisch zu linken).
Es ist bei Closed Source nicht nur "meist sinnvoll", sondern zwingend
erforderlich, um die Lizenzbedingungen einzuhalten.
> So simpel wie mit VS und den beiliegenden Libs (kompilieren, linken und> weg damit) ist es nicht immer.
Man kann auch eine Qt-Lizenz erwerben. Dann ist es da genauso einfach.
Wenn man's für umme will, muss man eben damit leben, dass es dynamisch
gelinkt werden muss.
Rolf M. schrieb:> Man kann auch eine Qt-Lizenz erwerben. Dann ist es da genauso einfach.> Wenn man's für umme will, muss man eben damit leben, dass es dynamisch> gelinkt werden muss.
Außer in ganz wenigen Ausnahmefällen wie Portable-Versionen will man
doch ohnehin immer dynamisch linken.
Für die von dir genannten Aufgaben verwende ich ganz gerne "Node Red".
Ist sozusagen LabView für Arme. Da ich ganz gerne mit dem Raspberry
arbeite und dort bei dem Debian Jessy das Node Red vorinstalliert ist,
ist das schon eine ganz praktische Sache.
Per default ist die UI bei Node Red einfach gehalten. Das kann man aber
per Html aufbohren.
https://nodered.org/
Epoxyd H. schrieb:> Für die von dir genannten Aufgaben verwende ich ganz gerne "Node Red".> Ist sozusagen LabView für Arme. Da ich ganz gerne mit dem Raspberry> arbeite und dort bei dem Debian Jessy das Node Red vorinstalliert ist,> ist das schon eine ganz praktische Sache.>> Per default ist die UI bei Node Red einfach gehalten. Das kann man aber> per Html aufbohren.>> https://nodered.org/
Ist das nicht so eine Art Webseite? Dann könnte man ja auch noch Python
mit Flask ins Feld führen. ;-)
umsteiger schrieb:> PS: Die Sprache ist mir einigermaßen egal, C, C++ und Python sind mir> geläufig, Basic sowieso, fällt aber wohl eher raus...
Wenn's VB.Net war könnte man auch dabei bleiben insb. wenn es vorher nur
WinForms-Anwendungen waren -> Mono und als IDE MonoDevelop.
http://www.monodevelop.com/http://www.mono-project.com
(VB hat allerdings nicht die höchste Priorität, weder bei mono noch der
IDE)
Sheeva P. schrieb:> Epoxyd H. schrieb:>> Für die von dir genannten Aufgaben verwende ich ganz gerne "Node Red".>> Ist sozusagen LabView für Arme. Da ich ganz gerne mit dem Raspberry>> arbeite und dort bei dem Debian Jessy das Node Red vorinstalliert ist,>> ist das schon eine ganz praktische Sache.>>>> Per default ist die UI bei Node Red einfach gehalten. Das kann man aber>> per Html aufbohren.>>>> https://nodered.org/>> Ist das nicht so eine Art Webseite? Dann könnte man ja auch noch Python> mit Flask ins Feld führen. ;-)
Ja das ist richtig. Node-Red läuft als Server und die Clients bekommen
eine Webseite angezeigt. Hat halt den Vorteil, dass alle Betriebssystem
mit Browser Daten anzeigen lassen können.
Im Übrigen habe ich bei dem erste Posting eine Art Dejavu gehabt:
- auch ich bin genervertermaßen von Windows auf Linux Cinnamon
umgestiegen
- Ich habe auch vorher jahrelang mit .Net (C#) Sensoren angesprochen,
Serielle Schnittstellen bedient etc.
- auf der Suche nach einem ähnlichen Tool bin ich dann auch über
Monodevelop gestolpert. Hat auch ganz gut funktoniert, hat sich aber für
mein Gefühl nicht so rund und ein bischen hakelig "angefühlt".
Dann bin ich halt auf Node-Red gestoßen und bin dabei geblieben, da es
für mich eine einfache Möglichkeit ist mein bischen Sensoren auslesen
und Aktoren bedienen ohne große Aufwand zu ermöglichen. Ein Raspberry,
der den Node-Red Server hosted läuft bei mir eh ständig.
Diese Lösung ist nicht ganz das was der TO sucht. Es wäre aber eine
Alternative.