터미널을 통해 Bluetooth 장치에 연결

터미널을 통해 Bluetooth 장치에 연결

저는 민트 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

내 블루투스 주소만 나와 있고 켜져 있는 것 같아요.

이미 말했듯이 일반 UI를 통해 스피커를 보고 연결할 수 있지만 터미널을 통해서는 아무것도 얻을 수 없습니다.

hcitool scan사실 , 스피커가 연결되어 있기 때문에 명령을 실행할 때마다 아무것도 발견되지 않고 스피커에서 소리가 몇 초 동안 끊어지는 것이 우스꽝스럽습니다 .

답변1

나는 이것을함으로써 이것을 할 수 있었다bluez 도구:

sudo apt-get install bluez-tools

내 장치의 MAC 주소를 가져오는 데 사용되는 장치 목록:

bt-device -l

성공적으로 연결되었습니다:

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

답변2

내장된 유틸리티를 사용하여 이를 수행하려면 약간의 수동 프로세스를 사용할 수 있습니다 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 문제스크립팅된 접근 방식을 제안하지만 스캔 결과가 나올 때까지 수동으로 기다려야 하기 때문에 이 방법은 나에게 적합하지 않습니다.

답변3

sudo apt-get install bluez-tools나는 어느 시점에서 그것을 사용했기 때문에 이것을했습니다 .

장치를 찾은 후 hcitool scan실행했습니다. bluez-simple-agent hci0 X여기서 X는 추가하려는 장치의 MAC 주소입니다. 그러면 장치에 대한 연결이 생성됩니다.

그런 다음 실행했는데 hciconfig scan연결이 자동으로 시작된 것 같았습니다.

답변4

일부 헤드폰에서 비슷한 상황이 발생하고 있으며 컴퓨터와 휴대폰 사이를 계속 전환하고 있습니다. 이 bash 스크립트를 생성하여 경로의 폴더에 배치하여 명령줄을 통해(그리고 제가 만든 실행기를 통해) 이 헤드폰에 연결/연결 해제할 수 있었습니다. bluetoothctl연결/연결 해제 스크립트 입니다 . 질문에 MAC 주소를 사용했습니다.

#!/bin/bash
MAC="${1:-40:2C:F4:78:E8:69}"
DEVICE=$(bt-device -l | grep $MAC  | cut -d  " " -f1-2)

if [[ $(bt-device -i $MAC | awk '/Connected/ {print $2}') == 1 ]]
then
  echo "Device was connected, now disconnecting $DEVICE"
  echo -e "disconnect $MAC" | bluetoothctl > /dev/null
else
  echo "Device was disconnected, now connecting $DEVICE"
  echo -e "connect $MAC" | bluetoothctl > /dev/null
fi

이 스크립트를 성공적으로 실행하려면 MAC 주소를 설정하거나 스크립트를 실행할 때 MAC 주소를 제공해야 합니다. 당신도 가지고 있어야합니다bluez 도구설치하다.

적성을 사용하여 bluez-tools를 설치하려면 다음을 실행하십시오.

sudo apt-get install bluez-tools

하드웨어의 MAC 주소를 찾으려면 다음 명령을 사용했습니다.

bt-device -l

추가된 모든 Bluetooth 장치가 나열됩니다. 아래 지침에 따라 좋은 시작을 했습니다.@Zippie의 답변- bt-audio이 질문에 답한 이후로 깨진 것 같습니다. 하지만 bt-device -l좋은 해결책인 것 같습니다. 장치가 Bluetooth 장치에 추가되지 않은 경우 이 중 어느 것도 작동하지 않습니다. 방금 사용했어요블루맨 애플릿설정을 합니다.

관련 정보