Низкоуровневая утилита Bluetooth

Низкоуровневая утилита Bluetooth

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

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

решение1

Вот список нескольких инструментов, работающих с Bluetooth, которые можно использовать для взаимодействия с устройством.

hciconfig

hciconfig

  • Предоставляет информацию о Bluetooth HCI на вашем ПК
  • Убедитесь, что устройство включено и работает, а также имеет необходимые режимы сканирования.
  • Бег hcitool devтакже должен дать некоторую информацию.

hcitool

hcitool inqиhcitool scan

  • Предоставляет информацию или точнее идентифицирует находящиеся поблизости устройства Bluetooth

hcitool info <BTAddr>

  • Получить информацию об удаленном устройстве Bluetooth

l2ping

l2ping <BTAddr>

  • Один из способов проверить, можем ли мы связаться с удаленным устройством Bluetooth

sdptool

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • Предоставляет информацию об услугах, предоставляемых удаленным устройством Bluetooth.

obexftp

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

  • Позволяет отправлять файлы без указания PIN-кода на стороне удаленного устройства.
  • Номер канала OPush для устройства берется из sdptool выше.

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

  • Позволяет поместить файл на указанное устройство BT.
  • obexftp также можно использовать для получения или вывода списка файлов на устройстве BT.
  • также позволяет идентифицировать ближайшее устройство BT, просто указав опцию -b

passkey-агент

passkey-agent –default <Pin>

  • Указанный здесь PIN-код — это тот, который должно предоставить удаленное устройство BT или ввести пользователь на этом устройстве по запросу.

obexpushd

obexpushd

  • Позволяет принимать файлы, отправленные с устройства Bluetooth.
  • В зависимости от того, кто его запустил, полученные файлы будут сохранены в соответствующем домашнем каталоге.

Сопряжение

Вы можете следовать инструкциям с этого сайта, чтобы соединить устройство с вашим Linux box через командную строку. Статья называется:Как подключить Bluetooth-устройство из командной строки в Linux.

Пример

  1. Найдите MAC-адрес вашего устройства Bluetooth

    $ hcitool scan
    
    Scanning ...
        11:22:33:44:55:66   device 1
        12:34:56:78:90:12   device 2
    
  2. Настройте bluetooth-агент для передачи ожидаемого кода сопряжения

    $ bluetooth-agent 0000 &
    
  3. Отредактируйте файл конфигурации rfcomm /etc/bluetooth/rfcomm.confи вставьте в него MAC-адрес, указанный выше.

    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.";
    }
    

    ПРИМЕЧАНИЕ:Важное предостережение: если вы настроите свое устройство так, чтобы оно не привязывалось при запуске (bind no;), вам придется вручную запустить rfcomm с помощью этой команды перед использованием последовательного порта (что также требует прав root).

    $ sudo rfcomm connect rfcomm0
    

Рекомендации

Связанный контент