Hier Informationen und Texte zu Beiträgen aus
Computer:Club²-Audio und Computer:Club²-TV
CC2-TV 140: Grafische Benutzeroberflächen mit dem Raspberry PI
Für den Raspberry PI (RASPI) habe ich ja schone einige kleine Testprogramme geschrieben und teilweise auch in den Computer:Club² TV Sendungen gezeigt. Aber, wie aus der Windows-Welt gewohnt würde ich gerne auch die Programme mit grafischen Benutzeroberflächen ausstatten. Also wenn auf dem PiFace ein Ausgang geschaltet wird, sollte das per Mausklick geschehen. Die Linux-Welt bietet hier einige Bibliotheken und Programme, die auf dem kleinen Raspberry laufen. Meine Entscheidung fiel auf die GTK+-Bibliothek und Glade als Entwicklung Tool für die Grafik der Benutzeroberfläche. Als Programmiersprache bleib es bei C.
Es ist schon einige Vorarbeit notwendig bevor alles läuft. Vor allem ist der RASPI kein Turborechner. Es kostet viel Zeit die Glade zu starten um eine grafische Benutzeroberfläche zu gestalten. Aber auch dafür gibt es Lösungen. Auf meinem Windowsrechner habe ich Virtual Box als Virtualisierungssoftware installiert. Darauf läuft Open Suse Linux. Hier ist dann GTK+ und Glade installiert und als Programmierumgebung habe ich Geany gewählt.
Glade erzeugt ein XML-File, das im C-Sourceprogramm eingebunden wird und beim Übersetzen mit dem gcc-Compiler in die grafischen Elemente aus der GTK+ Bibliothek gewandelt wird. Mit einem entsprechende Makefile kein Problem.
Im Gegensatz zur Entwicklung mit dem Windows SDK muss man allerdings wissen, welche Funktionen die einzelnen grafischen Elemente erfüllen. Diese müssen als CallBack im C-Programm eingefügt werden. Ist man von der Windows-Welt, wo man nur auf en Element klickt und automatische wird der Funktionsumfang angezeigt, bedeutet die Entwicklung hier mehr Handarbeit. Im Anfang habe ich mich daran gewöhnen müssen, was nicht immer leicht war. Die Dokumentation im Netz hilft allerdings weiter, wenn man weiß, was man Fragen muss.
Ist das Programm auf dem Linux-Rechner entwickelt, so kann es auf den RASPI überspielt werden. Ich nutze dazu eine kleine NAS, die sowieso im Büroumfeld steht. Sie dient auch gleichzeitig als Datensicherung. Auf dem RASP wird dann dass Programm neu übersetzt, weil der ARM-Prozessor nicht Bytekompatibel mit dem PC ist. Die Libraries für den RASPI muss man natürlich auch einbinden, wenn man die Erweiterungsmodule, wie im Studio das PIFace ansteuern will. Die Codezeilen dafür schreibe ich in der Regel schon auf dem PC und kommentiere sie mit #define Befehlen aus.
Weitere Informationen unter:
Zum Computer:Club² Videoarchiv:
http://www.cczwei.de/index.php?id=issuearchive
Der Computer:Club² YouTube-Kanal:
https://www.youtube.com/user/computerclubzwei