Narzędzie Bluetooth niskiego poziomu

16

Co to jest narzędzie bluetooth dla Linuksa, które pozwoli mi sparować i sparować urządzenia, wyświetlać wiadomości przychodzące z urządzenia, wysyłać wiadomości do urządzenia (mam nadzieję, że zrobione przy użyciu systemu plików!) I ustawiać dostępne flagi?

Aplikacja ma na myśli, że chcę po prostu powiedzieć 10 małych klawiatur Bluetooth i zmapować każdy klawisz na każdej klawiaturze, aby wysłać wiadomość MIDI (oczywiście część midi nie jest częścią tego OP).

lustro
źródło
Fajnie dzięki. Ale chciałbym użyć obex push do wysyłania plików zamiast obex ftp. Czy jest jakiś sposób?

Odpowiedzi:

21

Oto lista kilku narzędzi obsługujących Bluetooth, których można używać do interakcji z urządzeniem.

hciconfig

hciconfig

  • Daje informacje o hci bluetooth na twoim komputerze
  • Upewnij się, że urządzenie działa i ma wymagane tryby skanowania
  • Bieganie hcitool devpowinno również dać niektóre z tych informacji

hcitool

hcitool inq i hcitool scan

  • Podaje informacje na temat pobliskich urządzeń Bluetooth lub raczej je identyfikuje

hcitool info <BTAddr>

  • Uzyskaj informacje o zdalnym urządzeniu Bluetooth

l2ping

l2ping <BTAddr>

  • Jednym ze sposobów sprawdzenia, czy możemy komunikować się ze zdalnym urządzeniem Bluetooth

sdptool

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • Podaje informacje o usługach świadczonych przez zdalne urządzenie Bluetooth

obexftp

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

  • Pozwala wysłać plik bez określania numeru PIN po stronie zdalnego urządzenia
  • Numer kanału OPush dla urządzenia jest pobrany z sdptool powyżej

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

  • Pozwala na umieszczenie pliku na określonym urządzeniu BT
  • obexftp może być również użyty do pobrania lub wyświetlenia plików na urządzeniu BT
  • pozwala również zidentyfikować pobliskie urządzenie BT, po prostu dając opcję -b

agent klucza

passkey-agent –default <Pin>

  • Określony tutaj pin jest tym, co powinien podać zdalne urządzenie BT lub jego użytkownik wprowadzić na to urządzenie na żądanie.

obexpushd

obexpushd

  • Umożliwia odbieranie plików wysłanych z urządzenia Bluetooth.
  • W zależności od tego, kto go uruchomił, odebrane pliki będą przechowywane w odpowiednim katalogu domowym

Łączenie w pary

Możesz postępować zgodnie ze wskazówkami z tej strony, aby sparować urządzenie ze swoim Linux-em za pomocą wiersza poleceń. Aritcle jest zatytułowany: Jak sparować urządzenie Bluetooth z linii poleceń w systemie Linux .

Przykład

  1. Znajdź adres MAC urządzenia Bluetooth

    $ hcitool scan
    
    Scanning ...
        11:22:33:44:55:66   device 1
        12:34:56:78:90:12   device 2
    
  2. Skonfiguruj agenta bluetooth, aby przekazać oczekiwany kod parowania

    $ bluetooth-agent 0000 &
    
  3. Edytuj plik konfiguracyjny rfcomm /etc/bluetooth/rfcomm.confi umieść w nim adres MAC z góry.

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

    UWAGA: Ważnym zastrzeżeniem, jeśli skonfigurujesz urządzenie tak, aby nie wiązało się podczas uruchamiania (wiązanie nr;) będziesz musiał ręcznie podkręcić rfcomm za pomocą tego polecenia przed użyciem portu szeregowego (który również wymaga uprawnień roota).

    $ sudo rfcomm connect rfcomm0
    

Bibliografia

slm
źródło