Conexão Bluetooth HIDD Persistente

0

Conseguiu conectar meu teclado e mouse Bluetooth com sucesso usando:

hcitool scan
sudo hidd --connect AA:BB:CC:DD:EE:FF

Mas se eu reiniciar ou mesmo ligar / desligar o dispositivo, tenho que reconectar via linha de comando. Qualquer maneira de fazer isso automaticamente?

Nota: Eu tentei conectar via bluez-simple-agent mas nunca tive sucesso. A conexão HIDD foi o único método que consegui fazer funcionar. Estou executando o Ubuntu 14.04

    
por ryandlf 18.09.2015 / 05:31

3 respostas

0

Eu recomendaria fazer um script de inicialização do init ou adicioná-lo por meio do programa "Aplicativos de inicialização", que é construídas em. Como você está usando um comando sudo, acredito que você precisará editar os sudoers para permitir esse comando sem solicitar um senha. Este link tem algumas informações adicionais.

Poderíamos criar um programa para fazer isso facilmente para que ele possa ser executado como um aplicativo?

    //resetbt.c
    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
      int x;
      int attempts = 0;
      while(attempts < 20)
      {
        x = system("hcitool scan");
        usleep("500000"); //added a little wait state
        printf("%d", x);    
        if(x != -1 && x == THE_CORRECT_VALUE_OF_X_FOR_SUCCESS_OF_FIRST_COMMAND) //the printf echos a number, check for when its working and when its not. Change the value to be the one it returns when its working
        {
          system("sudo hidd --connect AA:BB:CC:DD:EE:FF");
          exit(EXIT_SUCCESS);
        }
        attempts++;
      }
    }

Compilado com o gcc:

    gcc resetbt.c -o reset.bin
    
por Aedazan 18.09.2015 / 05:46
0

Eu resolvi o problema tentando o bluez novamente. Acontece que a razão pela qual não funcionou inicialmente foi porque eu estava executando os comandos na ordem errada. No Ubuntu 14.04 eu corro no terminal:

hcitool dev //Get HCI number
//Press Connect on Device
hcitool scan //Get MAC Address
bluez-simple-agent hci0 MAC_ADDRESS
bluez-test-input connect MAC_ADDRESS
bluez-test-device trusted MAC_ADDRESS yes

Eu acho que eu estava correndo em confiança antes de me conectar e por alguma razão eu sou minha máquina que eu tive que conectar primeiro antes de confiar.

    
por ryandlf 18.09.2015 / 06:36
0

Postagem antiga, mas eu procurei em toda a Web por uma solução aceitável. Aqui está .. rápido e simples

Crie o arquivo de configuração do dispositivo (/etc/bluetooth/hcid.conf ou /etc/bluetooth/input.conf)

# nano /etc/bluetooth/hcid.conf
device XX:XX:XX:XX:XX:XX {
  name "Wireless Keyboard";
  auth enable;
  encrypt enable;
}

execute e adicione essa linha ao seu /etc/rc.local

# hidd --server

Agora o hidd aceita conexões do dispositivo escravo.

    
por Hannibal 08.01.2016 / 10:59