Remobile

2,509 views
2,459 views

Published on

Palestra realizada na primeira edição do Remobile sobre desenvolvimento Python para aparelhons Symbian S60 (Palestrante: Marcel Caraciolo)

Published in: Education
2 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total views
2,509
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
54
Comments
2
Likes
1
Embeds 0
No embeds

No notes for slide
  • Remobile

    1. 1. Introdução à programação Python para smartphones Nokia S60 Marcel Pinheiro Caraciolo
    2. 2. Quem é o palestrante ? <ul><li>Marcel Pinheiro Caraciolo </li></ul><ul><ul><li>Atual : Mestrando em ciência da computação pelo CIN/UFPE. </li></ul></ul><ul><ul><li>Engenheiro da computação pela POLI/UPE. </li></ul></ul><ul><ul><li>Experiência: TIM (analista de sistemas), I2 Tecnologia (consultor de desenvolvimento) , C.E.S.A.R (engenheiro de sistemas). </li></ul></ul><ul><li>Experiência com computação móvel e inteligente: </li></ul><ul><ul><li>Blog Mobidéia (http://mobideia.blogspot.com) – Mobile </li></ul></ul><ul><ul><li>Blog A.I. in Motion (http://aimotion.blogspot.com) – I.A. </li></ul></ul><ul><li>Experiência com Python há quase 1 ano. </li></ul>
    3. 3. Agenda <ul><li>Smartphones Symbian S60 </li></ul><ul><li>Python / Python para S60 (PyS60) </li></ul><ul><li>Primeiros passos com o PyS60. </li></ul><ul><ul><li>Arquivos e instaladores. </li></ul></ul><ul><ul><li>Instalação do interpretador e execução de scripts Python. </li></ul></ul><ul><li>Conceitos básicos de desenvolvimento </li></ul><ul><ul><li>Ferramentas, emuladores, etc. </li></ul></ul><ul><ul><li>Criação de um simples aplicativo executável. </li></ul></ul><ul><li>PyS60 API Tour e Exemplos </li></ul><ul><li>Conclusão </li></ul>
    4. 4. Smartphones Symbian S60
    5. 5. O que são celulares S60? <ul><li>Smartphones - “celulares inteligentes” - com velocidade de um PC@1998. </li></ul><ul><li>Sistema operacional Symbian (consórcio mantido por diversos fabricantes de dispositivos móveis). </li></ul><ul><ul><li>2008 – Nokia adquire o Symbian e funda o “ Symbian Foundation ”. </li></ul></ul><ul><li>Plataforma Série 60: Symbian + UI + recursos adicionais. </li></ul>
    6. 6. Smartphones Nokia <ul><li>Grande parte dos celulares S60 são da Nokia. </li></ul><ul><li>Concorrentes diretos do Symbian S60: </li></ul><ul><ul><li>Baseados em Symbian: S80, S90, UIQ. </li></ul></ul><ul><ul><li>Não baseados em Symbian: Android OS, Windows Mobile, Mac OS X (Iphone) - todos não smartphones Nokia. </li></ul></ul><ul><li>Nova linha de aparelhos S60 “TouchScreen” : </li></ul><ul><ul><li>Nokia 5800 XpressMusic, N97 . </li></ul></ul>
    7. 7. Por que desenvolver para S60 ? <ul><li>Mais de 100 milhões de celulares vendidos. </li></ul><ul><li>Previsões apontam como plataforma dominante para os próximos 5-10 anos. </li></ul><ul><li>Várias opções de linguagem: J2ME, C++, Python, FlashLite, JavaScript, C, etc. </li></ul><ul><li>Plataforma aberta e SDK gratuito </li></ul><ul><li>Existe uma comunidade de desenvolvedores </li></ul><ul><li>Dispositivos são computacionalmente poderosos (evita ter de ”escovar bit”) </li></ul>
    8. 8. Python / PyS60
    9. 9. <ul><li>Pelas virtudes naturais do Python :) </li></ul><ul><li>Desenvolvimento C++ para dispositivos móveis é ainda mais árido que para desktop. </li></ul><ul><ul><li>Desenvolvimento no PC, uso real no celular; computadores completamente diferentes! </li></ul></ul><ul><ul><li>Emulador Symbian no PC diverge do celular </li></ul></ul><ul><ul><li>Pouco software livre e/ou aberto para consulta </li></ul></ul><ul><ul><li>Muitas diferenças entre versões do S60, mesmo entre minor releases (”feature packs”)‏ </li></ul></ul>… E por que usar o Python para S60?
    10. 10. … . E porque usar o Python para S60? <ul><li>API mais estável, pois as diferenças entre versões são resolvidas no pacote Python </li></ul><ul><li>Boa parte das bibliotecas padrão do Python está disponível no PyS60 </li></ul><ul><li>A depuração no dispositivo é mais fácil </li></ul><ul><li>Torna muito mais fácil o acesso a recursos como câmera ou SMS, em relação a C++ </li></ul><ul><li>Comunidade muito mais atuante </li></ul><ul><ul><li>http://pys60.sourceforge.net </li></ul></ul>
    11. 11. Sobre Python, a linguagem… <ul><li>Linguagem de programação open source criada por Guido Van Rossum desde 1990. </li></ul><ul><li>Objetivos: maximizar a produtividade e a extensibilidade na programação </li></ul><ul><ul><li>Ênfase especial na leitura e compreensão do código. </li></ul></ul><ul><ul><li>“ Linguagem pequena, imensa biblioteca” </li></ul></ul><ul><ul><li>Fácil extensão com código nativo. </li></ul></ul><ul><li>Linguagem de script moderna, orientada a objetos, bem completa com funcionalidades como classes, herança, objetos, exceções, gerenciamento automático de memória, threads, etc. </li></ul>
    12. 12. A “cara” de Python def get_quote(acao): url = &quot;http://www.bovespa.com.br/...” pagina = urllib.urlopen(url).read() inicio = pagina.find(&quot;R$&quot;)+2 final = pagina.find(&quot;</td>&quot;, inicio) cotacao = s[inicio:final].strip() try: valor = int(cotacao)/100.0 except ValueError: valor = 0 # deixe como zero return valor
    13. 13. Python para S60 (PyS60) <ul><li>Simplifica o desenvolvimento de aplicações e é uma solução alternativa para APIs Symbian C++ </li></ul><ul><li>Usada de diversas maneiras: </li></ul><ul><ul><li>Aplicativos GUI </li></ul></ul><ul><ul><li>Aplicativos em background (“daemon”) </li></ul></ul><ul><ul><li>Inseridos no seu aplicativo C++ </li></ul></ul><ul><li>Caminho mais fácil de desenvolver aplicativos nativos para o Symbian. </li></ul><ul><li>Implementação Open source, de fácil extensão com a API Python/C. </li></ul>
    14. 14. Python para S60 (PyS60) <ul><li>Versões até 1.4.x - Python 2.2.2 </li></ul><ul><li>Versões 1.9.x – Python 2.5.0 </li></ul><ul><li>Consiste de: </li></ul><ul><ul><li>Python runtime: </li></ul></ul><ul><ul><ul><li>Interpretador DLL Python </li></ul></ul></ul><ul><ul><ul><li>Bibliotecas e módulos padrões e proprietárias do Python . </li></ul></ul></ul><ul><ul><li>Python Script Shell: </li></ul></ul><ul><ul><ul><li>Ambiente de execução para os scripts em Python </li></ul></ul></ul><ul><li>Kit de desenvolvimento para escrita de extensões e testes de script no PC (Apenas Windows) </li></ul>
    15. 15. Python para S60 (PyS60) – Bibliotecas <ul><li>Suporta a maioria das bibliotecas padrões de Python – alguns módulos podem ser adicionados direto no PyS60 sem modificações. </li></ul><ul><li>Suporta maioria das bibliotecas do S60 </li></ul><ul><ul><li>e32 </li></ul></ul><ul><ul><li>sysinfo </li></ul></ul><ul><ul><li>appuifw </li></ul></ul><ul><ul><li>graphics </li></ul></ul><ul><ul><li>camera </li></ul></ul><ul><ul><li>keycapture </li></ul></ul><ul><ul><li>audio </li></ul></ul><ul><ul><li>telephone </li></ul></ul><ul><ul><li>messaging </li></ul></ul>
    16. 16. Primeiros passos com o PyS60
    17. 17. Python nos celulares Symbian S60 <ul><li>Projeto hospedado no site SourceForge: http://sourceforge.net/projects/pys60 </li></ul><ul><li>Novas versões no site do Garage Maemo: </li></ul><ul><li>https://garage.maemo.org/projects/pys60/ </li></ul><ul><ul><li>Código-Fonte </li></ul></ul><ul><ul><li>Documentação </li></ul></ul><ul><ul><li>Diversas distribuições: </li></ul></ul><ul><ul><ul><li>Interpretador / Script Shell </li></ul></ul></ul><ul><ul><ul><li>SDK </li></ul></ul></ul><ul><ul><ul><li>Versões: 1º Ed. , 2º Ed. , 3ºEd. (FP1, FP2). </li></ul></ul></ul><ul><ul><ul><li>Site com informações sobre as versões do seu aparelho: </li></ul></ul></ul><ul><ul><ul><ul><li>http://www.forum.nokia.com/devices/matrix_all_1.html </li></ul></ul></ul></ul>
    18. 18. O que está disponível para download ? <ul><li>Todo o código fonte do pyS60 em C++/Open C </li></ul><ul><li>Interpretador pyS60 para versão PC/ mobile: </li></ul><ul><ul><li>PythonForS60_1_x_x_<yourS60version>.SIS para celulares </li></ul></ul><ul><ul><li>PythonForS60_1_x_x_SDK_<yourS60SDK>.zip para executar scripts Python em emuladores S60 e compilar suas próprias extensões (Apenas ambiente Windows). </li></ul></ul><ul><li>pyS60 Script Shell: </li></ul><ul><ul><li>Ideal para testes e desenvolvimento de scripts. </li></ul></ul><ul><ul><li>PythonScriptShell_1_x_x_<yourS60version>.SIS </li></ul></ul><ul><ul><li>Disponível também em versão não assinada “unsigned” ,caso novas funcionalidades sejam requeridas. </li></ul></ul><ul><li>Documentação e API. </li></ul><ul><li>Release notes (As novidades da versão!) </li></ul>
    19. 19. Primeiros passos – PyS60 em um celular <ul><li>Instale o pacote do interpretador PyS60. No nosso exemplo seria um Nokia N95 que é um S60 3 rd . Edição FP1 então instalamos o PythonForS60_1_4_5_3rd.SIS </li></ul><ul><li>Você pode instalar pelo PC Suite (Windows) ou enviando o arquivo .SIS via bluetooth (Linux ou Mac) ou ainda pelo browser do seu aparelho. </li></ul><ul><li>Instalado o interpretador, o próximo passo é instalar o PyS60 Script Shell. </li></ul>
    20. 20. Primeiros passos – PyS60 em um celular <ul><li>Instale o PyS60 script Shell. No nosso exemplo, usamos o Nokia N95 que é um aparelho 3 rd . Edição FP1, então instalamos PythonScriptShell_1_4_5_3rd.SIS </li></ul><ul><li>Script shell é extremamente útil para executar e testar seus scripts, através de um console. </li></ul><ul><li>O aplicativo Python é visível no menu principal de aplicativos do seu aparelho. </li></ul>
    21. 21. Primeiros passos – PyS60 em um celular <ul><li>Run script -> Lê os scripts armazenados em E:Python and C:Python </li></ul><ul><li>Há um console interativo se desejar editar código direto no aparelho. </li></ul><ul><li>Bluetooth Console para edição remota de seus scripts Python. </li></ul><ul><li>Não necessário para aplicativos executáveis em Python! </li></ul>
    22. 22. Testando PyS60 scripts <ul><li>Inicie o PyS60 Script Shell </li></ul><ul><li>Clique em Options / Run Script </li></ul><ul><li>Escolha um dos scripts na lista e pressione ‘OK’ </li></ul>
    23. 23. Conceitos básicos de desenvolvimento
    24. 24. Ferramentas de desenvolvimento-Windows <ul><li>Instalação e execução do interpretador Python na sua máquina  ( http://www.python.org/download/ ) - Python 2.5.x </li></ul><ul><li>S60 Platform SDKs for Symbian OS, for C++  Provê o ambiente de emulação do Symbian no PC para a criação e execução de scripts em Python e a criação de extensões ( www.forum.nokia.com/tools ). </li></ul><ul><li>Pacote PythonForS60_1_x_x_SDK_3rdEd.zip para ativar o Python no S60 SDK. </li></ul><ul><li>Ferramenta para empacotar seus scripts Python em arquivos instaláveis .SIS (Ensymble - http://www.nbl.fi/~nbl928/ensymble.html ) ou Py2sis (vem junto com o SDK). </li></ul><ul><li>Se você estiver usando o Ensymble, baixe o utilitário de linhas de comando OpenSSL -> http://www.stunnel.org/download/binaries.html </li></ul><ul><li>Dispositivo S60 com cartão de memória (opcional) </li></ul><ul><li>Nokia PC Suite – (opcional) </li></ul>
    25. 25. Ferramentas de desenvolvimento-Windows <ul><li>Como instalar o SDK para PyS60: </li></ul><ul><li>Faça o download do s60 __??__sdk._fp?.zip, extraia seu conteúdo e execute o setup.exe </li></ul><ul><li>Faça o download do PythonForS60_1_x_x_SDK_3rdEd.zip , extraia seu conteúdo (sdk_files.zip) e substitua a pasta na raiz do Symbian. </li></ul>
    26. 26. Ciclo básico de desenvolvimento- Windows <ul><li>Crie um arquivo .py utilizando qualquer editor de texto de sua preferência </li></ul><ul><ul><li>(Não há uma IDE específica para PyS60  ) </li></ul></ul><ul><li>Salve o mesmo em C:Symbian9.xS60_xrd_xxEpoc32winscwcpython </li></ul><ul><li>Inicie o emulador S60 SDK </li></ul><ul><li>Clique em Python Script Shell, e selecione seu script </li></ul><ul><li>Clique em “Select” para executá-lo </li></ul>import appuifw appuifw.note(u’Hello World!’)
    27. 27. Ferramentas de desenvolvimento - Linux <ul><li>Alguma versão do Python instalada (Possivelmente sua distribuição Linux já deve ter uma! ) </li></ul><ul><li>Não há um ambiente de emulação oficial  (GNUPOC) </li></ul><ul><li>Ferramenta de criação de arquivos instaláveis .SIS -(Ensymble - http://www.nbl.fi/~nbl928/ensymble.html ) + utilitário OpenSSL </li></ul><ul><li>PyS60-compat – Biblioteca para emulação de algumas APIs do PyS60 </li></ul><ul><ul><li>( http://sourceforge.net/projects/pys60-compat/ ) </li></ul></ul><ul><li>Aparelho Symbian S60 com um cartão de memória (pode ajudar no teste de scripts!) </li></ul><ul><li>Conectividade Bluetooth ativa </li></ul>
    28. 28. Ferramentas de desenvolvimento - Linux <ul><li>Crie seu script .py em qualquer editor de texto de sua preferência </li></ul><ul><li>Envie seu script para a pasta E:Python utilizando obexftp ou conectando o telefone como drive usb. </li></ul><ul><li>Inicie o PyS60 Script Shell </li></ul><ul><li>Escolha o script da lista </li></ul><ul><li>Clique “Select” para executá-lo. </li></ul><ul><li>Solução alternativa: </li></ul><ul><ul><li>PyS60-compat - UI e gráficos </li></ul></ul><ul><ul><li>http://sourceforge.net/projects/pys60-compat/ </li></ul></ul>
    29. 29. Criando aplicativos Python instaláveis <ul><li>Caminho mais fácil: Ensymble </li></ul><ul><ul><li>http://www.nbl.fi/~nbl928/ensymble.html </li></ul></ul><ul><ul><li>Para S60 3 rd Edição, PyS60 1.4.0 or versão posterior </li></ul></ul><ul><ul><li>Linux, Mac, Windows </li></ul></ul><ul><li>Outra alternativa: py2sis junto com a distribuição do código-fonte do Py-S60 </li></ul><ul><ul><li>Na versão 1.9.x – Com interface gráfica! </li></ul></ul><ul><li>Ambas ferramentas criam arquivos .sis que podem ser instalados no telefone como um aplicativo nativo. </li></ul><ul><ul><li>Aparecem no menu principal e tem seu próprio ícone </li></ul></ul>C:devpython>ensymble_python2.5-0.26.py py2sis simplecube.py
    30. 30. Ops… Segurança do Symbian afeta o Python! <ul><li>www.symbiansigned.com </li></ul><ul><li>Acessando algumas funcionalidades “capabilities” específicas do telefone dependem de certificado do desenvolvedor assinado pela Symbian </li></ul><ul><ul><li>Captura de teclas(fora da aplicação) </li></ul></ul><ul><ul><li>Leitura do cell ID </li></ul></ul><ul><ul><li>Leitura do GPS (interno) </li></ul></ul><ul><ul><li>Ajuste do relógio do sistema </li></ul></ul><ul><ul><li>Acesso a arquivos protegidos do sistema </li></ul></ul><ul><ul><li>Obtenha seu certificado (ID) no Open Signed Online </li></ul></ul><ul><ul><li>Registre-se no www.symbiansigned.com . É gratuito! </li></ul></ul><ul><ul><li>Registre o IMEI do seu fone com o certificado (devcert) </li></ul></ul><ul><ul><li>Assine sua aplicação com o certificado </li></ul></ul><ul><ul><li>Instale seu aplicativo no telefone </li></ul></ul>
    31. 31. PyS60 API Tour e Exemplos
    32. 32. Layout básico de uma aplicação S60 <ul><li>Application pode ser usada para acessar e modificar o UI ( appuifw.app) </li></ul><ul><li>Elementos UI: </li></ul><ul><ul><li>Title </li></ul></ul><ul><ul><li>Tabs </li></ul></ul><ul><ul><li>Body (Text, ListBox, Canvas) </li></ul></ul><ul><ul><li>LSK and RSK </li></ul></ul><ul><li>Defina funções de tratamento de eventos para o menu Options e a tecla Exit </li></ul><ul><li>Espere por uma entrada do usuário usando uma “trava” -Active Object lock. </li></ul>
    33. 33. <ul><ul><li>Demo: SampleUIApp </li></ul></ul>Layout básico de uma aplicação S60
    34. 34. <ul><li>Controles de UI são implementadas como tipos em Python: </li></ul><ul><ul><li>ListBox </li></ul></ul><ul><ul><li>Text </li></ul></ul><ul><ul><li>Canvas </li></ul></ul><ul><li>Controles são atribuídos no corpo do aplicativo (usando app.body = control ) </li></ul><ul><li>Caixas de diálogo (Dialogs) são implementadas como funções chamadas a partir do módulo appuifw . </li></ul><ul><li>Objetos específicos para tratamento de conteúdo (Content_handlers para acesso à arquivos). </li></ul>Layout básico de uma aplicação S60
    35. 35. Layout básico de uma aplicação S60 <ul><ul><li>Demo 2: MenuApp </li></ul></ul>
    36. 36. UI framework – Componentes
    37. 37. Multimídia – audio, video, camera <ul><li>Aplicativos multimídia podem ser desenvolvidos através dos módulos: </li></ul><ul><ul><li>Audio – permite a reprodução e gravação de áudio e a funcionalidade de texto-voz (Inclusive fazer trotes!) </li></ul></ul><ul><ul><ul><ul><li>s=audio.Sound.open(u”c:rquivo.wav”)‏ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>s.record()‏,s.stop()‏, s.play() </li></ul></ul></ul></ul><ul><ul><li>Camera – Para tirar fotos, gravar vídeos, controlar aspectos da câmera e acessar configurações da câmera </li></ul></ul><ul><ul><ul><ul><li>Image i = camera.take_photo()‏ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>camera.start_finder(função), camera.stop_finder() </li></ul></ul></ul></ul><ul><ul><li>Graphics – Manipulação de imagens </li></ul></ul><ul><ul><ul><ul><li>graphics.Image.open(&quot;e:rea.png&quot;), graphics.Image.save(“e:hoto.jpg”) </li></ul></ul></ul></ul><ul><ul><li>** Sysinfo – Obtenha informações do seu aparelho. </li></ul></ul><ul><ul><ul><li>sysinfo.battery(),.imei(),.signal_dbm() </li></ul></ul></ul>
    38. 38. Messaging e Inbox – sms/mms <ul><li>O módulo Inbox permite você manipular sua caixa de entrada de mensagens </li></ul><ul><li>O módulo Messaging dá ao seu aplicativo o poder de enviar SMS e MMS </li></ul><ul><ul><li>messaging.sms_send(”96094364”, u”Oi”)‏ </li></ul></ul><ul><ul><li>messaging.mms_send(...)‏ </li></ul></ul>
    39. 39. Vamos construir nosso primeiro Aplicativo! 1. Importe todos módulos necessários 2. Ajuste o tamanho da tela(normal, large, full) 3. Crie a lógica da sua aplicação ... 4. Crie o menu da aplicação (se necessário) 5. Sete o evento de saída (exit key handler) 6. Sete o título da aplicação 7. Verifique os Actives Objects (Aos) 8. Sete o corpo da aplicação(text ou canvas ou listbox or none) 9. Crie um main loop (ex. While loop) se necessário <ul><ul><li>Demo: PyFoto </li></ul></ul>
    40. 40. Conectividade: Bluetooth <ul><li>As aplicações Python usam módulo socket padrão para comunicação via Bluetooth, TCP, etc. </li></ul><ul><ul><li>Demo: BluePy </li></ul></ul><ul><ul><li>Ativem seu bluetooth! </li></ul></ul>
    41. 41. Conectividade: HTTP e até XML!! <ul><li>Biblioteca urllib pode ser usada para HTTP e comunicações Web </li></ul><ul><li>Construa seus protocolos em scripts python para se comunicar com aplicações web (REST) </li></ul><ul><ul><li>Demo: PyFlicker </li></ul></ul>
    42. 42. Muito mais! Explore a API!! <ul><li>Localização </li></ul><ul><li>E32dbm (persistência) </li></ul><ul><li>Telephone </li></ul><ul><li>Contatos </li></ul><ul><li>Sensores…. </li></ul><ul><ul><li>Demo: Shake your music </li></ul></ul>
    43. 43. … E que tal um jogo Multi-player ?? <ul><ul><li>Demo: PyBattle </li></ul></ul><ul><ul><li>* Por favor, 2 guerreiros da platéia! </li></ul></ul>
    44. 44. O céu… ops, “Python” é o limite! <ul><li>Vários aplicativos podem ser desenvolvidos com Python! </li></ul><ul><ul><li>É só ter sua idéia, e botar a mão na massa! </li></ul></ul><ul><li>Extensões para PyS60 </li></ul><ul><ul><li>Crie suas extensões para incrementar seus aplicativos! (Open C/ C++)! </li></ul></ul><ul><ul><li>Flyer (FlashLite UI + PyS60) </li></ul></ul><ul><li>Games </li></ul><ul><ul><li>PyGame for PyS60 , OpenGames. </li></ul></ul><ul><li>Telefone </li></ul><ul><ul><li>CallStatus, Keypress, PyS60USB </li></ul></ul><ul><li>Web </li></ul><ul><ul><li>QrCodes, TwitterAPI, OpenSocial, WordMobi </li></ul></ul><ul><li>Outros </li></ul><ul><ul><li>PySchart, TunnerAPI, A.I. , GSM/3G Info, etc. </li></ul></ul>
    45. 45. Conclusão <ul><li>Introdução a Linguagem Python </li></ul><ul><li>www.python.org/doc </li></ul><ul><li>Vários exemplos do livro: </li></ul><ul><li>http://www.mobilepythonbook.com </li></ul><ul><li>Comunidade sempre à disposição ! </li></ul><ul><li>http://wiki.forum.nokia.com/index.php/Category:Python </li></ul><ul><li>http://wiki.opensource.nokia.com/projects/Python_for_S60 </li></ul><ul><li>http://croozeus.googlepages.com/pyS60 </li></ul><ul><li>Contribua com artigos, posts em fóruns, aplicativos, etc. Você pode se tornar um Forum Nokia Champion e ganhar prêmios! ( http://www.forum.nokia.com ) </li></ul>
    46. 46. Obrigado! Dúvidas?! Marcel Pinheiro Caraciolo [email_address]
    47. 47. Introdução à programação Python para smartphones Nokia S60 Marcel Pinheiro Caraciolo
    48. 48. Ensymble Usar o &quot;ensymble&quot; para gerar o arquivo SIS ( The Ensymble developer utilities for Symbian OS ): ensymble py2sis <source> <target> --uid=<uid> --appname= <appname> http://wiki.forum.nokia.com/index.php/How_to_make_py_to_sis_for_3rd_Editon_devices
    49. 49. Trote.py import telephone, audio, time s = audio.Sound.open(“E:ROTE.WAV”) telephone.dial(“190”) # espere atender s.record() time.sleep(10) telephone.hang_up() s.stop() # divirta-se com o resultado s.play()
    50. 50. Connectivity – urllib Source: webclient.py import urllib, appuifw, e32 URL = &quot;http://www.python.org/images/python-logo.gif&quot; dest_file = u&quot;C:atamagesython-logo.gif&quot; urllib.urlretrieve(URL, dest_file) lock = e32.Ao_lock() viewer = appuifw.Content_handler(lock.signal) viewer.open(dest_file) lock.wait()
    51. 51. import camera, e32, socket, appuifw PHOTO = u&quot;C:atamagest_photo_send.jpg&quot; def send_photo(): try: address, services = socket.bt_obex_discover() except: appuifw.note(u&quot;OBEX Push not available&quot;, &quot;error&quot;) return if u'OBEX Object Push' in services: channel = services[u'OBEX Object Push'] socket.bt_obex_send_file(address, channel, PHOTO) appuifw.note(u&quot;photo sent&quot;, &quot;info&quot;) else: appuifw.note(u&quot;OBEX Push not available&quot;, &quot;error&quot;) Connectivity – bluetooth photo sender Source: bluetooth.py

    ×