Постоянное HIDD Bluetooth-соединение

Мне удалось успешно подключить мою Bluetooth-клавиатуру и мышь с помощью:

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

Но если я перезагружаюсь или даже включаю / выключаю устройство, мне приходится заново подключаться через командную строку. Есть ли способ сделать это автоматически?

Примечание. Я пытался подключиться через bluez-simple-agent, но никогда не получалось. HIDD-соединение было единственным методом, который мне удалось заставить работать. Я использую Ubuntu 14.04

0
задан 18 September 2015 в 06:31

3 ответа

Я рекомендовал бы или создание сценарий запуска init или добавление его с помощью "программы" Приложений Запуска, которая встроена. Так как Вы используете команду sudo, я полагаю, что Вы должны будете к отредактировать sudoers для разрешения той команды, не прося пароль. Этот ссылка имеет некоторую дополнительную информацию

, Мы могли сделать программу, чтобы сделать это легко так, чтобы она могла быть выполнена как приложение?

    //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++;
      }
    }

Скомпилированный с gcc:

    gcc resetbt.c -o reset.bin
0
ответ дан 18 September 2015 в 16:31
  • 1
    @Zanna - Я думаю, что решение округляющейся проблемы состоит в том, чтобы просто разделить целое число обе метки времени на 86 400, прежде, чем взять различие. Но могла бы быть некоторая деталь I' m отсутствующий здесь. Также Вы хотите, чтобы вводимая дата была местным временем или UTC? Если его UTC, то добавьте -u параметр к date. – Digital Trauma 9 December 2016 в 06:57

Я решил проблему путем попытки блюза снова. Оказывается причиной, она не работала, первоначально был то, потому что я выполнял команды в неправильном порядке. На Ubuntu 14.04 я работаю в терминале:

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

я предполагаю, что работал доверяемый, прежде чем я соединился, и по любой причине я - своя машина, которую я должен был подключить сначала перед доверием.

0
ответ дан 18 September 2015 в 16:31
  • 1
    Потрясающий! Настолько простой и ясный. Ruby походит на большой язык:) – Zanna 9 December 2016 в 04:33

Старое сообщение, но я искал целую сеть приемлемое решение.Вот.. быстрый и простой

Создают файл конфигурации устройства (/etc/bluetooth/hcid.conf или/etc/bluetooth/input.conf)

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

выполненный и добавляют, что эта строка к Вашему/etc/rc.local

# hidd --server

Теперь hidd принимает соединения от ведомого устройства.

0
ответ дан 18 September 2015 в 16:31

Другие вопросы по тегам:

Похожие вопросы: