Hallo, ich möchte gerne eine Oberfläche erstellen, wo ich Daten (Temperatur, Nachrichten, Daten aus dem Internet) auf einem Bildschirm (Computerbildschirm) darstellen möchte. Diesen möchte ich dann im Flur aufhängen. Da ich keinen Richtigen Computer mit dahinstellen möchte, habe ich mir gedacht, dass ich das ganze mit einem Raspberry Pi mache. Allerdings weiss ich nicht, wie ich den RaspberryPi Programmieren kann. Die Oberfläche wollte ich mit QT und C++ erstellen. Kann ich auf meinem Computer und Qt eine Gui erstellen und diese dann auf dem RaspberryPi flashen? Oder muss ich direkt auf dem RaspberryPi Programmieren? Habe niergends eine Beschreibung gefunden, wie ich da vorgehen muss. Karsten
Karsten schrieb: > ich möchte gerne eine Oberfläche erstellen, wo ich Daten (Temperatur, > Nachrichten, Daten aus dem Internet) auf einem Bildschirm > (Computerbildschirm) darstellen möchte. Diesen möchte ich dann im Flur > aufhängen. Da ich keinen Richtigen Computer mit dahinstellen möchte, > habe ich mir gedacht, dass ich das ganze mit einem Raspberry Pi mache. > Allerdings weiss ich nicht, wie ich den RaspberryPi Programmieren kann. > Die Oberfläche wollte ich mit QT und C++ erstellen. Kann ich auf meinem > Computer und Qt eine Gui erstellen und diese dann auf dem RaspberryPi > flashen? Oder muss ich direkt auf dem RaspberryPi Programmieren? Habe > niergends eine Beschreibung gefunden, wie ich da vorgehen muss. Du kannst auf Deinem lokalen Rechner mit C++ und Qt eine GUI schreiben. Damit die dann auf dem RasPi läuft, wirst Du sie allerdings auch auf dem RasPi übersetzen müssen, denn der hat eine ARM-CPU und Dein lokaler Rechner vermutlich nicht. Flashen mußt Du dabei allerdings nichts, nur den Quellcode der Anwendung von Deinem lokalen Rechner auf den RasPi übertragen und sie dann dort noch einmal auf dem RasPi übersetzen. Der RasPi hat nämlich ein vollständiges Linux-Betriebssystem mit allem, was Du zum Übersetzen Deiner Qt-Anwendung brauchst: C++-Compiler mit Build-Werkzeugen (Paket "build-essential"), Qt selbst sowie die Qt-Werkzeuge wie qmake & Co. Am Rande bemerkt: meine persönliche Erfahrung ist, daß solche Werkzeuge zur Datenerfassung und -Visualisierung niemals fertig sind, meist keine hohen Anforderungen an Performanz und Latenz haben, und es deswegen oft besser ist, so etwas mit einer Skriptsprache wie Python, Perl, oder Ruby zu entwickeln. Zudem kommt man später häufig auf die Idee, daß es doch wunderbar wäre, sich die Daten auch auf dem Tablet oder dem Smartphone anschauen zu können. Deswegen greife ich in solchen Fällen meistens zu einem anderen Weg und schreibe eine schicke Webanwendung, zum Beispiel mit Python und Flask. Die wird dann auf dem RasPi von einem Webbrowser im Kiosk-Modus angezeigt, kann aber auch von anderen Geräten im Netzwerk abgerufen und angezeigt werden, sofern diese einen Webbrowser benutzen. Mit JS-Bibliotheken wie jqWidgets, Flot oder jQplot kann man sehr ansprechende Webanwendungen zur Datenvisualisierung entwickeln.
Qt geht auch hervorragend in Kombination mit Python, dann spart man sich zumindest das erneute Kompilieren auf dem Pi. Andererseits kann man natürlich durchaus gleich auf dem Pi entwickeln, dann wohl am bequemsten remote per VNC.
MaWin schrieb: > Qt geht auch hervorragend in Kombination mit Python, dann spart man sich > zumindest das erneute Kompilieren auf dem Pi. > > Andererseits kann man natürlich durchaus gleich auf dem Pi entwickeln, > dann wohl am bequemsten remote per VNC. Wozu denn VNC? Für Windows-User gibt es Moba XTerm und unter UNIXoiden existiert "ssh -X", beides ohne Einrichtungsaufwand auf dem RasPi. ;-)
Sheeva P. schrieb: > Deswegen greife ich in solchen Fällen meistens zu einem anderen Weg und > schreibe eine schicke Webanwendung, zum Beispiel mit Python und Flask. Hast du dazu einige Screenshots? Würde mich interessieren, was damit so zu realisieren ist wie du es sagt.
Du kannst auch wunderbar Cross-Compilieren. Also am PC programmieren, kompilieren, automatisch per SSH auf den rpi schieben lassen und mit debugger starten. fühlt sich an, als wäre es auf dem PC :D Hier noch ein paar Links: https://wiki.qt.io/RaspberryPi_Beginners_Guide https://wiki.qt.io/Native_Build_of_Qt5_on_a_Raspberry_Pi Ich habe die Anleitung hier am besten gefunden: https://wiki.qt.io/RaspberryPi2EGLFS
Kleinere Programme schreibe ich direkt auf dem Raspi. Der Rechner ist schnell genug dafür. Es ist schneller als manche 'Workstations' auf denen ich Anfang des Jahrtausends beruflich entwickeln mußte. Einzig der Flash-Speicher auf SSD bremst etwas. Größere PRogramm habe ich auf einem X86 PC mit normalem Linux entwickelt. Läuft dort alles wird am Am Ende einmal aus dem Raspi übersetzt.
Du kannst es im VisualStudio Programmieren mit c++, c#, vb, Python, node.js. Per Drag&Drop die Oberfläche erstellen. --> https://developer.microsoft.com/de-de/windows/iot/samples (Konkretes Beispiel: https://microsoft.hackster.io/en-US/windows-iot/weather-station-v-2-0-8abe16?ref=search&ref_id=weather&offset=0)
Sheeva P. schrieb: > Deswegen greife ich in solchen Fällen meistens zu einem anderen Weg und > schreibe eine schicke Webanwendung, zum Beispiel mit Python und Flask. > Die wird dann auf dem RasPi von einem Webbrowser im Kiosk-Modus > angezeigt, kann aber auch von anderen Geräten im Netzwerk abgerufen und > angezeigt werden, sofern diese einen Webbrowser benutzen. Mit > JS-Bibliotheken wie jqWidgets, Flot oder jQplot kann man sehr > ansprechende Webanwendungen zur Datenvisualisierung entwickeln. Stichwort qwebengine oder qtwebkit. Alles kein Problem. Wobei ich zugeben muss nur mit qtwebkit bisher gearbeitet zu haben (Dank Apple deprecated).
Es gibt viele Möglichkeiten. Ich habe es mit C++ und Gtk mal gemacht. Eine Anwendung, die fullscreen direkt nach dem Booten startet, man macht quasi den raspi an und das war's. Die Anwendung läuft dann. Die inputs holt man sich dann von wo man will. Für webzugriff wäre der raspi 3 empfehlenswert, da wlan vorhanden. Alle Einstellungen natürlich vorher definieren, testen, usw. Man kann dann später den raspi als webserver benutzen und es als webseite zur Verfügung stellen oder dann noch schnittstelllen hinzufügen, wenn man z.b. von extern zugreifen will. Ich würde in dem fall einfach mal netbeans auf dem raspi installieren und mit java eine gui erstellen (swing oder so). Geht recht schnell. Ich habe mal an einen Tag mit null Ahnung von swing, eine gui erstellt, die 2D Objekte dynamisch bewegen konnte. Dann sind ein paar Text-Infos ein Kinderspiel.
Dennis X. schrieb: > Sheeva P. schrieb: >> Deswegen greife ich in solchen Fällen meistens zu einem anderen Weg und >> schreibe eine schicke Webanwendung, zum Beispiel mit Python und Flask. > > Hast du dazu einige Screenshots? Würde mich interessieren, was damit so > zu realisieren ist wie du es sagt. An meine eigenen UIs komme ich gerade nicht, die laufen woanders. Aber die beiden Screenshots bei jqwidgets.com und der Wikipedia geben Dir eine gute Idee: http://www.jqwidgets.com/wp-content/images/jqwidgets-intro-chart.png https://upload.wikimedia.org/wikipedia/en/5/5c/JQWidgets_software_screenshot.png
Jean player schrieb: > Stichwort qwebengine oder qtwebkit. > Alles kein Problem. BTDT, und es gibt Probleme: denn QWebKit hat Memory Leaks, QWebEngine gibt es IIRC noch nicht unter Debian.
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.