Daten|teiler
Kopieren als Kulturtechnik

Python für Symbian in der Version 2.0

31. März 2010 von Christian Imhorst

Ich hinke zur Zeit den aktuellen Geschichten etwas hinter her, weshalb die Nachricht, dass Python für Symbian in der Version 2.0 erschien, bereits mehr als ein Monat alt ist. Aber es lohnt sich, auf die neue Version zu wechseln, da ihr Python 2.5.4 zugrunde liegt. Als Gnu/Linux-User benötigt man die Datei PythonForS60_2.0.0.tar.gz von garage.maemo.org. Nach dem Entpacken überträgt man die Dateien Python_2.0.0.sis, pips.sis und PythonScriptShell_2.0.0_3_0.sis aus dem Ordner /PythonForS60/PyS60Dependencies entweder per Bluetooth oder mit dem USB-Kabel auf das Telefon. Anschließend installiert man sie in dieser Reihenfolge in den Telefonspeicher. Die Installation muss in den Telefonspeicher und nicht auf die Speicherkarte erfolgen, da Python-Programme ansonsten Probleme haben können, den Interpreter von Python für Symbian zu finden.

Wenn alle drei Dateien installiert sind, findet man anschließend den Programm-Starter Python2.0.0 im Ordner Installationen, und der Spaß kann beginnen:

Es bleibt aber ein kleiner Wermutstropfen: Python für S60 läuft nur auf Geräten der 3rd- und 5th-Editionen. Für Geräte der 2nd-Edition wird es leider kein Python 2.0 geben, da die benötigte OpenC-Bibliothek für sie nicht existiert. Es scheint auch Probleme mit der Installation auf älteren 3rd-Edition Geräten ohne Feature Pack (FP) zu geben, wie auf dem E61. Die Version 1.9.6 funktioniert aber noch wunderbar.

Weiter ist es Schade, dass Python 2.0.0 für Symbian immer noch nicht in den OVI-Store eingezogen ist. Dabei ist es für die schnelle Entwicklung kleiner Anwendungen einfach ideal. Um das zu demonstrieren, legt man unter Gnu/Linux die Datei HalloWelt.py mit folgendem Zweizeiler an:

import appuifw
 
appuifw.note(u'Hallo Welt.', 'info')

Die Datei speichert man dann im Ordner /PythonForS60, der aus der Datei PythonForS60_2.0.0.tar.gz extrahiert wurde. Im Terminal schlüpft man dann in dieses Verzeichnis und führt folgenden Befehl aus:

python2.5 ensymble.py py2sis HalloWelt.py

Der Befehl gilt für Ubuntu Karmic Koala, wo Python 2.6 bzw. Python 3.0 der Standard ist. Das Programm Ensymble funktioniert aber zur Zeit nur mit Python 2.5. Die daraufhin erzeugte Datei HalloWelt_v1_0_0.sis überträgt man wie gewohnt auf das Telefon, um sie dort zu installieren. Die Sicherheitswarnung, dass das Programm HalloWelt nicht signiert ist, kann man übrigens getrost ignorieren. Nach der Installation findet man den Starter im Ordner Installationen:

Führt man das Programm dann aus, sieht man diese Info-Meldung:

Wem das Beispiel zu schlapp ist, der kann das Ganze mit dem kleinen Programm RamInfo.py durchgehen. Das Programm zeigt einfach nur die Größe des kompletten und die des freien Arbeitsspeichers an:

import appuifw, sysinfo
 
totalRam = sysinfo.total_ram()/(1024*1024)
freeRam = sysinfo.free_ram()/(1024*1024)
 
appuifw.query(u'RAM:\nTotal: ' + str(totalRam) + u' MB' + u'\nFree :  ' + str(freeRam) + u' MB', 'query')

Das Ergebnis könnte dann so aussehen, hängt aber vom verfügbarem Arbeitsspeicher und den aktuell laufenden Programmen ab:

Oder man informiert sich über den Ladestand des Akkus in Prozent:

import appuifw, sysinfo
 
battery = sysinfo.battery()
appuifw.note(u'Battery: ' + str(battery) + ' %', 'info')

Wie man sieht, kann man sehr schnell viele kleine Programme selbst schreiben, in eine Symbian-Datei umwandeln und auf dem Handy installieren.

Geschrieben in Gnu/Linux, Python

3 Antworten

  1. Someone

    Guter Artikel, da werde ich das doch auch gleich mal auf mein Symbian werfen.

    Es ist aber 3rd und 2nd ;)

  2. Christian Imhorst

    Da hast du recht und ich habs geändert. Ich frage mich, welche Freud’sche Fehlleistung mich da wohl erledigt hat. :-)

  3. Andreas Schipplock

    ich betreibe eine Website mit meinem alten E63 (mit PAMP) und da ich den Webserver auf Akkubetrieb laufen lasse, ist es immer ganz wichtig zu wissen, wann ich den neu laden muss *g*.

    Durch deinen Beitrag habe ich mir schnell die mod_python Erweiterung auf meinem Nokia E63 installiert und mir innerhalb von Minuten eine Akkuanzeige mit Python Server Pages (PSP) zusammengezimmert. So kann ich einmal in der Stunde den Stand abfragen und das dann auswerten :).

    Ich habe dann ein wenig gegoogled und man kann noch viel mehr auslesen: http://wiki.forum.nokia.com/index.php/How_to_get_system_info_on_smartphone

    Danke auf jeden Fall fuer den Anstoss :).