Сценарий запуска Linux для подключения к bluetooth и cron, чтобы поддерживать связь

У меня есть мини-клавиатура Bluetooth, а малина Pi работает с дистрибутивом на базе Debian. Я знаю MAC-адрес клавиатуры, но для этого вопроса давайте просто использовать AA:BB:CC:DD:EE:FF . Прямо сейчас у меня должна быть подключена проводная клавиатура, а также мой Bluetooth-ключ для мини-клавиатуры. На проводной клавиатуре я должен запустить следующее, когда устройство загрузится:

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

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

То, что я ищу, – это способ запуска этой команды при запуске и способ определить, отсоединяется ли она, чтобы она автоматически подключалась.

Досадно, что клавиатура должна быть в режиме сопряжения (даже если она уже была сопряжена), когда я запускаю эту команду, иначе она сообщает мне, что хост выключен. Поэтому, возможно, сценарий должен помешать ему отключиться из-за бездействия, иначе мне придется вернуть его в режим сопряжения, чтобы снова подключиться.

Итак, чтобы повторить:

  • Сценарий для подключения при запуске. Я могу позаботиться о том, чтобы переключить клавиатуру в режим сопряжения, прежде чем включать ее.
  • Скрипт, чтобы предотвратить его отключение. Может быть, какой-то сигнал отправить его каждые 60 секунд или что-то еще?

  • Время в системе NTP, отличное от времени аппаратного обеспечения
  • Что означает в «ps» и как вы создаете такой процесс?
  • Как я могу перечислить все IP-адреса в подключенной сети, предпочтительно с помощью терминала?
  • Линия Linux: быстрый способ отключить Интернет (сохранение локальной сети)?
  • Как полностью отключить процесс от терминала?
  • Переадресация назад так же, как и труба?
  • Использование Google Music Manager в Linux из командной строки
  • Как использовать команды «-s», «-t» и «-c» команды tr в Unix?
  • One Solution collect form web for “Сценарий запуска Linux для подключения к bluetooth и cron, чтобы поддерживать связь”

    (Замените XX:XX:XX:XX:XX:XX на адрес Bluetooth вашего устройства)

    Установите поддержку Bluetooth.

     # pacman -S bluez 

    Создайте файл конфигурации устройства.

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

    Включить Bluetooth.

     # nano /etc/conf.d/bluetooth DAEMON_ENABLE="true" HIDD_ENABLE="true" 

    Добавьте демонов. Убедитесь, что сначала отображается dbus.

     # nano /etc/rc.conf DAEMONS=(… dbus bluetooth) 

    Перезагружать.

    Проверьте соединение (убедитесь, что клавиатура обнаружена или это не удастся).

     # hidd --connect XX:XX:XX:XX:XX:XX 

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

    Создайте сценарий для запуска демона.

     # nano /etc/rc.d/connect-bt-devs #!/bin/bash /etc/rc.d/connect-bt-devs.sh & exit 0 

    Создайте сценарий.

     # nano /etc/rc.d/connect-bt-devs.sh #!/bin/bash address="XX:XX:XX:XX:XX:XX" while (sleep 1) do connected=$(hidd --show) > /dev/null if [[ ! $connected =~ .*${address}.* ]] ; then hidd --connect ${address} > /dev/null 2>&1 fi done 

    Сделайте их исполняемыми.

     # chmod +x /etc/rc.d/connect-bt-devs # chmod +x /etc/rc.d/connect-bt-devs.sh 

    Добавить демон.

     # nano /etc/rc.conf DAEMONS=(… connect-bt-devs) 

    Перезагружать.

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

    Сочетание информации из архивной вики и блога Benny Bottema .

    Interesting Posts

    Есть ли доступное программное обеспечение, которое может сделать одну игру на сервере, воспроизводимой несколькими клиентами?

    В любом случае, чтобы остановить перезагрузку Windows 8 для обновления?

    Как проверить самошифрованный диск (SED) действительно зашифрован?

    Libssh2 – переадресация агента не работает

    Как сделать снимок экрана в Windows 7 и автоматически создать файл скриншотов на рабочем столе, таком как Mac?

    Как изменить размер значков рабочего стола в Windows 8?

    Как сохранить групповые ресурсы на Samba с помощью клиентов OSX?

    Ошибка Dummynet / ipfw в Windows 10 x64

    Не удается загрузить Windows после установки BackTrack 5

    Восстановить установку Ubuntu

    Можно ли постоянно использовать 100% -ное использование ЦП?

    Сохранение местоположений окон

    Как я могу перенаправить запросы на свой собственный IP-адрес на локальный IP-адрес в моей сети (возможно, с помощью named)?

    Выполнение чистой установки версии Upgrade для Windows 8

    Что такое «Запуск от имени администратора» в Windows 7?

    Давайте будем гением компьютера.