Arquivo para categoria Nokia N95

Wordmobi versão 0.2.0

Este programa está dominando o meu tempo livre, tá virando vício … E este Python para S60 é cheio de contornos … Acho que achei um bug nele hoje, com o objeto não limpando a pilha na hora de ser instanciado e sendo inicializado com valores antigos, preciso testar provar isto depois …

Bom, o link do anúncio é este, o download pode ser feito aqui e o código fonte está acolá.

Acho que não é preciso dizer mais nada …

Deixe um comentário

Primeiras impressões do Nokia E71

Confesso que esperava apenas um N95 com teclado quando comprei o E71. O que já seria suficiente pra mim, que acabo digitando muito. Mas encontrei um aparelho completamente novo, mesmo tendo o mesmo sistema operacional. Pra começar, o E71 é mais rápido do que o N95 em todas as operações. A navegação web ficou mais agradável por causa disso e pelo fato de a tela ter a sua maior dimensão na horizontal.

Outro ponto de conforto é o teclado. Os controles de navegação do N95 eram um pouco duros e faziam meus dedos doerem. O T9, por sua vez, também acabava atrapalhando um pouco. Com o E71 estes problemas são resolvidos, mesmo com o teclado minúsculo dele. Ainda estou me acostumando, mas a sensação do teclado é ótima, agredindo menos meus polegares. Sem falar que possui esquemas de entrada inteligente, como todos os concorrentes, teclado com “ç” e “ctrl+C” e “ctrl+V” !

O aparelho Impressiona por ser muito fino, apesar de nem ser tão leve por causa da bateria imensa  que o acompanha. Nenhum teste científico ainda de duração mas já dá pra notar que passa longe da duração do N95.

No bolso, ele incomoda muito pouco, algo que não acontece com o N95.  O design é primoroso, realmente um aparelho muito bonito (se a minha esposa disse que é bonito é porque é mesmo !). A iluminação do teclado é também no ponto certo e o detalhe das tecladas de navegação que piscam ao receber eventos é muito charmoso. O acabamento metálico da tampa da bateria é outro diferencial, com um sistema de encaixe infinitamente superior ao do N95. Basta dizer que já tinha trocada a tampa da bateria uma vez porque simplesmente ela não aguenta muitas remoções e inserções.
O programa de email do E71 me lembrou muito os blackberries, com uma lista com fontes pequenas mostrados os detalhes de cada email recebido e uma wizard extremamente esperto para configurar novas contas de emails sem nenhum sofrimento. Tudo o que eu queria !

Se perde alguma coisa, claro. A câmera do N95 é realmente muito melhor, assim como senti falta dos controles dedicados ao music player ao mesmo de uma tecla para acionamento da câmera. Também não terei mais a oportunidade de editar um vídeo diretamente do celular, como fazia com o N95. Os ícones e o acabamento gráfico é menos belo, na minha opinião. Até mesmo a fonte usada no N95 é mais agradável.

Até agora vi dois pequenos problemas nele. Um é um chiado no beep das teclas que acontece às vezes. Se segurar continuamente uma tecla pressionada irá perceber isso ou se aumentar o volume delas (espero que não seja um problema na minha unidade). Além disso, o sports track teve vários problemas de atualização da posição mesmo após o GPS ter sincronizado. Pode ser também impressão minha, preciso testar mais.

E, como super suspeito por ser fanboy da Nokia, existe um pacote a mais ao adquirir um telefone desses. Serviços como o ovi.com para sincronismo dos dados e compartilhamento de vídeos e imagens, serviços como o sports tracker e mapas. Outra coisa super útil foi poder transferir todos os meus contatos, calendários e notas de um celular para o outro, diretamente, sem intermediários. Ainda não testei a encriptação do cartão, algo que me parece interessante.

Ah, e minha esposa também ficou feliz por ter herdado o meu ex-N95!

Update: Um review interessante, também focado em diferenças e novidades do E71 (thanks, Franz).

19/10/2008 tela inicial do E71 - Share on Ovi

19/10/2008 programa de email - Share on Ovi

41 Comentários

Python para S60 – III

Tudo bem. Eu fiz o meu aplicativo e agora quero distribuí-lo. O que fazer ? Simples, para um telefone S60 terceira edição. Basta usar o ensymble, configurando-o adequadamente na linha de comando.

Se o seu aplicativo for composto de apenas um arquivo, algo como o script a seguir será suficiente:

#!/bin/bash
VER="0.1"
APPNAME="demo"
CAPBLS="NetworkServices+LocalServices+ReadUserData+WriteUserData"

python ./ensymble.py py2sis --uid=0xefefefef --version="$VER" \
       --appname="$APPNAME" --caps="$CAPBLS" "$APPNAME.py" "$APPNAME.sis"

VER é a versão do aplicativo, informada no instante da instalação. CAPBLS é a lista de ações que o seu programa pode fazer no sistema (mais aqui). Se omitir isso, ele não fará praticamente nada. Além disso, o seu script precisa que o Python esteja instalado e herdará dele um conjunto de capabilities. Isto que dizer que talvez alguns recursos não estejam autorizados mesmo que você os liste, como a parte de localização (GPS). Neste caso, é necessário que você assine o seu interpretador Python no Symbian Signed antes de instalá-lo. O uid é o identificador numérico da aplicação, controlado pelo equipe do Symbian, mas que possui faixa livre para testes (de 0xE0000000 a 0xEFFFFFFF, escolha um). Finalmente, são colocados o nome do aplicativo, do script e do arquivo de instação (.sis). Existem outros parâmetros, dê uma olhada com ensymble py2sis –help.

Ah, para instalar o interpretador, baixe a versão “unsigned testrange“, isto é, com uid numa faixa de teste, e assine-o no Symbian Signed. O Processo é simples, todo feito via web/email e bem descrito na página. Você precisará do seu IMEI (*#06#) também já que o programa só valerá para o seu celular.

E se o seu programa tiver mais de um script ? Bom, que tal aguardar o próximo post ? ;-)

2 Comentários

Python para S60 – II

No meu post 2 sobre PyS60, resolvi colocar uma pequena demonstração de como criar um programa. Dá para emular com o pys60-compat e nem mesmo usar um celular S60.

# -*- coding: utf-8 -*-
import appuifw as gui
import e32

class Demo:
    def close(self):
        self.app_lock.signal()

    def about(self):
        gui.note( u"Demo is only a demo", "info" )

    def lst_cbk(self):
        idx = self.body.current()
        gui.note( u"List cbk %d" % idx, "info" )

    def main(self):
        gui.app.exit_key_handler = self.close
        gui.app.title = u"Demo"
        gui.app.menu = [( u"About", self.about ),
                        ( u"Exit", self.close )]

        self.body = gui.Listbox([ u"Demo a", u"Demo b" ], self.lst_cbk )
        gui.app.body = self.body
        self.app_lock = e32.Ao_lock()
        self.app_lock.wait()

if __name__ == "__main__":
    dm = Demo()
    dm.main()

O código é um pouco evidente. Basicamente o módulo appuifw (que eu troquei por gui) faz todo o trabalho sujo da interface, permitindo a definição de uma aplicação com menu (gui.app.menu), do corpo do programa (gui.app.body), título (gui.app.title) e da função de saída (gui.app.exit_key_handler). Os menus são definidos através de tuplas do tipo (u”rótulo”, callback) e o corpo do programa usado foi uma Listbox. É possível usar também uma caixa de texto ou uma área de desenho (canvas). Ao ser selecionado um elemento da lista, o método self.lst_cbk é chamado, como pode ser visto na criação da Listbox.

O programa roda até um que semáforo chamado self.app_lock seja sinalizado, o que acontece dentro da função close(). No caso, self.app_lock, criada em main via e32.Ao_lock(), é sinalizada através do menu “Exit”, liberando o código em self.app_lock.wait().

para usar o pys60-compat basta baixar os arquivos e colocar no mesmo diretório do seu aplicativo. Usando o WxWidgets, ele irá criar uma interface para o seu programa. Ok, não é muito parecido, mas vai lhe poupar muitas horas de debug. Vejam como ficou:

Para rodar no seu celular, copie o script dentro de e:\python, no cartão de memória. Depois, de dentro do interpretador, mande executar o script. Imagens a seguir e um breve tutorial de como gerar um .sis num post futuro.

6 Comentários

Python para S60 – I

Semana passada participei da semana de mobilidade da USP/SC, em especial de um curso de programação Python para S60 (Symbian). O treinamento foi dado pelo pessoal da ProFUSION, sendo um de PyS60 e outro relacionado à plataforma Maemo. Pra quem gosta de Nokia, Python e programação, foi diversão certa (ok, jantar todo dia no Habibs não foi tão bom).

O meu “trabalho final” foi construir um cliente de publicação para o WordPress, algo que eu já queria fazer há muito tempo e não tinha visto nenhuma aplicação de código livre. Bom, ainda estou longe de ter isto finalizado, mas já dá para puxar os últimos posts e postar somente texto.

Criei um projeto no Google Code chamado WordMobi, que já tem o que desenvolvi até o momento mas não está adequadamente documentado ainda. Também ainda não existe um .sis funcional do programa, apesar de o script rodar normalmente (sinceramente, não entendi isso ainda). Vou trabalhar mais nos próximos dias e reportar as novidades aqui (notem que o post é numerado).

O que já funciona é o shell remoto via WiFi. Usando uns fragmentos de código visto no treinamento, fiz um aplicativo para usar o WiFi e disponibilizar o shell python do telefone no shell do Linux. É praticamente impossível desenvolver sem usar alguma coisa parecida já que digitar num shell em T9, diretamente no telefone, é como fugir de uma cela com uma colher de sopa. Em geral é feito um shell remoto via bluetooth, principalmente em telefones que não tem WiFi. Como eu não dou muita sorte com a combinação bluetooth+Linux, preferi o caminho WiFi, que é estável e fácil de configurar.

7 Comentários

Sports Tracker Workout

Se tem uma coisa que achei fantástica e só descobri o potencial estes dias foi a integração entre o Sports Tracker da Nokia e o site do Sports Tracker. Rode o programa, defina o exercício e comece. Ele vai salvar a rota executada, com o auxílio do GPS. Além disso, se tirar fotos durante o passeio, ao fazer o upload dele será oferecida a chance de encontrar automaticamente estas fotos e enviá-las para o site também (baseado, no fundo, na data e hora). No final, um roteiro documentado para quem quiser repetir. Existe ainda a chance de fazer o download de um arquivo KML, que pode ser aberto no Google Earth ou salvar o percusso como uma rota.

Fizemos hoje uma caminhada (valeu Rogério!) de umas duas horas, cujo link é o seguinte:

http://sportstracker.nokia.com/nts/workoutdetail/index.do?id=434737

2 Comentários

Dial up via bluetooth no Ubuntu 8.04 … bem que poderia ser mais simples

Na minha última instalação, deixei o Windows apenas na VM do VirtualBox (oi, Franz!). Uma conseqüência direta desta ação é ter que entender como fazer um dial up via conexão bluetooth, algo bem simples no Windows e que eu usava ocasionalmente quando o GPRS era a minha única forma de contato com o mundo.

Vou reproduzir o caminho mais fácil que vi até agora, uma vez que não achei nada intuitivo. Ainda é preciso melhorar muita coisa neste mundo bluetooth, principalmente com relação as interfaces de configuração. Já em termos de funcionalidade eu não posso reclamar: o bluetooth do Linux é bem flexível e com muitos recursos.

O primeiro passo é explicitar o pareamento entre o seu telefone e o notebook. Descubra o MAC e o nome do seu telefone através do comando hcitool:

marcelo@dexter:~/bluetooth$ hcitool scan
Scanning …
00:1C:35:C2:3F:D2    Marcelo N95

De posse dessa informação, edite o arquivo /etc/bluetooth/rfcomm.conf.

marcelo@dexter:~/bluetooth$ cat /etc/bluetooth/rfcomm.conf
# RFCOMM configuration file.
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:1C:35:C2:3F:D2;
# RFCOMM channel for the connection
channel    2;
# Description of the connection
comment “Marcelo N95″;
}

Eu deixei o bind automático na partida, isto é, ao ser iniciado o bluetooth, será criada  uma porta serial /dev/rfcomm0. É menos seguro, pois caso alguém fique pareado com o seu notebook, terá uma porta serial para usar. Caso não prefira isso, deixei como “no” e faça o bind manual com:

sudo rfcomm bind /dev/rfcomm0

Até agora apenas possibilitamos um caminho (rfcomm0) para entrar no mundo bluetooth via uma porta serial virtual. O próximo passo é interligar esta porta à porta do modem do seu celular, via bluetooth. Este passo é simples, bastando parear o seu celular com o notebook. No N95, use o assistente bluetooth.

Neste momento, os dispositivos estão pareados e existe (deveria existir) uma porta /dev/rfcomm0 disponível para discagem.

marcelo@dexter:~/bluetooth$ ls /dev/rfcomm0 -l
crw-rw—- 1 root dialout 216, 0 2008-05-04 11:45 /dev/rfcomm0

O passo final é realizar a discagem. Configure adequadamente o Gnome PPP, como indicado nas figuras abaixo. O usuário e senha não importam muito, eu usei tim/tim. O número discado (*99***1# )é um número GRPS conhecido para dial up, talvez ele possa ser diferente. Consulte a sua operadora.

Pronto. Provavelmente você verá o ícone do GPRS ativo no seu celular (3G um dia…) e conexão estará operacional:

marcelo@dexter:~/bluetooth$ ifconfig ppp0
ppp0      Link encap:Protocolo Ponto-a-Ponto
inet end.: 189.65.143.133  P-a-P:10.6.6.6  Masc:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Métrica:1
pacotes RX:4 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:5 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:3
RX bytes:64 (64.0 B) TX bytes:97 (97.0 B)

marcelo@dexter:~/bluetooth$ route -n
Tabela de Roteamento IP do Kernel
Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface
10.6.6.6        0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

marcelo@dexter:~/bluetooth$ cat /etc/resolv.conf
nameserver 189.40.238.6
nameserver 189.40.238.7

marcelo@dexter:~/bluetooth$ ping uol.com.br
PING uol.com.br (200.221.2.45) 56(84) bytes of data.
64 bytes from home.uol.com.br (200.221.2.45): icmp_seq=1 ttl=56 time=1031 ms
64 bytes from home.uol.com.br (200.221.2.45): icmp_seq=2 ttl=55 time=832 ms

Referências:

http://www.guiadohardware.net/tutoriais/gprs/

http://antrix.net/journal/techtalk/nokia_python_bluetooth_console.html

4 Comentários

Manual de serviço do N95

Cheguei por acaso no link mas gostei bastante: manual de serviço do N95! Fotos detalhadas de como desmontar e montar. Adoro isto, ainda mais fora do período de garantia ;-)

Veja mais Aqui e Ali.

Placa N95

Deixe um comentário

N95 8GB, faça o seu, sem custo nenhum

Vi agora no Symbian-Freak uma notícia sobre a empresa KunerLite, que fez uma propaganda onde um N95 8G é construído do zero no Microsoft Paint. É impressionante e dizem que levou umas 10 horas. Espero que seja verdade mesmo ! ;-)

1 Comentário

N95, fazendo a festa com o 3G (no dia que você tiver isso)

Problema: você está com seu notebook e celular, sinal de torres de celular disponível. Porque não compartilhar a rede de dados (3G/EDGE/GPRS/SDF*), via WiFi, com o seu notebook ? Ou mesmo com outros notebooks próximos ?

Solução 1: coloco a faca entre os dentes, uma faixa na testa, faço um proxy no Python do S60 em uma hora e coloco isto pra funcionar de forma capenga. No fundo já tinha um mais ou menos pronto, que fiz um ano atrás, muito boqueta mesmo.

Solução 2: procuro no Google uma solução pronta.

Pensei um pouco (2 segundos) e resolvi ir pra solução 2. Achei um programa bem interessante, chamado Joiku. Ele é gratuito por 90 dias e permite compartilhar a conexão da rede telefônica via WiFi. Fornece IPs por DHCP também e estão prometendo criptografia WPA em breve. Eu não iria tão longe, com certeza …

Bom, cheio de tutoriais dummy para usuários de XP e Vista no site, obviamente não colocaram nada pra Linux. Fica aí a minha singela contribuição para a criação da rede Ad-hoc com o celular, uma vez que ele já esteja rodando o tal Joiku (eta nome feio, sô):

sudo ifconfig eth1 down
sudo iwconfig eth1 mode ad-hoc
sudo iwconfig eth1 essid JoikuSpot_1
sudo iwconfig eth1 key off
sudo ifconfig eth1 up
sudo dhclient eth1

Estou supondo que eth1 é a sua interface wireless do computador e que JoiKuSpot_1 é o SSID da rede. O prefixo JoikuSpot é sempre gerado pelo programa, coisa que eu detestei. Este post foi feito usando o programa, cujo screenshot, provando a minha conexão, está abaixo.

O programa também é útil para notebook sem bluetooth, geralmente a forma mais direta de se usar o celular como modem. Ou mesmo para os que tem bluetooth, mas usam Linux, como eu, e estão com preguiça de dar um monte de comandos pra isso.

SDF: Sinal De Fumaça, a forma de comunicação de dados mais semelhante à velocidade da TIM aqui no interior de SP

2 Comentários

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 508 outros seguidores