h1

Supporto Python

Definizione “lampo”: Python di per sè è un linguaggio di programmazione, molto semplice rispetto al nativo linguaggio di programmazione C++ per Symbian OS e molto più accessibile, data la diffusione e disponibilità delle librerie, come fosse un progetto Open Source.

Detto ciò possiamo brevemente definire che le applicazioni destinate a dispositivi Symbian S60, possono essere sviluppate in:

  • C++, linguaggio nativo. Vengono rilasciati per l’utente finale pacchetti d’installazione .sis.
  • Java. Vengono rilasciati per l’utente finale pacchetti d’installazione .jar. Symbian OS ha il supporto per la piattaforma Java, nel caso specifico mobile, Java Micro Edition.
  • Python. Anche per le applicazioni sviluppate in Python vengono spesso rilasciati pacchetti d’installazione .sis per facilitare l’utente finale. Tuttavia, poichè funzionino, occorre installare il supporto per Python, ovvero il cosiddetto interprete Python for S60 o PyS60 che Symbian OS non ha nativamente. Ripeto che, per facilitare l’utente finale, anche le applicazioni sviluppate in python vengono impacchettate come dei .sis, altrimenti avremmo dei .py, ovvero degli script da far “girare” attraverso la ScriptShell, definibile allora come la componente che interpreta le linee di comando.

Symbian S60 1st Edition (Symbian OS v6.1)
7650, N-Gage, N-Gage QD, 3650, 3620, 3660, 3600

Symbian S60 2nd Edition Feature Pack 1 (Symbian OS v7.0s)
6600, 6620, 3230, 6670, 6260, 7610

Symbian S60 2nd Edition Feature Pack 2 (Symbian OS v8.0a)
6630, 6680, 6682, 6681

Symbian S60 2nd Edition Feature Pack 3 (Symbian OS v8.1a)
N70, N90, N72

Symbian S60 3rd Edition (Symbian OS v9.1)
N80, N71, N91, N92, N73, N93, E62, E50, E60, E70, 5500, 3250, N75, N93i, N77, E61i, E65

Symbian S60 3rd Edition Feature Pack 1 (Symbian OS v9.2)
N95, 6290, N76, 6110, E90, 5700, 6120, 6121, N81, N81 8GB, N95 8GB, E51, N82, 6124, E66, E71, E63

Symbian S60 3rd Edition Feature Pack 2 (Symbian OS v9.3)
6210, 6220, N78, N96, 6650, 5320, N79, N85, 5630

Symbian S60 5th Edition (Symbian OS v9.4) la piattaforma touch screen
5800 XpressMusic, N97

python

Cos’è Python: è un linguaggio di programmazione semplice e dinamico dotato di ampie librerie standard e che si integra fortemente con altri linguaggi e strumenti di programmazione. Per questo può essere utilizzato per lo sviluppo di vari software tra cui applicazioni destinate ai dispositivi S60. Il tutto racchiuso in un progetto Open Source, dunque ampio l’interesse sia da parte di programmatori amatoriali, data la semplicità di questo linguaggio di programmazione, che da parte dell’utente finale data la possibilità di usufruire di applicazioni spesso molto interessanti in maniera del tutto gratuita.

PyS60 (Python for S60) è l’interprete Python per i dispositivi Symbian S60. Oltre alle caratteristiche standard del linguaggio Python, offre un accesso diretto alle caratteristiche software degli smartphone come otocamera, contatti, calendario, audio video, protocollo TCP/IP, funzioni di telefonia.
Per utlizzare applicazioni scritte in Python su un dispositivo S60 occorre aver installato PythonForS60 (PyS60), inteso come system runtime la cui definizione stà in quanto descritto prima per l’interprete (un software che fornisce i servizi necessari all’esecuzione di un programma)  e  la relativa SciptShell.

Python Script Shell è un ambiente di lavoro per le linee di comando con la quale si possono eseguire degli script. Anche se è opportuno installarla, a meno che non siate degli informatici esperti non la utilizzerete mai.

Versione Beta

L’ ultima versione beta per l’interprete e la relativa ScriptShell di Python for S60, destinata all’utente finale intento ad utilizzare applicazioni scritte in Python sul proprio dispositivo,  è la 1.9.7.

Riassunto delle puntate precedenti

Si parte dalla release beta 1.9.0. Di qui si susseguiranno una serie di ulteriori versioni beta 1.9.x, il cui sviluppo finale porterà alla nuova versione definitiva di Python for S60, la 2.0.

1.9.0: ora l’applicazione si basa su Python 2.5.4, con disposnibilità di più moduli e dunque maggiori opportunità per gli sviluppatori. Aggiunto anche il supporto per la piattaforma 5th edition.

1.9.1: migliorato il supporto per la piattaforma 5th edition.

1.9.2: è stato migliorato il supporto per i sensori, per un migliore accesso ai sensori dei dispositivi il cui funzionamento si basa su librerie S60 Sensor Framework (Es. accelerometro 3rd edition FP2 e 5th edition).

1.9.3: il supporto touch screen è stato aggiunto agli oggetti Canvas. Praticamente immagini cursori e altri elementi grafici riconoscono l’imput tocco. Ora anche altri elementi User Interface come testi, listbox, moduli (application manager, calendario, contatti, messaggistica, gestione multimediale, log, ecc), funzionano a dovere su interfaccia touch screen.

1.9.4: Nokia ha signato un unico pacchetto software installabile su tutti i dispositivi S60 3rd e 5th edition. Nuove funzionalità e miglioramenti in stabilità, sono state aggiunte Nuove API (Application Programming Interface, set di istruzioni che permettono al programmatore di aggregarsi con il software ad Hardware o livelli di software superiore, presenti in un sistema), novità per quel ch riguarda il pacchetto d’installazione, ScriptShell compatibile con l’interfaccia touch screen.

1.9.5: minor update, fondamentalmente è stata aumentata la heap-size di default per le applicazioni in Python, da  100k,4M a 4k,1M; un’opzione “Continue with missing dependencies”, è stata implementata nel packaging tool. Abilitando questa opzione, le dipendenze perse verranno mostrate come pericoli e si continuerà con la generazione del SIS. Ulteriormente sono stati corretti alcuni bug.

1.9.6: rappresenta un minor update ricco di bugfix e una nuova caratteristica: un D-pad virtuale che compare sul fondo dello schermo dei dispositivi touch screen. E’ un’impostazione di default che disabilita, in questa versione, la visualizzazione a schermo intero delle applicazioni. Tale carattersistica è supportata solo nella modalità di orientamento display in landscape.

1.9.7: Tra le nuove, aggiunto il supporto touch screen per l’interfaccia di controllo degli elementi canvas (rendering dinamico di una bitmap). Un Pad direzionale viene visualizzato per impostazione predefinita sui dispositivi touch screen abilitati. Un esempio tipico è dato dall’ applicazione – gles_touch_demo.py, avviabile tramite la ScriptShell e che dimostra tale funzionalità; le opzioni di selezione multipla sono cambiate: “opzioni” per “seleziona/deseleziona” e “indietro” per tornare sulla lista; il Pad direzionale, supporta la modalità di visualizzazione in landscape; aggiunte nuove API canvas (”begin_redraw” e “end_redraw”); miglioramenti anche per l’applicazione “Scribble”.

Occorre installare prima l’interprete e poi la relativa ScriptShell, e si può scegliere di installare il tutto,  sulla memory card o sulla memoria telefono (ovviamente date ad entrambe la stessa destinazione). Consigliato tuttavia optare per la memoria telfono. Sembra che le vecchie versioni installate si sovrascrivino, forse tuttavia opportuna la rimozione prima di aggiornare.

Dwnload Python 1.9.7 beta (Interprete+Scriptshell)

  • Python_1.9.7 per tutti gli S60 3rd edition e 5th edition

  • Python ScriptShell per tutti gli S60 3rd edition e 5th edition

Dwnload Python 1.9.6 beta (Interprete+Scriptshell)

  • Python_1.9.6 per tutti gli S60 3rd edition e 5th edition
  • Python ScriptShell per tutti gli S60 3rd edition e 5th edition

UPDATE: Python 1.9.6 fixed

Qui le release notes

Dwnload Python 1.9.5 beta (Interprete+Scriptshell)

  • Python_1.9.5 per tutti gli S60 3rd edition e 5th edition
  • PythonScriptShell_3rdEd per tutti gli S60 3rd edition
  • PythonScriptShell_5thed per tutti gli S60 5th edition

Di seguito tutti i downloads

Qui le release notes

Dwnload Python 1.9.4 beta (Interprete+Scriptshell)

QUI le release notes

Download Python 1.9.3 beta (Interprete+ScriptShell)

Esiste un pacchetto d’installazione  dedicato ai Symbian S60 3rd edition e 3rd edition FP1 e un pacchetto d’intallazione dedicato ai Symbian S60 3rd edition FP2 e 5th edition. Dunque seguite l’ordine di installazione e di compatibilità per il dispositivo opportuno come seguentemente schematizzato:

1) PyS60 (l’interprete)

  • Python_1.9.3_3rdEd.sis per 3rd edition e 3rd edition FP1
  • Python_1.9.3_5thEd.sis per 3rd edition FP2 e 5th edition

2) Python ScriptShell (un ambiente di lavoro per le linee di comando)

  • PythonScriptShell_1.9.3_3rdEd.sis per 3rd edition e 3rd edition FP1
  • PythonScriptShell_1.9.3_5thEdFP2.sis per 3rd edition FP2 e 5th edition

Di seguito tutti i downloads

Qui le release notes

Di seguito il download delle precedenti beta e dell’SDK

Differenza tra versioni singed ed unsigned: facilitando e riferendomi alla questione delle certificazioni in termini di protezione, introdotta a partire dai dispositivi Symbian S60 3rd edition, vi posso dire che la versione unsigned garantisce un accesso standard alle funzioni del dispositivo, “user-grantable”, mentre la versione signed, appunto da certificare garantisce un accesso pi invasivo alle funzioni del dispositivo, dunque aumentano le possibilità di script e le possibilità di compatibilità per le applicazioni scritte in Python.

Versione Stabile

La versione stabile dell’interprete e la relativa schell è invece la 1.4.5. Come sempre installare prima l’interprete PythonForS60 (PyS60) e successivamente la relativa ScriptShell.

Per questa versione l’installazione è obbligatoriamente da effettuarsi sulla memoria telefono, le vecchie versioni installate non si sovrascrivono, dunque rimuoverle prima di aggiornare.

Qui  i downloads per tutti i 3rd edition (anche FP1 e FP2).

  • Python for S60 1.4.5

  • Python Script Shell 1.4.5

Questa versione non è ufficialmente compatibile con i 5th edition.

Qui  i downloads per tutti i 2nd edition

  • Python for S60 1.4.5 e Python Script Shell 1.4.5

per

Symbian S60 2nd Edition Feature Pack 1 (Symbian OS v7.0s)
6600, 6620, 3230, 6670, 6260, 7610

Symbian S60 2nd Edition Feature Pack 2 (Symbian OS v8.0a)
6630, 6680, 6682, 6681

Symbian S60 2nd Edition Feature Pack 3 (Symbian OS v8.1a)
N70, N90, N72

QUI le RELEASE NOTES

Esiste per i 3rd edition anche un MegaPyModulePack (ultima versione 2.01, non testata su 5th edition), forse una raccolta di librerie, che occorre  installare per far funzionare alcune applicazioni.

Qui il download, per l’installazione del MegaPyModulePack occorre certificazione

Una volta che sul dispositivo sono presenti interprete e relativa scriptshell è possibile utilizzare sui dispositivi le applicazioni scritte in Python, esattamente come si utilizziamo tutte le altre. Quasi sempre il sorgente per l’installazione delle applicazioni in Python è un .sis, dunque da installarsi alla consueta maniera, ovvero inviando il file sul telefono tramite bluetooth e facendo per aprirlo in messaggi al fine di avviarne l’installazione, oppure trasferendolo sul dispositivo  con la modalità archiviazione di massa, e dunque facendo per aprirlo dal file browser del telefono al fine di avviarne l’installazione. Oppure si può utilizzare comodamente Nokia PC Suite. Rarissime volte possiamo trovarci di fronte ad un file .py (uno script). In questo caso,trasferite il file sulla memory card e tornando poi sul dispositivo,  utilizzare un’applicazione file browser del tipo X-plore, per destinarlo all’interno del seguente percorso: C:/System/Apps/Python. Questo per quanto riguarda i 2nd edition. Per quanto riguarda invece i 3rd edition il percorso di destinazione è il seguente: E:/data/python (occorre aver installato Python e relativa ScriptShell sulla memory card). Quando il sorgente dell’applicazione è un .py occorre avviarne l’esecuzione dallo Scrypt (icona python che compare tra le applicazioni del dispositivo) facendo OPZIONI-RUN SCRIPT.

Molte applicazioni in Python compatibili con dispositivi Sybian S60 3rd edition FP1 che vertono a sfruttare le funzioni dell’accelerometro integrato (ovviamente per i dispositivi che ne sono dotati. L’accelerometro è una componente hardware che rivela l’orientamento del dispositivo nello spazio e permette funzioni come la rotazione dello schermo in landscape o protrait a seconda che il dispositivo sia orientato in posizione verticale o orizzontale), non funzionano sui 3rd edition FP2 e superiori. Questo perché il software per il funzionamento dell’accelerometro è diverso tra le due generazioni di Symbian (quello dei Symbian S60 3rd edition FP2 si basa su librerie S60 Sensor Frameworks. Quello dei 3rd edition FP1 si basa su di un plug in).

Per far funzionare l’accelerometro sui dipositivi 3rd edition FP1 occorre aggiornare il firmware alle ultime versioni oppure installare il suddetto plug-in



Python Documentation

4 commenti

  1. [...] Per il funzionamento delle applicazioni scritte in Python sui dispositivi S60, è sufficiente installare l’interprete e preferibilmente nella memoria telefono. Compatibilità: Symbian S60 3rd e 5th edition. Per ulteriori info vi rimando al supporto Python. [...]


  2. Non riesco a scaricare xkè?? mi sono registrato anche a BOX xò nn mi va cmq….


  3. Purtroppo si sono verificati dei problemi sul mio account gratuito box.net. Puoi effettuare il download di python 1.9.7 qui

    interprete

    http://www.symbian-freak.com/downloads/app/python/new_py/python_forS60_3rded_and_5thed.zip

    script shell

    http://www.symbian-freak.com/downloads/app/python/new_py/python_script_shell_3rdEd_and_5thed.zip


  4. Ciao, Volevo chiederti un chiarimento. Ho scaricato la versione 1.9.7 che vorrei installare sul mio nokia e52. Per quanto riguarda il runtime tutto funziona bene, ma per gli scriptshell vorrei sapere quale devo installare ovvero, devo installarli tutti. Nel file zip ce ne sono 4,
    PythonScriptShell_1.9.7_3_0.sis, PythonScriptShell_1.9.7_3_2.sis, PythonScriptShell_1.9.7_high_capas.sis, PythonScriptShell_1.9.7_unsigned_devcert.sis.
    Scusa ma ho un po’ di confusione.
    Grazie
    Ciao



Lascia un Commento