Hallo zusammen, ich habe vor mit einem Raspberry Pi 3, einem handelsüblichem 10" TFT Bildschirm und 4 Tastern eine Mensch-Maschinen-Schnittstelle bzw. ein "User Interface" aufzubauen. Die eben genannte Kombination soll dann über die serielle Schnittstelle mit der Maschine kommunizieren. Die Aufgabe vom User Interface ist somit: -Tastendrücke an die Maschine melden -Informationen (Parameter) von der Maschine über das Display ausgeben Jetzt gibt es sicherlich "fertige" Softwarelösungen, um sich solch ein User Interface zusammenzustricken. Da ich aber völlig offen sein will, was die Gestaltung und Funktionen des User Interface angeht, will ich alles selbst entwickeln. Ich habe derzeit eine fertige Lösung am laufen die wie folgt aussieht: Auf dem Rspberry läuft als Betriebssystem Raspbian Stretch with desktop (Version vom September 2017). Die Realisierung des User Interface läuft über NodeJS und einem Webbrowser, der direkt nach dem bootvorgang aufgerufen wird. Es ist also über einen Webserver und einer Website realisiert. Auf dem Webserver läuft ein Programm ab, welches die Kommunikation mit der Maschine regelt und die Tastendrücke auswertet. Über ein Websocket (socket.io) werden dann die nötigen anzuzeigenden Werte auf die Website übertragen. Funktioniert soweit alles, wirkt mir jedoch sehr aufgebläht und träge. Es gibt doch sicher eine smartere Lösung? Mal als Beispiel denke ich da an die neue Lidl Monsieur Cuisine Connect Küchenmaschine. Dort dient ein Touch Screen als User Inferface. Dieses muss ja auch in irgendeiner Form mit der Hardware kommunizieren, um z.B. den Motor zu starten. Hier läuft Android unter der Haube, dazu gibt es ein Video unter YouTube https://www.youtube.com/watch?v=4JxfYi2V_3s Dies erscheint mir eine elegantere Lösung zu sien, als meine bisherige. Könnte ihr mir einen Rat geben, wie ich da am besten rangehen kann? Ich habe schon nach Fachbüchern oder auch bei google gesucht, aber ich finde nichts passendes. Im Prinzip geht es darum ein User Interface mit Zugriff auf Hardwareschnittstellen (GPIO, serielle Schnittstelle) auf dem Raspberry Pi 3 mithilfe von Android zu realisieren.
Du kannst das UI mit z.Bsp. QT machen. Das läuft dann halt nativ auf deinem RaspPi. Als nächstes kannst du dir überlegen ob dein Programm als Blob daherkommt und auch die Ansteuerung der Maschine macht, oder ob du das in einen Service auslagerst und über z.Bsp. Sockets ansprichst.
Ich habe nicht sooo viel Erfahrung mit dem Pi, aber warum arbeitest Du mit einem Webbrowser und Webserver? Android ist mEn auch nicht wirklich schnell. Ich würde die Oberfläche direkt auf Raspbian aufsetzen, wenn sonst nichts gefordert ist, kannst Du sogar den Windowmanager rausschmeißen und direkt auf X starten. Es gibt verschiedene Möglichkeiten, das Benutzerinterface mit direkter Ansteuerung der Hardware zu bauen. Eine davon ist Tcl/Tk mit der passenden Bibliothek für die Hardwareansteuerung: http://chiselapp.com/user/schelte/repository/piio/wiki?name=Build+instructions Damit hast Du dann Benutzerinterface und Ansteuerung "aus einem Guss" und Du musst auch nur dieses Programm starten: kein Webbrowser, kein Server etc. Für Deine Geschwindigkeitsanforderungen sollte das schon reichen. Direkte Anbindung der Hardware gibt es natürlich auch für andere Sprachen (Qt, GTk, Python) - ich bin halt einfach sehr Tcl/Tk-affin ;-)
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.