Olá pessoal,

Recebi hoje por e-mail pelo meio da lista de discussão do Python-Brasil, a divulgação de um projeto bem interessante denominado Marmota, que é uma aplicação que faz integração entre a placa arduíno e dispositivos móveis. O primeiro passo dos desenvolvedores foi desenvolver um carro de controle remoto, controlado pelo celular através de Python (PyS60).

No site oficial do projeto, você pode obter mais informações sobre o projeto com links, vídeos, fotos e até o download do código-fonte do projeto. Ah, e não esquecendo: Desenvolvido por brasileiros! Show!

Para vocês entenderem como funciona o projeto, disponibilizo um dos vídeos existentes no site oficial do Projeto Marmota:





Curso de PyS60 no PythonBrasil!



PythonBrasil[5]



Para os que irão participar do evento PythonBrasil em Caxias do Sul/RS nos dias 10 a 12 de setembro, não devem perder cursos de Python promovidos pelo INdT para as plataformas Symbian S60, Maemo e Qt. Fora a apresentação do projeto BRisa, que é uma biblioteca UPnP feita em puro Python para Maemo.

O curso de Python para celulares Série S60 será apresentada por Elvis Pfützenreuter. Sendo esta a terceira edição do curso no Python Brasil, o autor disponibilizou já os slides do curso em versão Open-Office e MS-Offfice:

http://epx.com.br/artigos/pys60_curso.odp
http://epx.com.br/artigos/pys60_curso.ppt

Para mais informações sobre pré-requisitos do curso e para quem vai participar e quiser já ir se preparando, pode acessar o blog do Elvis!

Parabéns pela iniciativa do INDT e do Elvis! Ahhhh, como eu queria está em Caxias do Sul no PythonBrasil :(

VII Encontro de Software Livre foi um sucesso!!

Olá pessoal,


Conforme informei em um post prévio neste blog, hoje ocorreu o VI Encontro de Software Livre da Escola Politécnica de Pernambuco. Posso dizer com todo eufemismo, cacofonias e repetições que o evento foi um sucesso! Gostaria de parabenizar a todo comitê de organização pelo alto nível que foi o evento, mesmo com todos imprevistos e improvisos! haha Software livre, é assim, soluções simples, abertas e colaborativas! Parabéns especial ao colega Marcos Álvares, mentor deste evento.

Fui convidado para ministrar uma palestra sobre Python para celulares Symbian S60, na verdade, o título foi um pouco grande , mas deu pra abordar com foco sobre como começar a desenvolver Python para celulares Symbian, em especial os S60 (Nokias N95, N73, N82, N96, E61, etc.). A palestra foi muito legal, haha acho que usei todos a infra-estrutura existente no evento (Internet, Som, Video)... Mas deu pra mostrar o poder de python nas plataformas, especialmente em dispositivos móveis. O que mais me impressiona, é que é a segunda palestra que apresento sobre Python para celulares Symbian, e a cada vez a quantidade de coisas que voce pode fazer com teu telefone cresce exponencialmente. Exibi vários exemplos (agradecimentos especiais a Marcelo Almeida, Croozeus, JOM pelos exemplos disponiveis no Wiki Forum nokia) usando recursos nativos do aparelho como SMS, MMS, bluetooth, Serviços REST e teve até aplicações para controle de video e mouse através do acelerometro do N95 com PyS60 (haha o melhor da palestra ao ver um dos episodios do seriado Big Bang Theory sendo controlado pelo Acelerometro).
O clímax da apresentação aconteceu quando apresentei um jogo multi-player feito em PyS60 com uma batalha Jedi entre eu e Emanoel (Agradecimentos a Emanoel por fornecer o seu aparelho com acelerometro). Realmente so vendo em video a nossa batalha.

Por fim, posso dizer que a maioria deve ter ficado satisfeita com a apresentação e sem dúvidas com o objetivo de atrair mais pessoas a começar a explorar Python para desenvolvimento em dispositivos móveis! Ah, não posso esquecer pelo velho método de sorteio realizado de camisas e brindes durante o evento, o velho random.randrange() salvando a gente no sorteio! =D Por fim, outras palestras foram muito boas, com destaque para palestras de Segurança, kernels, mobile open-source e framework para redes neurais. Sem dúvidas, um novo encontro desse porte deve acontecer em breve! Não espero a hora de ver o VII Encontro de software livre da Escola Politécnica!


Ah, as palestras foram filmadas (Acredito que a minah foi a mais dificil de ser filmada, porque eu me movia muito haha, devido ao uso dos exemplos dinamicos....) e com muitas fotos também. Em breve disponibilizo as fotos e o vídeo das palestras por aqui.

Enquanto isso, já disponibilizo o material (slides) da minha apresentação no Encontro, armazenado no site Slideshare (Rede social para compartilhamento de apresentações).



Ahhh Destaque para as camisas do GeekWorld, muito show as camisas!! Recomendo uma visita no site deles! =D


Ah, em relação a ter um novo evento de software livre por aqui em Pernambuco, não se preocupem o da Escola Politécnica já teve, mas já tem agendado aí um novo encontro em outra universidade! Fiquem de olho , no blog! Para novidades =D


Valeu,

Marcel


PySide: Python para Qt !

Pessoal do Openbossa labs (Nokia INDT) vem trabalhando fortemente num projeto de porting (bindings) de Python para Qt.

Este projeto, sobre licença LPGL, provê um wrapper em Python para o framework multi-plataforma Qt. Apesar de ser open-source, ela permite o desenvolvimento de aplicativos proprietários e suporta todas as plataformas (Windows, Mac, linux) como o Qt também.

Faça o download para Linux aqui. Cheque o possível cronograma do projeto aqui. Se voê está interessado em se envolver com o desenvolvimento de PySlide, aqui é o link que você deve acessar.

PS: Tive a oportunidade de participar de um Techday, um curso prático de um dia sobre Qt, e tenho que ratificar que ele é realmente muito fácil de construir, especialmente aplicacoes de interface gráfica. Faz tempo que nao via um editor visual (Designer) para LINU tao eficiente como o Qt Designer. Pessoal está de parabéns! Fora que é multi-plataforma. Esse binding de Python para Qt, só tem a melhorar ainda mais o uso da plataforma!

Fonte: Head like a hole

Palestra no VI Encontro de Software Livre sobre Python para Symbian S60!

Olá pessoal,


Gostaria de divulgar o evento no qual irei ministrar uma palestra sobre "Introdução para desenvolvimento de aplicativos Python para celulares Symbian S60". O evento é o VI Encontro do grupo de Software Livre da Escola Politécnica de Pernambuco - POLI - UPE em Recife Pernambuco. O evento visa reunir pesquisadores e entusiastas para um bate-papo e discussões a respeito de atualidades e tendências da produção de software livre no estado de Pernambuco.

O evento ocorrerá no sábado (próximo 22 de agosto) e começará a partir das 09:00 da manhã. Para mais informações sobre localização, ver site do evento.

Para se inscrever no evento, basta seguir as seguintes instruções:

  • Email para slpoli at dsc.upe.br
  • Com título "VI SLPOLI - INSCRICAO"
  • Nome completo, empresa/instituição de ensino
  • Levar 1 KG de alimento não perecível no dia do evento
Vagas são limitadas mediante a disponibilidade de vagas livres no auditório!

Mais informações podem ser encontradas no site oficial do evento.

Irei trazer algumas coisas interessantes que podem ser desenvolvidas em PyS60, apresentar alguns projetos open-source disponibilizados pela comunidade e introduzir os primeiros passos para quem está começando a querer aprender a desenvolver em aparelhos móveis (Nokia Symbian).

PS: Parece que a palestra irá ser gravada! Então para os que não poderão comparecer (especialmente os que não moram em Recife), se ocorrer a gravação disponibilizarei o vídeo da palestra aqui. Aguardem!




Carman: Aplicação para tablets maemo!

Pessoal,

Encontrei esse blog muito legal do Larry Junior sobre tecnologia em geral, com muita coisa sobre Python.... Fuçando o blog dele encontrei um post meio antigo (Março de 2009) sobre o lançamento do programa versão beta 2 do Carman 0.7.




Esse aplicativo totalmente open-source permite você acessar informações internas do seu veículo (sensores e dados) a fim de poder saber o estado atual do mesmo. Também inclui também funcionalides de mapas e GPS permitindo armazenar e gravar suas viagens e trajetos pecorridos e compartilhar essas informações com seus amigos direto do aparelho.

Este aplicativo está disponível para tablets da Nokia Série Maemo N8x0.

Tive a oportunidade de trabalhar algumas semanas num projeto similar a esse disponível para plataforma Python para Symbian S60. =) Sem dúvidas uma grande aplicação!

O mais legal foi ver esse vídeo, sobre o compartilhamento de informações entre os usuários do Carman. Com ele é possível verificar e localizar onde se encontram seus amigos no mapa e a distância em relação à sua posição atual até eles. (Módulo Info-Share).

Segue o vídeo desta feature em execução:


Para finalizar, gostaria de informar que o aplicativo é open-source e está disponível para download no site oficial aqui (Provavelmente não funcionará grande parte das features porque é necessário que seu carro tenha uma conexão OBD2. Geralmente, presente em carros americanos e europes, ainda raros no Brasil.)

PS: Desenvolvido em Python!!
Para aqueles que desejam configurar o acesso ao Bluetooth Console do interpretador PyS60 do seu celular symbian no MAC OS Leopard, disponibilizei um pequeno tutorial em português com o passo-a-passo.

Objetivo: Conectar ao bluetooth console do interpretador Python visando facilitar a digitação de comandos através do teclado real em vez do teclado do aparelho móvel.

Plataforma-alvo: Mac OS 10.5 Leopard

O primeiro passo é criar e configurar a conexão Bluetooth entre seu Mac e o telefone Mac com o "Bluetooth Setup Assistant". Depois, ter instalado o Python para S60 no seu aparelho móvel. Você pode fazer o download do mesmo aqui no site garage maemo.

Configurando uma conexão RS-232 com seu Mac

  1. Abra System Preferences e clique no ícone Bluetooth
  2. Clique no botão Advanced…
  3. Clique no botão ‘+’ e entre com qualquer nome para sua nova conexão serial. Sua nova porta de conexão serial será exibida como dev/tty.your-new-serial-port. Então escolha um nome simples e descritivo. No meu caso eu coloquei o nome bt-console.
  4. Selecione RS-232 na coluna Type.
  5. Clique OK e você está pronto para iniciar sua conexão RS-232.

Conectando com o PyS60 Bluetooth Console.

Agora que você está pronto para conectar seu Mac ao telefone Nokia através da conexão Bluetooth com a porta recém criada pelo protocolo RS-232, siga os seguintes passos para estabelece-la:

  1. No seu Mac, abra o Terminal (/Applications/Utilities/Terminal).
  2. No prompt de comando, digite: screen /dev/tty.bt-console
  3. No seu telefone Nokia, execute oPython S60.
  4. Vá até Bluetooth console (Options -> Bluetooth console)
  5. Quando aparecer uma caixa de diálogo, selecione ‘Default host’. Você irá receber uma janela de diálogo para escolher a porta. Selecione a porta que você recém criou no seu Mac.
  6. No seu Mac, Terminal deverá exibir “>>>“. Pronto! Você já pode escrever comandos Python no seu MAC onde serão executados diretamente no seu telefone!

Tenha certeza de substituir /dev/tty.bt-console com o nome que você escolheu para a porta serial.

Quando desejar sair do console Bluetooth, digitte control-D no seu terminal. Você irá desconectar da sessão console via Bluetooth.

Problemas

Se seu Mac e telefone não conseguirem se conectar, você pode tentar selecionar a opção "Other" no passo 5. Apenas lembrando que você deve executar o comando /dev/tty.bt-console no seu Mac antes de inicializar o Bluetooth Console direto do seu telefone.


Acho que é isso!

Programem em Python! E se divirtam =D


Marcel

Symbian UI Avkon dando lugar para o Qt!!


Acabei de ler uma notícia bem intrigante no site do rodrigostoledo. De acordo com o Gizmodo, em uma entrevista com um dos representantes do Symbian Foundation, que ele explicou que eles estão extinguindo a engine Avkon (legado do Symbian S60) e dando preferência à Qt, ou seja, acarretará numa quebra binária quanto aos apps do S60. Vale destacar que o termo "revolucionário" também foi mencionado durante a entrevista sobre as mudanças na interface.

custom_1249529725302_robotic-duck-overlord


Pelo que entendi, significa que é sem dúvidas uma bela notícia, especialmente aos desenvolvedores que ainda ficam com certo receio em desenvolver para Symbian com a linguagem Symbian C++, e finalmente revolucionar a tão manjada interface do Symbian S60 (não que seja ruim, mas é sempre bom dar uma reciclada!). Vamo aguardar para ver os novos aparelhos com este sistema operacional Symbian^4.

De toda maneira, fiquei preocupado com essa transição, quando se fala em quebra de compatibilidade de aplicações do S60 para esta nova plataforma. Reescrever tudo do zero ?! É um caminho meio sinuoso, se não tratado adequadamente. Poderiam fazer essa transição em etapas ? O Qt coexistindo com o Avkon e daí remover o Avkon posteriormente ? Seria uma boa para os desenvolvedores!

PS: Gostaria de ver o Maemo entrando nessa batalha de OS para smartphones. =p

Uma nova versão do PyS60 foi lançada, chegando na sua oitava versão 1.9.7 rumo à versão final 2.0.

Seguem as novas funcionalidades nesta versão:

* Suporte ao touch para o GLCanvas UI Control. O controle direcional é exibido por default nos aparelhos touchscreen. Um aplicativo demonstração (gles_touch_demo.py) foi adicionado ao ScrpitShell que demonstra a funcionalidade.

* Duas novas APIs foram adicionadas ao canvas - begin_redraw e end_redraw. Estes podem er usados para instruir o gerenciador de janelas a fim de manipular a repintura da tela no canvas UI Control. Mais informações podem ser encontradas na documentação (Seção 3.1.10).

* O listbox com múltipla escolha foi modificado de tal maneira que agora a caixa de diálogo "checkmark" agora tem a opção "Options" e "Back" na esquerda e direita respectivamente (softkets). O Back retorna o estado atual do listbox baseado nos items selecionados.

* O controle direcional (4-way directional pad) com suporte ao landscape.

* Diferentes tipos de ScriptShell podem coexistir no aparelho (Isso foi muito bom!!)

* Alterações no código do aplicativo exemplo Scribble com a adição do uso das APIs begin_redraw e end_redraw (Melhora de desempenho) e a área de pintura é mantida mesmo alternado para o modo landscape ou portrait e o toolbar se ajusta automaticamente de acordo com a alteração.

* E por fim, a documentação do PyS60 pode ser acessada online no site:
http://pys60.garage.maemo.org/doc/

* PS: Versões com código-fonte para uso no Linux e MAC OS agora disponíveis! =D

Para download do aplicativo, acessar o site garage maemo!


Instalando o ERIC IDE para desenvolvimento de PyS60 com auto-complete no MAC OS X (LEOPARD).


Olá pessoal,

Estava navegando pelo Forum Nokia, quando me deparei com a possibilidade de instalar um editor IDE de desenvolvimento para Python S60, o qual tem funcionalidades de auto-complete, calltips, etc. Ainda não havia encontrado nenhum editor para este tipo de tarefa! Assim que vi o tutorial, decidi conferir a IDE.

A IDE utilizada é a Eric4-IDE. Primeiramente, ela é uma ferramenta de desenvolvimento de projetos com suporte à diversas linguagens totalmente escrita em Python (Já gostei). Para isso ela utiliza o PyQt4 que é um add-on de Python para suportar o toolkit de interface gráfica Qt4. Assim que fui instalar o mesmo, já me deparei com um pequeno obstáculo: Infelizmente não há nenhum instalador executável (.dmg) para a plataforma Mac (atualmente meu sistema operacional). Então tive que construir manualmente todas as dependências necessárias a partir do código fonte para instalar o PyQt4 e alguns outros add-ons necesários.

Para aqueles que possuem o Windows executando na sua máquina, recomendo este tutorial disponível no Forum Nokia Wiki. Para os que possuem sistemas Unix (MAC OS X) ou Linux, disponibilizo um pequeno roteiro que segui para instalação de todas as ferramentas necessárias para a execução da IDE Eric4.

1. Python:

Python vem nativamente instalado em quaisquer distribuições OS X. Na versão 10.5.7 a versão 2.5.1 do Python é a que vem instalada. Então tudo pronto.

2. Instalar Qt4:

Faça o download do Qt4 (http://www.qtsoftware.com/downloads/sdk-mac-os-cpp). Instale-o normalmente com outra aplicação qualquer. Depois desta etapa, verifique se você já tem instalado o XCODE, se não, recomendo a instalação. Esta é uma ferramenta de edição e desenvolvimento para aplicações nativas para o MAC OS. Alguns compiladores disponibilizados pelo XCODE serão utilizados no próximos passos adiante. O XCode é gratuito e pode ser encontrado neste link.

3. Instalar SIP:

Primeiramente olhe o site http://www.riverbankcomputing.co.uk/software/sip/download e verifique qual versão é a mais atual. A minha foi 4.8.2. Faça o download do arquivo tar.gz (código-fonte para Unix -- não a versão bínaria do Windows) e extraia o seu conteúdo em uma pasta (No meu caso criei uma pasta 'Apps' para colocar todos os meus aplicativos que foram compilados manualmente). Após a extração da pasta, abra o Terminal e digite:

cd sip-4.8.2
python configure.py
make
sudo make install
cd ..

4.Instalar PyQT:

Instalar a versão mais atual do PyQt (que na época da escrita deste tutorial era 4.5.4). Faça o download do pacote de código fonte (source-code package) para a sua distribuição (Novamente MAC OS ou Linux). O arquivo é com terminação .tar.gz. O link para download é este.

Extraia seu conteúdo para uma pasta e novamente abra o Terminal e digite os seguintes passos:

cd PyQt-mac-gpl-4.5.4
python configure.py
make
sudo make install
cd ..

5. Instalar QScintilla:

Outro add-on necessário para a execução do ERIC, é o QScintilla. O source-package do mesmo pode ser encontrado neste link. Na época deste artigo a versão mais atual era a 2.4. Faça o download do arquivo correspondente (.tar.gz) e extraia em um diretório.

Abra o terminal e digite os seguintes comandos:

cd QScintilla2/QScintilla-gpl-2.4
cd Qt4
qmake qmake qscintilla.pro -spec macx-g++
make
sudo make install

Agora, compile o módulo Qsci:

cd ../python
python configure.py
make
sudo make install

6. Instale o Eric4:

Agora faça o download do editor Eric4 que pode ser encontrado na página oficial do projeto http://sourceforge.net/projects/eric-ide/files/ . Na época da escrita deste tutorial, a versão mais atual era:
eric4-4.3.6.tar.gz linux, mac, bsd, solaris, others 4.9 MiB Sat Aug 01 2009 10:55

Faça o download e extraia seu conteúdo em um diretório. Com o terminal aberto navegue ('cd') até a pasta correspondente:

cd eric4-4.3.6.tar.gz/

sudo python install.py

cd eric

sudo python install-i18n.py

Então, Tudo preparado! :-)

Mas onde está o mesmo instalado e como executá-lo ?
Eric4 foi instalado na pasta:

/Library/Python/2.5/site-packages/eric4/

e para executá-lo digite no finder ou no terminal:

eric4


Você verá o Eric4 IDE sendo inicializado! Segue um exemplo do Eric4 em execução:

Eric4 at Mac Os X Leopard


7. Configure o Eric4 para desenvolvimento com o PyS60:

Faça o download do plugin Refactoring Rope a partir do Eric, Plugins->Plugin Repository.... Instale-o via Plugins->Install Plugins..

Instale o PyS60 (https://garage.maemo.org/frs/?group_id=854).

Agora a API do PyS60 deve ser integrada ao editor Eric. Execute a ferramenta de geração de API, para criar o arquivo API do PyS60.

Ex: python /Library/Python/2.5/site-packages/eric4/eric4-api.py -o /Users/xxx/Apps/PyS60_api.api -R -p "Users/xxx/Apps/PythonForS60/module-repo"

Vá ate o ERIC IDE, Settings->Preferences...->Editor->APIs e selecione "Python" a partir da lista "Language". Clique em "..." e aponte para onde se encontra seu PyS60_api.api gerado (No meu caso /Users/xxx/Apps/PyS60_api.api). Clique em "Add". Você pode fazer esses mesmos passos para outros módulos Python também (bibliotecas Python e bibliotecas do PyQt4).

Pressione "Compile APIs", pressione "Apply" e presione "OK".

Em Eric, Settings->Preferences...->Rope, marque enable autocompletion.
Em Eric, Settings->Preferences...->Editor->Calltips, marque "Calltips Enabled".
Em Eric, Settings->Preferences...->Editor->QScintilla, selecione "From Doccument and API Files".

Pronto!
Crie seu primeiro e projeto e comece a desfrutar de uma ferramenta poderosa para construir seus scripts Python para celulares Symbian S60 com Auto-complete e call-tips =D

Atenciosamente,

Marcel

top