Experimente mit Himbeerkuchen-Programmierung

Der Kleinstcomputer Raspberry Pi hat in den vergangenen Monaten auch in Deutschland einen ungeahnten Siegeszug angetreten. Da er von Haus aus Python unterstützt und darauf auch FreePascal läuft, haben wir ihn uns angesehen.

Im profanen Charme vergangen geglaubter GUI-Tage strahlt Fenstermanager LXDE unter Raspbian Wheezy dem Benutzer entgegen. Das lässt das Herz all jener höher Schlagen, die Startknopf und Startmenü anderswo missen müssen.
Im profanen Charme vergangen geglaubter GUI-Tage strahlt Fenstermanager LXDE unter Raspbian Wheezy dem Benutzer entgegen. Er lässt das Herz all jener höher Schlagen, die Startknopf und Startmenü anderswo missen müssen.

Vom Preisleistungsverhältnis her setzt der Raspberry Pi, was offene Computersysteme angeht, neue Maßstäbe. Mit einem kompletten Set aus Platine, Netzteil und Gehäuse kostet er so um die 50 EUR, ideal, wenn man schon älteren Computerschrott hat wie Monitor, Tastatur und Maus. Auf ihm laufen Systeme, welche die ARM-Architektur unterstützen, z. B. Raspbian, ein für den kleinen Kerl optimiertes Debian-Derivat.

Auf der Platine werkelt ein ARM-Prozessor mit 700 Mhz, 512 MB RAM sind in aktuellen Versionen verbaut, an Anschlüssen stehen bei der verbreiteten B-Variante 2x USB-2.0, ein LAN-Anschluss mit 100 MBit, Videoanschlüsse für HDMI und FBAS sowie eine Audiobuchse zur Verfügung. Einen Festplattenanschluss hat der Raspberry Pi nicht, ebensowenig ein Onboard-Bios, stattdessen bootet er generisch von einer SD-Karte, die man dafür vorbereiten und in den entsprechenden Slot der Platine stecken muss.

Klein ist nicht nur Preis und Energieaufnahme, sondern der gesamte Raspberry Pi. Er hat so in einer Jackentasche platz.
Klein ist nicht nur Preis und Energieaufnahme, sondern der gesamte Raspberry Pi. Er hat so in einer Jackentasche platz.

Von Haus aus unterstützt der Raspberry Pi Python als Programmiersprache, in der aktuellen Version des offiziellen Betriebssystems Raspbian Wheezy ist das Python in den Versionen 2.7 und 3.2. Das kommt uns sehr entgegen, da bei Nitramica Arts auch Python 3.2 zum Einsatz kommt. Die zahlreichen Bücher zur Spieleprogrammierung mit Python auf dem Raspberry Pi suggerieren, dass dies auch problemlos mit 3.2 möglich ist. Allerdings unterstützt die dafür meist verwendete Programmierbibliothek PyGame nur Python 2.x – für neuere 3er-Versionen liegen nur Alphaversionen vor, die sich zudem nicht so einfach über das Repository nachinstallieren lassen. Das ist schade, aber gravierender ist der Umstand, dass sich die eigentliche Stärke des Raspberry Pi noch nicht einfach mit PyGame nutzen lässt, sein Grafikprozessor, der eigentlich – man ist da wirklich positiv überrascht – MP4-Videos in HDMI-Auflösung ruckelfrei decodieren kann und auch OpenGL ES 2.0 unterstützt. Allerdings wird an Lösungen gearbeitet. Es dürfte also nur eine Frage der Zeit sein, bis man hardwarebeschleunigte Spiele für den Raspberry Pi und mit Python 3.2 entwickeln kann.

Auf dem Raspberry Pi – das war das schlagende Argument für uns, ihn anzuschaffen – läuft auch FreePascal und sogar der Delphi-Klon Lazarus, der sich inzwischen zu einem mächtigen Werkzeug gemausert hat. Nachdem es mit der Programmierung in Android über Embarcadero Delphi XE nicht geklappt hat (irgendwann ging uns einfach das Geld für die vielen Updates aus), erscheint die Programmierung mit Lazarus auf dem Raspberry Pi zunächst verblüffend einfach – es war über das Raspbian-Repository erstaunlich schnell installiert und verhält sich auch im Betrieb recht solide. (Gut, man darf von einem 700 Mhz-Rechner keine Luftsprünge beim Kompilieren erwarten.)

Wie in guten alten Tagen: Pascal-Gui-Entwicklung mit Lazarus für Raspbian auf dem Raspberry Pi.
Wie in guten alten Tagen: Pascal-Gui-Entwicklung mit Lazarus für Raspbian auf dem Raspberry Pi.

Der Teufel steckt allerdings im Detail – die Lazarus-Version aus dem Raspbian-Repository ist nämlich nicht aktuell und es hagelt Fehlermeldungen, sobald man versucht, ein vorhandenes Projekt aus einem aktuellen Lazarus 1.x zu importieren. Diverse Eigenschaften von Komponenten werden da nämlich nicht unterstützt, weshalb man die Projekte weder laden, noch kompilieren kann. Mit schneller plattformübergreifender Programmierung für Windows, MacOS und Raspbian ist also weiterhin erstmal noch nichts, zumindest so lange nicht, bis die Lazarusversion von Raspbian auf den aktuellen Stand 1.0.x nachrüstet – und bis dahin steht anderorts wahrscheinlich schon wieder die nächste Lazarusversion 1.2 ins Haus.

Trotzdem: Noch nie schien das Ziel, neben Windows noch für eine weitere Plattform zu programmieren, so nah wie jetzt. Zumal Retro-Spiele gerade IN sind. Denkbar wäre nicht nur, endlich dem langerwarteten Mogymouse Apocalypse auf die Beine zu helfen, dessen fertiger Soundtrack schon längere Zeit ungenutzt vor sich hin vegetiert, sondern vielleicht auch eine Neuauflage von Tin Quizzy Classic – oder, so Hajsoft auf den Zug aufspringt, das aktuelle WinTinQuizzy auch für schulische Raspbian-Rechner. Denn dort dürften die kleinen Dinger auch hierzulande demnächst schaarenweise erscheinen. Sagt man doch, sie vertragen sich ebenso mit mageren Schuletats wie auch mit vorhandenen Arduino-Boards.