Command-Line

通過終端連接藍牙設備

  • June 24, 2021

我正在使用帶肉桂的薄荷 15。

我買了一套藍牙音箱,我正在嘗試通過終端連接它們。通過 GUI,我可以正常看到它們並連接到它們。我想製作一個小腳本,這樣每次它們可見時,我都會自動連接到它們。

我正在嘗試使用以下方法掃描它們:

hcitool 掃描

但我明白了

掃描…

幾秒鐘後,這個過程就結束了。

hidd --search.

如果我跑步,hciconfig scan我會得到:

hci0:   Type: BR/EDR  Bus: USB
   BD Address: 40:2C:F4:78:E8:69  ACL MTU: 1021:8  SCO MTU: 64:1
   UP RUNNING PSCAN ISCAN 
   RX bytes:130700 acl:22 sco:0 events:18527 errors:0
   TX bytes:31875398 acl:36784 sco:0 commands:75 errors:0

我想這只是說我的藍牙地址並且它已打開。

正如我已經說過的,通過普通的使用者界面,我可以看到揚聲器並連接到它們,但通過終端我什麼也得不到。

hcitool scan實際上,由於我的揚聲器已連接並且每次執行命令時揚聲器的聲音都會中斷幾秒鐘,因此沒有找到任何東西是很有趣的。

我設法通過bluez-tools做到了:

sudo apt-get install bluez-tools

獲取設備 MAC 地址的設備列表:

bt-device -l

並成功連接到它:

bt-device -c 01:02:03:04:05:06

要使用內置 utils 執行此操作,您可以使用bluetoothctl.

hcitool scan  # to get the MAC address of your device
bluetoothctl
agent on
scan on  # wait for your device's address to show up here
scan off
trust MAC_ADDRESS
pair MAC_ADDRRESS
connect MAC_ADDRESS

這個 Github issue中的文章建議了一種編寫腳本的方法,但這對我不起作用,因為我需要手動等待掃描產生結果。

引用自:https://unix.stackexchange.com/questions/96693