Python no Z6

27
Python no Motorola Z6 Henrique G. G. Pereira [email protected]

description

 

Transcript of Python no Z6

Page 1: Python no Z6

Python no Motorola Z6

Henrique G. G. [email protected]

Page 2: Python no Z6

Sobre a apresentação● Nível: Intermediário● Escopo:

● Python em celulares● Celulares Motorola rodando Linux● Port do Python para celulares Motorola Z6

● Pré-Requisitos:● Nenhum

● Processos de Compilação

Page 3: Python no Z6

O que é Python?● Altíssimo Nível● Interpretada● Multiplataforma

● Windows, Linux, Mac, BSD, Symbian● Multidispositivo● Python Software Foundation License

● Compatível com a GPL

Page 4: Python no Z6

Por que Python?● Desenvolvedores ativos● Poderosa

● Biblioteca padrão muito boa● Simples

● Comandos fáceis de memorizar● Boa aceitação

Page 5: Python no Z6

Python em Celulares● Smartphones com Windows● Iphone● Palm OS

● Versão 1.5● Nokia

● Python for Series 60

Page 6: Python no Z6

Python for Series 60● Symbian OS● Baseado no Python 2.2.2● Mantido pela Nokia

● Desenvolvido pela Nokia● Open Source● http://opensource.nokia.com/projects/pythonfors60/

Page 7: Python no Z6

Python for Series 60● Comunidade Ativa● Eventos Internacionais

● Forum Nokia● Nokia CodeCamp

● Integração total com o celular● Padrão de desenvolvimento

Page 8: Python no Z6

Motorola● Fundada em 1928

● Rádios para carros● Hoje em dia

● Equipamentos de Telecomunicação● Walk-talkies, Radios● Celulares

● Celulares que rodam Linux!!!

Page 9: Python no Z6

Motorola + Linux● LiMo Foundation

● Criar um sistema aberto para celulares● Baseado em Linux● Motorola, NEC, Samsung, LG, Ericson

● OpenSource● http://opensource.motorola.com

Page 10: Python no Z6

MOTOMAGX™● Plataforma Linux da Motorola● 1ª Geração

● A728, A760, A768, A780, E680, E680i, E680g● 2ª Geração

● A910, A1200, Rokr E2, Rokr E6, A810● 3ª Geração

● Rokr E8, Rokr Z6, Razr2 V8, i876, U9, A1600, A1800

Page 11: Python no Z6

MOTOMAGX™● 3 ambientes de programação

● Java ME (1ª geração)● WebUI (2ª geração)● Linux (3ª geração)

● QT!

Page 12: Python no Z6

MOTOMAGX™

Page 13: Python no Z6

MOTOROKR Z6● Processador ARM● GSM● MiniUSB / Bluetooth● 64MB memória on-board● Java● Linux 2.6.10

● QtLite

Page 14: Python no Z6

Portando o Python!● Motivações● Por onde começar?● Problemas● Funciona, e agora?● Trabalhos Futuros

Page 15: Python no Z6

Motivações● Meu celular rodar Linux● Python roda em qualquer lugar● Python é OpenSource● Vou fazer meu celular rodar Python!

Page 16: Python no Z6

Por onde começar?● Baixar os fontes

● Python 2.5● Compilar os fontes

● Z6 não tem compilador● Cross-compilar no pc e mover pro Z6

● MotoDev Studio

Page 17: Python no Z6

MOTODEV Studio for Linux● Desenvolver aplicações nativas

● C/C++● IDE baseada no Eclipse● Máquina Virtual● Toolchain específico

Page 18: Python no Z6

Cross-Compilando● Complicado

● Python usa o próprio binário pra compilar e instalar alguns módulos

● binário pra arm não funciona em x86● Python tenta importar módulos compilados

● muitos erros● Módulos desaparecidos

● Necessidade de alterar a maneira como a compilação é executada

Page 19: Python no Z6

Compilou, e agora?● Testar na máquina virtual

● Verificar o que deu errado● Corrigir e recompilar

● Tudo funciona Ok!

● Enviar pro celular● Cartão MicroSD

Page 20: Python no Z6

Problemas● Como rodar o Python?

● Instalando e rodando● Como instalar o Python?

● Direto no shell● Mas cadê ele?

Page 21: Python no Z6

O primeiro problema● Como instalar?

● Assinatura Digital● $$$

● Certificação● $$$

● Open EZX● G1 e G2

Page 22: Python no Z6

O problema da shell● Modding

● MP LinuxMod● Bash, Telnet, FTP

● Outras coisinhas legais

● MP Power of Linux● Shell, Telnet

Page 23: Python no Z6

Soluções Atuais● Rodando via Telnet

● Precisa de outro computador● Mostrar pra outras pessoas

Page 24: Python no Z6

Soluções Atuais● Rodando pelo Bash

● Roda no celular● Complicado

● Teclas pequenas demais

Page 25: Python no Z6

Problemas (ainda) Sem Solução● Threads● Interface Gráfica

● API meia-boca

Page 26: Python no Z6

Trabalhos Futuros● Distribuição

● Versão Pública● Acesso● Interface Gráfica

● Bindings pro Qt● Camera

Page 27: Python no Z6

Dúvidas?Sugestões?

Henr“Ikke” G. G. [email protected]