AnyRemote – Controlando seu PC pelo Celular

Olá!

Fale a verdade, você já se pegou em situações onde um bom controle remoto para o computador seria uma ótima idéia, como em uma apresentação, ou quando você está usando seu PC para ouvir música e está lavando louça e quer ouvir uma música em especial qualquer (bem, no meu caso foi Get Over, da trilha sonora do anime Hikaru no Go… :P). De qualquer modo, é um momento onde tudo o que você quer é controlar seu PC sem ter que chegar perto do seu teclado ou mouse.
Pois bem, para apresentações existem alguns controles remotos que conseguem “substituir” um mouse, mas são caros.
Pois bem: tem um celular com suporte a bluetooth e J2ME? Usa Linux? Então sem problemas!
Existe um software chamado AnyRemote que transforma um celular Bluetooth em controle remoto por meio de um cliente J2ME que deve ser enviado para o celular. É importante que a JVM J2ME do celular suporte Bluetooth por meio de JSR (Java Specification Request) 82. No meu caso, o teste foi feito com um celular Nokia 6085 e funcionou perfeitamente. No site do AnyRemote existe uma lista dos celulares suportados.
OK, então mão na massa.
Primeiro, tenha certeza de ter as dependências do mesmo instalado: você precisará de pacotes de bluettoth (libbluez, obex e libbluetooth), além de python e PyKDE (python e python-kde) ou Gtk Python. Se você já fez alguma operação Bluetooth com o seu celular em Linux, provavelmente terá tudo o que é necessário. Caso contrário, existem muitos tutorias na Internet sobre como configurar corretamente seu dongle (chaveiro USB) de Bluetooth no Linux.
Embora a maior parte das distribuições contem com o AnyRemote nos repositórios, vamos fazer a instalação a partir dos pacotes oferecidos no site do AnyRemote, pois eles são mais atualizados com arquivos para controle de aplicações e afins. No site do AnyRemote, clique em Download e baixe os seguintes pacotes (obviamente, no formato compatível com sua distribuição – no meu caso, como Debianista, os arquivos são .deb):

  • Cliente em Linha de Comando:
  • Cliente Gráfico – aqui utilizaremos o kAnyRemote para o KDE. Existe também o gAnyRemote para o GNOME, mas não comentaremos ele aqui:
  • Cliente J2ME – ele pode ser baixado também via WAP, mas o próprio kAnyRemote ao detectar o celular permite que o cliente J2ME seja enviado para o celular via Bluetooth:

Baixado tudo isso e instalado as dependências, conecte seu dongle Bluetooth. Caso necessário, faça todas as configurações exigidas para a comunicação entre seu celular e o computador via Bluetooth. É fundamental que todos esses recursos estejam corretamente configurados antes da instalação, pois o AnyRemote (e o kAnyRemote) utiliza-se da estrutura Bluetooth do Linux. Em distribuições mais atuais, tudo resume-se a espetar o dongle que ele é auto-identificado. Instale os arquivos baixados conforme a sua distribuição. Ligue o seu Celular e ative a função Bluetooth do mesmo.
Abra então o kAnyRemote. Ele irá jogar na System Tray (Bandeja do Sistema) um pequeno ícone o identificando. Clique com o botão direito em cima dele e você terá um menu como o exibido ao lado. Clique em Start e você irá ativar o serviço do AnyRemote. PS: perceba que também deve ter na System Tray um ícone com o símbolo do Bluetooth, que indica que tem um adaptador Bluetooth conectado e reconhecido. Ele não precisa estar azul nesse momento, pois não há operações nele.
Tela Principal do kAnyRemoteAgora, vamos trabalhar o AnyRemote. Dê dois cliques no ícone do kAnyRemote ou então clique com o botão direito do mouse e escolha Restore. Você irá receber uma janela igual à do lado (clique para ampliar). Essa é a janela principal do kAnyRemote, por onde você configura quais programas podem ou não serem controlados pelo AnyRemote. Existem várias opções para configurar aqui: iremos mexer apenas nos clientes cujo modo for Server (servidor). O outro modo, AT, é um modo que utiliza comandos AT (de modem) via WiFi ou infravermelho para controlar o computador, mas não falaremos dele aqui. O Modo Server é o modo que utiliza Bluetooth (e em alguns dispositivos, infravermelho). Existe ainda o Bemused, sobre o qual também não falaremos.
Ele é dividido em três Estados: Disponível (o programa a ser controlado está instalado, mas o agente do AnyRemote não está ativo para ele), Gerenciado (o agente está ativo) e Não-Disponível (o programa a ser controlado não está instalado). No caso, temos vários agentes Disponíveis, mas apenas um Gerenciado, que é o All_in_1, que funciona como “controle remoto universal”. Sugiro que deixe apenas esse em Gerenciado. Para desativar os demais, selecione qualquer um que esteja como Gerenciado e clique em “Parar”.

Tudo OK, é hora de enviarmos o cliente J2ME ao celular. Clique em Setup | Devices. Ele irá abrir uma janela que irá investigar todos os seus dispositivos Bluetooth. Espere um pouco e ele deve mostrar o seu dispositivo. No meu caso, é o “Nokia Fábio” ao lado. Selecione-o e clique duas vezes.
Agora, já indicamos ao AnyRemote que esse dispositivo pode acessar o computador, mas ainda ele  não o fará pois não tem o cliente J2ME instalado. Para fazer o deploy desse cliente, você também pode, caso a solução do envio automatizado não funcio, enviar o arquivo normalmente por OBEX File Transfer do Linux ou então por download do mesmo via WAP (lembrando que você precisará enviar dois arquivos, um .JAR e um .JAD). Mas vamos ao envio automatizado.

Ao clicar duas vezes, você receberá uma janela para fazer os ajustes das configurações para aquele celular. Primeiro, clique em Ping para verificar se está tudo OK e a comunicação é efetiva. O Celular pode perguntar se deseja aceitar comunicação e ou pareamento do mesmo com o computador. Confirme e, caso necessário, forneça a senha de pareamento (normalmente o computador pede para definir uma. Apenas escolha uma senha que você considere adequada e confirme a mesma senha no celular). Tudo OK, basta clicar em “Enviar Java”. Confirme o alerta que seu Celular deverá dar para o envio do arquivo. Tudo OK, clique em OK para sair. Uma configuração avançada é fazer com que uma determinada configuração do AnyRemote seja carregada de imediato no Celular uma vez que ele conecte-se ao AnyRemote. Para isso, clique em “Escolher” e escolha o arquivo .cfg correspondente.
Tudo bem… Agora é a hora da verdade: abra seu celular e vá ao menu de Aplicações do mesmo. Lá deverá estar listado o AnyRemote. Escolha-o. Pode ser que o celular pergunte se você deseja a aplicação usar recursos de conectividade. Permita, pois é justamente o acesso ao Bluetooth. Tudo correndo bem, o cliente irá automaticamente identificar uma conexão, à qual você irá se ligar. Você entrará no menu do All_in_1 (imaginando que ele esteja ativo). Escolha o programa que você deseja controlar. Em alguns casos na tela irá parecer com a imagem ao lado. Nesse caso, cada um dos símbolos representa a tecla do teclado do celular que deve ser pressionada para fazer a função ser ativada. Por exemplo, para suprimir o som na tecla ao lado, digite 2. Para fechar o programa, tecle 8 e para parar a música tecle 0. Em outros casos irá aparecer outros layouts. Nesses casos, utilize as teclas direcionais do celular para mover até a opção desejada e aperte o botão central do celular (o que normalmente fica dentro do direcional) para executar a opção.

Para terminar, existe formas de configurar o comportamento tanto do AnyRemote quanto do kAnyRemote. Vá em Setup | Preferences. Você receberá uma janela como a da imagem ao lado (clique para ampliar). Existe uma série de ajustes que você pode configurar, mas os mais interessantes são o Auto-Startup (para fazer com que o kAnyRemote seja carregado ao iniciar o KDE/GNOME) e as opções de Show in List, que filtram quais configurações devem ser apresentadas pelo kAnyRemote. Sugiro que se desmarque as configurações de Modo AT (uma vez que não as usaremos) e que marque-se a opção Custom Made, que indica que configurações não relacionadas a Aplicativos também devam ser apresentadas. Entre tais configurações consta a All_in_1 que citamos aqui.
Na realidade, existe muito mais para se falar sobre o AnyRemote, pois ele é poderoso o bastante para, em conjunto com as aplicações Linux que possuam algum tipo de chamada distribuída (como o DCOP do KDE ou mesmo disparos por linha de comando), ser customizada para controle remoto de praticamente qualquer aplicação. Basta apenas estudar a documentação disponível no site do AnyRemote.
Em tempo: para o pessoal que desejar saber mais sobre o AnyRemote, em especial sobre o uso do gAnyRemote, veja esse artigo do Blog do Venilton.

Powered by ScribeFire.

Sobre Fábio Emilio Costa
Linux, Free Software, EMACS, Rugby, Indycar, Doctor Who, Harry Potter... Yep, this is me!

One Response to AnyRemote – Controlando seu PC pelo Celular

  1. norberto moreno says:

    Gracias por su aportación, voy a probar su totorial, yo utilizo ubuntu 9.04 despues les comento.

Deixe um comentário