Utilitário bluetooth de baixo nível

16

O que é um utilitário bluetooth para Linux que me permite emparelhar e desemparelhar dispositivos, exibir mensagens provenientes de um dispositivo, enviar mensagens para um dispositivo (espero que seja feito usando o sistema de arquivos!) E definir quaisquer sinalizadores disponíveis?

A aplicação em mente é que eu só quero dizer 10 teclados bluetooth minúsculos e mapear cada tecla de cada teclado para enviar uma mensagem MIDI (obviamente a parte midi não faz parte deste OP).

o espelho
fonte
Bom obrigado. Mas eu gostaria de usar o obex push para enviar arquivos em vez do obex ftp. Há algum jeito?

Respostas:

21

Aqui está uma lista de várias ferramentas que lidam com Bluetooth que você pode usar para interagir com um dispositivo.

hciconfig

hciconfig

  • Dá informações sobre o bluetooth hci no seu pc
  • Verifique se o dispositivo está funcionando e se possui os modos de digitalização necessários
  • A corrida hcitool devtambém deve fornecer algumas dessas informações

hcitool

hcitool inq e hcitool scan

  • Fornece informações sobre ou identifica dispositivos bluetooth próximos

hcitool info <BTAddr>

  • Obter informações sobre o dispositivo bluetooth remoto

l2ping

l2ping <BTAddr>

  • Uma maneira de ver se podemos nos comunicar com um dispositivo bluetooth remoto

sdptool

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • Fornece informações sobre os serviços fornecidos por um dispositivo bluetooth remoto

obexftp

obexftp –nopath –noconn –uuid none –bluetooth <BTAddr> –channel <OPUSHChann elNo> –put <FileToPut>

  • Permite enviar um arquivo sem especificar o pino no lado do dispositivo remoto
  • O número do canal OPush para o dispositivo é obtido no sdptool acima

obexftp -b <BTAddr> -v -p <FileToPut>

  • Permite colocar um arquivo no dispositivo BT especificado
  • O obexftp também pode ser usado para obter ou listar os arquivos no dispositivo BT
  • também permite identificar um dispositivo BT próximo, apenas dando a opção -b

agente de senha

passkey-agent –default <Pin>

  • O PIN especificado aqui é o que o dispositivo BT remoto deve fornecer ou seu usuário deve entrar nesse dispositivo quando solicitado.

obexpushd

obexpushd

  • Permite receber arquivos enviados de um dispositivo bluetooth.
  • Dependendo de quem o iniciou, os arquivos recebidos serão armazenados no diretório inicial correspondente

Emparelhamento

Você pode seguir as instruções deste site para emparelhar um dispositivo com sua caixa Linux via linha de comando. O aritcle é intitulado: Como emparelhar um dispositivo bluetooth a partir da linha de comando no Linux .

Exemplo

  1. Encontre o endereço mac do seu dispositivo bluetooth

    $ hcitool scan
    
    Scanning ...
        11:22:33:44:55:66   device 1
        12:34:56:78:90:12   device 2
    
  2. Configure o agente bluetooth para passar o código de emparelhamento esperado

    $ bluetooth-agent 0000 &
    
  3. Edite o arquivo de configuração rfcomm /etc/bluetooth/rfcomm.confe coloque o endereço MAC acima.

    rfcomm0 {
      # Automatically bind the device at startup
      bind no;
      # Bluetooth address of the device
      device 11:22:33:44:55:66;
      # RFCOMM channel for the connection
      channel 3;
      # Description of the connection
      comment "This is Device 1's serial port.";
    }
    

    NOTA: Uma ressalva importante: se você configurar o dispositivo para não ligar na inicialização (bind no;), precisará girar manualmente o rfcomm usando este comando antes de usar a porta serial (que também requer permissões de root).

    $ sudo rfcomm connect rfcomm0
    

Referências

slm
fonte