Console Bluetooth no Ubuntu (e outros Linux)

Até hoje eu só conseguia usar o console bluetooth do Python S60 no Windows, o que me fazia ter o desgosto de usar o Windows para fazer programas em python para meu celular.

Hoje resolvi tentar para valer e consegui rodar o bluetooth console no meu Ubuntu seguindo os conselhos do Wiki do Forum Nokia e com um pouco de paciência e persistência.

Pelo que li nos vários lugares que pesquisei, esses passos não funcionam no Ubuntu 8.04. Eu consegui fazer funcionar no meu Ubuntu 8.10 64-bits e várias pessoas relataram sucesso com o 7.04 e com o 7.10. Alguns lugares disseram que esses passos também funcionam no Debian, mas eu não testei.

OBS.: Vou colocar no tutorial abaixo alguns comandos para serem executados no terminal. Os comandos sempre estarão em negrito. Tudo que não estiver em negrito nas caixas cinza não fazem parte do comando e, por conseguinte, não devem ser digitados.

Passo Zero: Arranje um computador com Linux. Ele vai precisar também de um adaptador bluetooth interno ou um adaptador bluetooth USB devidamente instalado.

Você também precisará ter no seu celular o interpretador Python e o Python Shell instalados. Se ainda não tem esses dois programas, visite o link abaixo e instale.

http://opensource.nokia.com/projects/pythonfors60/

Passo 1:
Instale no Ubuntu os programas e bibliotecas necessárias para o funcionamento do processo digitando a linha abaixo no terminal:

~$ sudo apt-get install gnome-bluetooth gnome-vfs-obexftp libopenobex1 obex-data-server bluez-gnome bluez-utils cu

(Não se preocupe, se você já tiver tudo isso instalado, esse comando não vai fazer besteira nenhuma.)

Passo 2:
Verifique se o adaptador bluetooth está funcionando corretamente digitando o seguinte comando no terminal:

~$ hcitool dev
Devices: hci0 XX:XX:XX:XX:XX:XX

Obs.: Eu substituí o endereço dos meus adaptadores bluetooth por XX:XX:XX:XX:XX:XX

Passo 3:
Registre a porta serial:

~$ sdptool add –channel=3 SP
Serial Port service registered

Alguns tutoriais disseram não ter conseguido conectar no canal 3. Se não funcionar com o channel=3, mude para channel=2

Passo 4:
Ative a porta para ficar aguardando uma conexão:

~$ rfcomm listen rfcomm0 3
Waiting for connection on channel 3

Passo 5:
Ative o bluetooth no celular e abra o Python Shell também no celular. (Aplicativos -> Python)

Depois clique em Opções -> Bluetooth console e escolha o bluetooth do computador como padrão.

Nesse momento você receberá a mensagem abaixo no terminal do computador:

~$ rfcomm listen rfcomm0 3
Waiting for connection on channel 3
Connection from XX:XX:XX:XX:XX:XX to /dev/rfcomm0
Press CTRL-C for hangup

Se você receber uma mensagem de erro igual a essa abaixo, não se preocupe, volte ao passo 4 e tente novamente. Deve funcionar na segunda vez.

~$ rfcomm listen rfcomm0 3
Waiting for connection on channel 3

Can’t open RFCOMM device: Permission denied

Passo 6:
Abra o console serial no computador e comece a usar o python do celular pelo terminal do computador (é feio o nome desse programa, mas é esse, fazer o quê?):

~$ cu -l /dev/rfcomm0
Connected.

>>>

Para testar, execute as duas linhas abaixo para abrir uma tela de alerta no celular:

>>> import appuifw
>>> appuifw.note(u”NokiaBR”)

É isso!

Caso você consiga fazer funcionar com outra versão do Ubuntu ou com outra distribuição de Linux, comente essa postagem para nos contar a distribuição do seu Linux e o celular que você usou para testar.

5 comentários sobre “Console Bluetooth no Ubuntu (e outros Linux)”

  1. Puxa, isto com certeza deve resolver o meu prolema no Linux ! Vou testar. Valeu pelo tutorial.

  2. Galera consegui fazer funcionar com Fedora Core 10 + Nokia N95 8GB, a unica mudança são o nome de alguns pacotes entre as distros de linux Ubuntu e Fedora. Ex. Pacote cu do Ubuntu no Fedora é uucp. Fora isso funcionou perfeitamente… Excelente Post!!!

  3. Comentário salvador o do Tobias!! Tava tentando fazer no mandriva e o nome do pacote cu tbm é uucp lá… valeu!!!

Os comentários estão fechados.