Usando um smartphone Android como leitor de código de barras para o PC

Leitores de código de barras são caros e os que são capazes de ler boletos parecem ser mais caros ainda. Eu prefiro o modelo de mão porque aqueles leitores onde você passa o boleto como se fosse um cartão costumam ser absurdamente problemáticos. Eu sei que eles lêem caos especiais de código de barras, mas absolutamente nada que justifique um aumento de preço:

  • Contas de consumo (água, telefone, gás): O código de barras não tem os dígitos verificadores da linha digitável
  • Boletos: O código é bem diferente do que se vê na linha digitável, mas certamente é trivial derivar um do outro.

E o Bradesco faz distinção entre uso de leitor e digitação por causa disso.

Mas um dia desses eu me perguntei: será que não dá para fazer com o smartphone?

E dá. Existem diversas apps que se prestam a fazer especificamente isso e eu já estava preparando um post sobre os variados graus de sucesso que tive com elas quando esbarrei em uma dica em um fórum que e fez desistir das apps específicas: use o ClipSync para isso.

O “segredo” é que a app “Barcode Scanner” da ZXing que várias, senão todas, as apps específicas já exigem que você tenha instalado, tem uma configuração default para colocar na área de transferência todo código lido.  ClipSync detecta isso e transfere o código lido para o servidor. Você só precisa clicar no campo onde você precisa inserir o código e teclar CTRL-V. Eu ainda vou analisar como é o comportamento com boletos e contas, mas no geral a coisa funciona bem. Se o código lido precisar de alguma transformação antes de ser inserido (é possível com boletos) eu já estou me preparando para fazer meu próprio programa servidor para cuidar disso.

A seguir o rascunho do que achei sobre os programas específicos que encontrei e se prestam a esta tarefa. Notar que como cada um deles tem um problema eu parei de me importar com eles e estou investindo agora na solução baseada no ClipSync.

 

Início do rascunho

Existem várias app que se propõem a fazer isso, com variadas abordagens do problema e também variados níveis de qualidade.

Várias dessas apps usam o mecanismo da ZXing, por isso você precisa ter instalado o Barcode Scanner.

Todas as abordagens requerem que você tenha um programa rodando no PC, que vai receber o código via rede ou bluetooth e simular um leitor USB.

Para simplificar eu vou chamar “o programa que roda no PC” de “ponte”.

Barcode 2 PC

É a mais simples de todas, em mais de um sentido. A app ainda requer melhorias e a ponte é um simples servidor windows socket escutando na porta 6000 em conjunto com um simulador de teclado. Funciona, mas requer que você configure manualmente o IP e a app tem uns bugs incômodos como o IP selecionado não aparecer e a aparente impossibilidade de apagar endereços errados ou não mais usados.

O “protocolo” de comunicação nem pode ser chamado assim. A cada scan a app simplesmente manda três linhas para a ponte. A primeira com o código, a segunda informando se foi configurada para adicionar um ENTER ou um TAB depois do código (não entendo porque a ponte precisa disso já que é trivial detectar) e a terceira se é para dar um BEEP na recepção.

O usuário não vê nada disso, claro. Ele só vê o código “aparecer” no PC após ser lido no telefone/tablet.

Atualizada pela última vez em junho de 2014. Até o site do desenvolvedor está fora do ar. Isso sugere que precisamos nos acostumar com ela como ela é.

Send Barcodes to PC

Desenvolvedor brasileiro, se propõe até a ler boletos e NFe, mas requer uma conexão com a internet porque o código é enviado para o site dele de onde é enviado para o PC. E para  demonstrar como essa é uma idéia ruim, o site dele estava fora do ar no momento do meu teste, impossibilitando o uso da app. Nem pude baixar o executável para PC.

Barcode to PC: Wi-Fi scanner

App e ponte são open source. É um ponto positivo. Mas o modo como a app se comunica com a ponte parece tão confuso que mesmo olhando o código eu não pude entender. O desenvolvedor decidiu fazer comunicação via websocket, o que requer que ele execute um servidor web no PC. E esse parece ser só o começo da gambiarra.

Requer a instalação de um pacote enorme de 30MB (resultado comum das gambiarras “cross-plataforma”), que além de evidentemente instalar o tal servidor web diz que vai instalar o Bonjour no seu PC, algo que fica rodando mesmo que você não use o programa.  Isso é feito supostamente  para facilitar a vida do usuário e a do desenvolvedor mas francamente usar o Bonjour para isso é a próprioa definição de overkill. A ponte supostamente usa o bonjour para se se anunciar na rede via broadcasts e a app automaticamente descobrir onde ela está, sem ser necessário você configurar o IP. Mas enviar e receber mensagens UDP, que são a base para esse mecanismo de localização é relativamente simples.

Porém no meu caso o bonjour parece não ter sido instalado. Isso pode ser resultado requerimentos de licença da Apple (o Bonjour é gratuito, mas você precisa imprimir e assinar um acordo de 16 páginas com a Apple e enviar por correio tradicional à sede da empresa no Texas. ) Testado numa VM Windows 7 x86 SP1. A ponte reclama disso e a app não consegue encontrar o PC, mas a ponte apresenta um QR Code que resolve o problema de comunicação.

 

BarCode Scanner to Pc (Wi-Fi)

App não rodou nem no Android 5.1.1 nem no 6.0. Conseguiu rodar no 4.4.2 mas logo após ver um código de barras o programa trava. A ponte nunca parece receber nada.

Fim do rascunho

3 comentários
  • Jefferson - 6.606 Comentários

    Outra característica interessante do Barcode Scanner para essa aplicação é o Histórico de leituras. Você pode escolher na lista qualquer um dos últimos códigos lidos que o código é copiado também para a área de transferência e se for diferente do que estava lá dispara o ClipSync. Agiliza muito os testes.

  • Roberto - 1 Comentário

    Olá,
    Já testou o app CIGAM Boletos ?

    https://www.cigam.com.br/cigam-boletos

    Eu usei por muito tempo até que o Itaú implementou o leitor de código de barras no próprio APP.

    • Jefferson - 6.606 Comentários

      Eu havia testado o Cigam Boletos em janeiro de 2014 e esquecido completamente dele. E para completar, fazendo uma busca por “Cigam Boletos” não acha a app!

      Testei no meu telefone e no Chrome.

      Por um momento achei que ela havia sido retirada, mas ao fazer uma busca pelo Google, achei o site com os links para a app.

      Cigam Boletos é a mais bem feita de todas as que testei, embora só sirva mesmo para boletos e contas. Obrigado pela lembrança!

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »