Hallo Forengemeinde. Um meine (kleinen) Programmierkenntnisse in C/C++ auszubauen und mich gleichzeitig mit HTML zu beschäftigen, würde ich gerne ein GUI auf HTML Basis erstellen und daraus Funktionen aus einem C/C++ Code starten. Das ganze soll dann auf einem Raspberry Pi laufen. Zuerst würde ich damit einwenig mit den GPIOs experimentieren. Wie könnte der Ansatz für mein Vorhaben aussehen? Wie könnte die Schnittstelle zwischen meinem C Code zur HTML GUI aussehen? Ich wäre um jede Anregung dankbar. Schönes Wochenende und besten Gruß Dominik
kommt darauf an, wo du anfangen willst. Ohne eine kompletten webserver zu programmieren, kannst du einfach ein CGI Programm schreiben. Wenn du alles selber machen willst, dann musst auch den Webserver selber schreiben. Zum Datenaustausch biete sich json an, das lässt dann recht einfach im Browser per JavaScript verarbeiten.
Hallo Peter Danke für die schnelle Antwort. Da die HTML und Server Geschichte für mich Neuland ist habe ich mal schnell gegoogelt was CGI ist. Es scheint genau die von mir gesuchte Schnittstelle zu sein. Wenn ich das richtig verstehe unterstützt C das CGI Protokoll. Ich kann also Daten von meiner HTML Seite die auf irgendeinem Browser ausgeführt wird, lesen und schreiben, im C Code. Gibt es eine Bibliothek für CGI die ich in meinen C Code einbinkann? Gruß Dominik
Dominik P. schrieb: > Wenn ich das richtig verstehe unterstützt C das CGI Protokoll. nein. CGI ist ein Standard den man von C aus nutzen kann. (wie auch mit jeder anderen Sprache). > Ich kann also Daten von meiner HTML Seite die auf irgendeinem Browser > ausgeführt > wird, lesen und schreiben, im C Code. das klingt merkwürdig. Mit CGI kann man aus C Daten für den Browser bereitstellen. > Gibt es eine Bibliothek für CGI die ich in meinen C Code einbinkann? keine Ahnung, bestimmt. Aber ich würde dir Raten erst mal ohne anzufangen, dann versteht du wie das genau abläuft. > Es scheint genau die von mir gesuchte Schnittstelle zu sein. CGI hat aber den Nachteil, das das "Programm" bei jeden Aufruf vom Browser gestartet und dann beendet wird. Es ist also damit nicht (einfach) Möglich sich Sachen zu merken.
Das ruft doch geradezu nach Wt: https://www.webtoolkit.eu/wt Ein generelles Verständnis darüber, was eine "HTML GUI" eigentlich ist und wie eine Web-Anwendung konzeptionell funktioniert, sollte man sich aber auf jeden Fall zuerst aneignen, ansonsten dürfte das ganze Vorhaben ziemlich haarig werden.
Vielleicht sollte ich meine Ziele etwas kleiner stecken. Gibt es eine einfachere Methode den Raspberry Pi mit einer GUI zu programmieren am liebsten mit C. HTML kann ich mir unabhängig davon aneignen.
Dominik P. schrieb: > Gibt es eine einfachere Methode den Raspberry Pi mit einer GUI zu > programmieren am liebsten mit C. wo soll denn die Gui dargestellt werden? Direkt am Rapi oder remote?
Um einmal die GUI-Programmierung an sich zu üben, würde ich ein entsprechendes Tutorial auf dem PC durcharbeiten. Danach kann man die erworbenen Kenntnisse immer noch auf einem Raspberry Pi mit Display oder sonstwo umsetzen.
Witty schrieb: > Das ruft doch geradezu nach Wt: https://www.webtoolkit.eu/wt Wt hat mich auch schon mal interessiert, aber ich habe es noch nicht geschafft, mir anzusehen. Als alternative für C++ fällt mir noch poco ein. Ein Beispiel: https://macchina.io/docs/00100-GuidedTour.html Wenn man dynamische Webseiten programmieren möchte, ist C++ nicht die erste Wahl. Da haben sich andere Sprachen + Frameworks etabliert. Auf deinem Raspi läuft vermutlich ein Linux-System darauf. Da gibt's ein paar Möglichkeiten eine GUI zu programmieren. Musst Du ja nicht auf dem Raspi machen... Ich denke viele programmieren mit Python auf dem Raspi. Da findet mal auch gleich was zum Thema Webserver: https://www.raspberrypi.org/learning/python-web-server-with-flask/ Vllt. ist eine bessere Wahl. Um Programmierkenntnisse zu verbessern, ist Python sicherlich keine schlechte Wahl. Da gibt es auch einiges an Beispielen und man schafft in kurzer Zeit mehr, da es viele Bibliotheken gibt, die man benutzen kann.
Mano W. schrieb: > Witty schrieb: >> Das ruft doch geradezu nach Wt: https://www.webtoolkit.eu/wt > Wt hat mich auch schon mal interessiert, aber ich habe es noch nicht > geschafft, mir anzusehen. Wirklich viel habe ich selbst auch noch nicht damit gemacht, abgesehen von einem kleineren Hobbyprojekt. Da ich sonst relativ viel mit Qt mache, hatte mich einfach mal interessiert, wie sich wohl so ein "Web-Qt" anfühlen mag. Ist auf jeden Fall mal eine andere Herangehensweise abseits der sonst so üblichen Web-Frameworks. > Als alternative für C++ fällt mir noch poco ein. Ein Beispiel: > https://macchina.io/docs/00100-GuidedTour.html Das sieht auch nicht schlecht aus. Würde ich im direkten Vergleich zu Wt jetzt mal als eher Low Level einordnen. Kommt halt am Ende darauf an, was man konkret machen will. > Wenn man dynamische Webseiten programmieren möchte, ist C++ nicht die > erste Wahl. Da haben sich andere Sprachen + Frameworks etabliert. Das ist wohl wahr. Python/web2py wäre da mein "Geheimtipp". Für spezielle Fälle, z.B. wenn man im Backend an GPIOs wackeln will, bietet es sich aber durchaus mal an, C++ einzusetzen. Und natürlich in solchen Fällen, in denen man gezielt seine C++-Kenntnisse verbessern will. :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.