Como configurar o Python for S60?

Tutorial 2 : Como configurar o Python for S60 em emulador?

1. Python for S60

Python para S60 é o port da linguagem Python para celulares Series 60, ou seja, smartphones que rodam o sistema operacional Symbian com diversas outras funcionalidades. Grande parte dos celulares S60 hoje é produzida pela Nokia, mas outros fabricantes também usam essa plataforma. O desenvolvimento para plataformas embarcadas, como celulares por exemplo, é um trabalho extremamente difícil, já que existem diversas limitações como complexidade da linguagem, fragmentação da plataforma, limitações da API, etc. Embora a plataforma S60 ofereça uma API bem ampla e aberta e também dispõe de ferramentas gratuitas de desenvolvimento (ex: Carbide.c++ da Nokia), ainda assim é muito difícil desenvolver em C++ para Symbian, por ser uma linguagem de sintaxe mais complexa e em JavaME que envolve algumas limitações na API de acesso aos recursos do celular. Ainda assim, o desenvolvimento para dispositivos móveis está ficando mais importante, principalmmente com a chegada da rede de Terceira Geração (3G) a demanda por smartphones irá aumentar substancialmente.
Os aparelhos S60 são um dos modelos mais conhecidos nessa linha de smartphones por agregarem diversas funcionalidades em um único aparelho. Uma alternativa para desenvolvimento de aplicativos para esses dispositivos é o Python para o S60 que facilita o desenvolvimento de inúmeras formas, por ser uma linguagem aberta, fácil de aprender, poderosa e extensível. Esse tutorial irá demonstrar como configurar o Python em um emulador do S60 em pcs com a finalidade de testar seus aplicativos desenvolvidos em Python e vê-los em execução.
Para saber mais sobre a linguagem Python, o site oficial encontra-se aqui.

2. Configurando o emulador do Python para Series 60

O primeiro passo é instalar o Symbian/C++ SDK (Pré-requisitos: Ter o ActivePerl instalado na sua máquina e a máquina virtual Java JRE 1.4 ou posterior) apropriado de acordo com qual aparelho você deseja desenvolver. Por exemplo, se você quer desenvolver para o N73, o mesmo tem o Symbian S60 3rd Edition, então você tem que baixar o SDK de acordo com a versão implementada no Aparelho. A Nokia dispõe de uma lista de especificação de aparelhos S60 que permite identificar quais as versões do Symbian instaladas para os desenvolvedores poderem consultar.
Depois de instalado o C++ SDK, você deve baixar o kit de desenvolvimento para o Python (Python SDK) apropriado de acordo com a versão do Symbian instalado no aparelho. Para aqueles que tem o Symbian 3rd Edition não há diferença no SDK, ou seja mesmo que você queira desenvolver para 3rd Edition, Feature Pack 1 (FP1) ou Feature Pack 2 (FP2) o SDK a ser usado é o mesmo.
Atualmente a versão mais nova do SDK é a versão 1.4.1, o qual está bem redonda e funcionando no emulador sem problemas. O arquivo a ser baixado é o com terminação .zip (Ex: PythonForS60_1_4_1_SDK_3rdEd.zip ) já quando quiser realmente executar o seu aplicativo no aparelho, você necessita do interpretador do Python instalado no seu celular, o qual tem a finalização (.sis) (Ex: PythonForS60_1_4_1_3rdEd.SIS). Também recomendo baixar a documentação ( PythonForS60_1_4_1_doc.pdf) e API do Python for S60 contendo toda estrutura e métodos disponíveis para você desenvolver aplicativos interessantes.
O próximo passo é extrair os arquivos do SDK em uma pasta. Dentro dessa pasta você irá encontrar outro arquivo compactado .zip (sdk_files.zip) e um script para desinstalação do emulador. O sdk_files.zip contém toda a estrutura necessária para que o emulador possa ser executado e deve ser extraída na pasta onde está instalado o seu SDK Symbian C++. Eu sugiro que antes de mover extraia todos os arquivos em uma pasta temporária e depois mova todos os diretórios que estão dentro da pasta epoc32 (descompactada) para o diretório correspondente dentro do S60 C++ SDK. Por exemplo para 2nd Fp2 você deve extrair o sdk_files.zip para o diretório "c:\symbian\8.0a\s60_2nd_fp2\epoc32", para o 3rd Ed Fp2 o diretório padrão seria :
"c:\Symbian\9.3\S60_3rd_FP2_Beta\epoc32".


3. Executando o emulador do Python para Series 60

Agora, inicie o Emulador S60 ("Programs -> S60 Developer Tools -> nrdEdition SDK -> C++,Beta -> Emulator. Você deve aguardar até que o emulador apareça na sua tela. O processo é um pouco demorado, então aguarde até que o emulador exiba todos os ícones conforme a figura 1 abaixo:

Open installations folder first ...
Figura 1: Emulador em Execução

Agora, navegue até a pasta Installations (conforme a Figura 1) através dos botões direcionais que aparecem no emulador. Clique no botão central do telefone e navegue até o aplicativo Python (conforme a figura 2) e clique em Options -> Open.


Python runs from here
Figura 2: Aplicativo Python


O interpretador do Python entrará em execução (mostrando na console algumas informações de versão e configuração) até chegar no console >> , que significa que aguarda os comandos do usuário.

Figura 3: Emulador Python em Execução

Agora clique em Options -> Run Script c:ball.py e o programa demonstração irá ser executado! Os scripts desenvolvidos em Python tem a teminação .py e eles se encontram na pasta"C:\Symbian\9.3\S60_3rd_FP2_Beta\epoc32\winscw\c\python" (Caminho dependendo da versão do seu SDK C++ Symbian) . É aí onde você deve colocar os scripts desenvolvidos por você e consequentemente irão ser exibidos no emulador. Existem diversos outros scripts demonstração que você pode ver seguindo o mesmo roteiro acima. O script também desenvolvido por você depois de colocado na pasta correta será exibido entre as opções para ser executado. Caso ele não apareça, recomendo você reiniciar o aplicativo Python para garantir que o menu de opções seja atualizado e que seu aplicativo apareça como opção para ser executado.


Dica: Existem também vários exemplos inclusive com interface gráficaque podem ser encontrados na pasta src/extras/examples no local onde você extraiu o SDK do Python.



4.Como desenvolver seu primeiro script ?

Agora iremos desenvolver nosso primeiro aplicativo exemplo para rodar no emulador Python. Como exemplo, faremos nosso Hello World para ser exibido na tela do aparelho.
Para desenvolver você pode usar qualquer editor de texto do seu pc (Até o velho bloco de notas). Abra um novo arquivo e digite os seguintes comandos (Sem os números):

1. import appuifw
2. appuifw.app.title = u"Hello World"
3. appuifw.note(u"Hello World!", 'info')


Salve o arquivo no diretório "C:\Symbian\9.3\S60_3rd_FP2_Beta\epoc32\winscw\c\python", onde se encontra os outros scriptys Python do emulador. Lembre-se que o formato salvo deve ser .py! (Ex: helloworld.py). Agora abra o emulador do Symbian, abra o aplicativo Python , procure o helloworld.py no menu de opções e bote-o em execução!
Se você ver uma tela semelhante ao da figura 3 abaixo, meus parabéns! Você acabou de desenvolver seu primeiro Hello World em Python for S60. Se não exibiu a tela, talvez você tenha digitado algo errado no código, então verifique a sintaxe do código escrito procurando erros de digitação ou até o próprio formato do arquivo (lembre-se que o formato é o .py!).

Figura 3: Hello World em Execução!





5.Entendendo o código

Agora vamos entender o código! O que escrevemos finalmente? Na linha 1, o comando import permite que você importe os módulos e APIS existentes de Python para serem utilizadas no seu aplicativo. O módulo appuifw é uma das principais do Python for S60 e ela permite que você possa escrever e exibir dados na interface gráfica do seu celular. Então é necessário que você importe esse módulo para iniciar seu desenvolvimento em aplicativos Python para S60. Na linha 2 você define o título do seu aplicativo, ou seja, o nome principal do seu programa que será exibido na parte de cima de tela, nesse caso HelloWorld! . O campo title do módulo appuifw define o título do seu aplicativo. O nome Hello World deve ser escrito entre "" para que ele possa ser reconhecido como um conjunto de caracteres a ser exibido na tela.
Na linha 3 você chama o método note do módulo appuifw que fica responsável por exibir a informação Hello World na tela assim que você inicia o aplicativo. Se você notou, apareceu uma pequeno alerta com um I do lado direito e Hello World! escrito do lado esquerdo, o responsável por isso é a chamada desse método note que recebe 2 parâmetros : O conjunto de caracteres a ser exibido na tela e o tipo de alerta que você quer que apareça (nesse exemplo: 'info' que significa que é um alerta com alguma informação.).

1. import appuifw
2. appuifw.app.title = u"Hello World"
3. appuifw.note(u"Hello World!", 'info')


Para mais informações de outros métodos e funcionalidades do Python for S60, existe a documentação completa com todos métodos para manipulação de interface gráfica, SMS, Bluetooth, acesso a arquivos do celular, etc.


6.Conclusão

Nesse pequeno tutorial vimos como configurar o emulador do Python para aparelhos Symbian S60 e desenvolvemos o nosso primeiro aplicativo para ele para mostrar a facilidade de desenvolver aplicativos para esse tipo de aparelho. Como podemos ver, a sintaxe ajuda bastante, já que com apenas 3 linhas de código você pode colocar um simples aplicativo em execução. Em comparação a outras plataformas de desenvolvimento, Python tem a vantagem por ser um linguagem de fácil aprendizagem e com possibilidade de desenvolver aplicativos que utilizam diversos recursos do celular em função de um baixo custo de tempo para desenvolvê-lo.

7.Referências

http://wiki.opensource.nokia.com/projects/Installing_PyS60 (Instalando o Python for S60)
http://www.python.org/ (Site oficial do Python)
http://opensource.nokia.com/projects/pythonfors60/ (Site oficial do Projeto Python para S60)

2 comentários:

Anônimo disse...

Boa tarde, estou tentando configurar minha máquina para fazer alguns testes com o emulador de phyton, mas acontece o seguinte, do nada ele fecha, e não consigo carregar nada, vc sabe oq pode ser?

Agradeço desde já a atenção.

Anônimo disse...

ola amigo gostaria de saber se este sistema serve para um celular vaic t900 pois num acostumei com o sistema nele contido, pois o celular tem vaias funçoes e o sistema limita tudo que ele oferece gostaria de saber se tem com instalar esse sistema ou ate msm o simbian no meu celular e usar as opçoes do aparelho pr inteiro grato add eu no msn code-100@hotmail.com

top