Guten Tag,
ich habe ein möglicherweise ungewöhnliches Anliegen in Bezug auf die
Mikrocontroller-Programmierung. Aktuell sitze ich an einem relativ
umfangreichen Mikrocontroller-Programm, werde oft weg von zu Hause sein
und möchte die Zeit nutzen, um weiter an meinem Projekt zu arbeiten.
Mein Laptop ist für die von mir bevorzugte IDE jedoch zu langsam und die
Schaltung ist auch nicht wirklich portabel, daher werde ich beides
auswärts nicht nutzen können. Mal abgesehen davon, dass ich im Zug auch
nicht spontan einen Sensor oder eine LED anbringen kann.
Ich habe jedoch vor langer Zeit unter Windows in C++ ziemlich
umfangreiche Programme geschrieben, oft mit GUI und mit Kommunikation
zwischen meinen Anwendungen. Inzwischen bin ich jedoch auf Linux
umgestiegen und programmiere mehr im Backend-Bereich mit Webservern und
Datenbanken. Da es so etwas wie einen Simulator in der IDE von STM nicht
zu geben scheint, kam mir die Idee, dass ich vielleicht unter Linux eine
minimale GUI programmiere, die meine Peripherie darstellt. Im Grunde
würden mir ein Textfeld als Display sowie diverse Steuerelemente,
Eingabefelder und bunte Flächen als LEDs genügen, um meine Peripherie
und die Sensorik abzubilden. Diese GUI sollte mit einem C-Programm
kommunizieren, dass die Logik der Steuerung abbildet. Das mag vielleicht
übertrieben erscheinen, aber ich werde jetzt viel Zeit mit der
Programmierung grundsätzlicher Abläufe, Funktionen und der Kommunikation
zwischen Funktionen verbringen und das habe ich als grobes Schema, quasi
so etwas wie eine StateMachine, bereits ohne Mikrocontroller lauffähig
als C-Programm in Code::Blocks abbilden können und Code:Blocks läuft auf
meinem Laptop schnell genug. Mir fehlt im Grunde nur noch die GUI, um
z.B. mit Buttons Änderungen an Sensoren zu simulieren und die Reaktionen
der Steuerung zu visualisieren. Wenn ich die GUI z.B. mit PHP/HTML
programmiere, könnte ich das später sogar für die Visualisierung der
Steuerung im LAN verwenden.
Ich suche vermutlich also eine Lösung, um unter Linux eine einfache GUI
zu programmieren, die Messages mit einem klassischen C-Programm
austauscht. Ich bin mir aber nicht sicher, wie ich das am schnellsten
umsetzen kann. GUI und C scheint ja nicht so sinnvoll zu sein, da nimmt
man anscheinend auch unter Linux eher C++ mit entsprechenden Toolkits
wie QT oder wxWidgets. Aber welches ist der sinnvollste Weg, um Ein- und
Ausgaben mit dem C-Programm zu kombinieren? Mich interessiert sehr, wie
ihr das Problem lösen würdet, also ob ihr z.B. QT für die GUI und dann
NamedPipes für die Kommunikation mit einem C-Konsolen-Programm nehmen
würdet, oder ob man die GUI doch gleich mit HTML/PHP programmieren
sollte?
Herzliche Grüße
Karlfried