Python no Z6

Post on 01-Nov-2014

2.263 views 5 download

Tags:

description

 

Transcript of Python no Z6

Python no Motorola Z6

Henrique G. G. Pereiraikkibr@gmail.com

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

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

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

● Compatível com a GPL

Por que Python?● Desenvolvedores ativos● Poderosa

● Biblioteca padrão muito boa● Simples

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

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

● Versão 1.5● Nokia

● Python for Series 60

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/

Python for Series 60● Comunidade Ativa● Eventos Internacionais

● Forum Nokia● Nokia CodeCamp

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

Motorola● Fundada em 1928

● Rádios para carros● Hoje em dia

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

● Celulares que rodam Linux!!!

Motorola + Linux● LiMo Foundation

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

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

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

MOTOMAGX™● 3 ambientes de programação

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

● QT!

MOTOMAGX™

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

● QtLite

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

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

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

MOTODEV Studio for Linux● Desenvolver aplicações nativas

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

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

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

Problemas● Como rodar o Python?

● Instalando e rodando● Como instalar o Python?

● Direto no shell● Mas cadê ele?

O primeiro problema● Como instalar?

● Assinatura Digital● $$$

● Certificação● $$$

● Open EZX● G1 e G2

O problema da shell● Modding

● MP LinuxMod● Bash, Telnet, FTP

● Outras coisinhas legais

● MP Power of Linux● Shell, Telnet

Soluções Atuais● Rodando via Telnet

● Precisa de outro computador● Mostrar pra outras pessoas

Soluções Atuais● Rodando pelo Bash

● Roda no celular● Complicado

● Teclas pequenas demais

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

● API meia-boca

Trabalhos Futuros● Distribuição

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

● Bindings pro Qt● Camera

Dúvidas?Sugestões?

Henr“Ikke” G. G. Pereiraikkibr@gmail.com