เชื่อมต่อกับอุปกรณ์ Bluetooth ผ่าน Terminal


50

ฉันใช้เหรียญกษาปณ์ 15 w / อบเชย

ฉันซื้อชุดลำโพงบลูทู ธ และพยายามเชื่อมต่อผ่านเทอร์มินัล ผ่าน 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ไม่พบอะไรเลยเนื่องจากลำโพงของฉันเชื่อมต่ออยู่และทุกครั้งที่ฉันสั่งมันเสียงของลำโพงจะหยุดพักสองสามวินาที

คำตอบ:


32

ฉันจัดการให้ทำได้ผ่านเครื่องมือ bluez :

sudo apt-get install bluez-tools

รายการอุปกรณ์เพื่อรับที่อยู่ MAC ของอุปกรณ์ของฉัน:

bt-device -l

และเชื่อมต่อสำเร็จแล้ว:

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


โปรดทราบว่าbt-audioคุณลักษณะนี้ได้รับการปรับใช้ใหม่สำหรับเวอร์ชันที่ใหม่กว่า


9
นี่อาจจะเป็นเวอร์ชั่นเก่าเนื่องจากไม่มีbt-audioคำสั่งอีกต่อไป
Édouard Lopez

1
สำหรับการอัปเดตติดตามปัญหาgithub.com/khvzak/bluez-tools/issues/13
Édouard Lopez

บน Linux Mint 17 (Cinnamon) ฉันใช้bluez-test-audio connect MAC_ADDRESSอุปกรณ์เสียงที่จับคู่เรียบร้อยแล้ว
Suzana

2
ฉันใช้bt-device -c mac_addressDebian สำเร็จแล้ว 9.
jbrock

11

ฉันทำsudo apt-get install bluez-toolsเพราะฉันใช้มันในบางจุด

หลังจากหาอุปกรณ์ได้hcitool scanฉันก็วิ่งไปbluez-simple-agent hci0 Xที่ X เป็นที่อยู่ mac ของอุปกรณ์ที่ฉันเพิ่ม สิ่งนี้สร้างการเชื่อมต่อกับอุปกรณ์

จากนั้นฉันก็วิ่งhciconfig scanและดูเหมือนว่าจะเริ่มการเชื่อมต่อโดยอัตโนมัติ


1
Ubuntu 16.04 ไม่มีbluez-simple-agentคำสั่ง
LRDPRDX

2

ฉันรู้ว่ามันค่อนข้างช้า แต่ฉันเล่นกับคำสั่งนี้hcitoolและฉันต้องการชี้ให้เห็นสิ่งที่ฉันสังเกตเห็นซึ่งแก้ปัญหาของคุณในการสแกนและกระบวนการ "เพิ่งจะตาย" สิ่งนี้คือการสแกนจะทำงานเฉพาะในกรณีที่อุปกรณ์ไม่มีการจับคู่ ในกรณีของคุณคุณบอกว่าคุณสามารถเห็นลำโพงเชื่อมต่อบน GUI ซึ่งหมายความว่าพวกเขาได้รับการจับคู่แล้ว ... ดังนั้นการสแกนจะไม่ส่งคืนอะไรเลย

ฉันกำลังหาวิธีจับคู่ / เชื่อมต่ออุปกรณ์ด้วยเครื่องมือเดียวกันแม้ว่าฉันจะเห็นว่าคุณได้รับตัวเลือกอื่นแล้วก็ตาม ฉันจะอัปเดตคำตอบของฉันทันทีที่ฉันจัดการ


2

ที่จะทำมันมีในตัว 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 นี้แนะนำวิธีในการเขียนสคริปต์ แต่ไม่ได้ผลสำหรับฉันเนื่องจากฉันต้องรอการสแกนด้วยตนเองเพื่อให้ได้ผลลัพธ์


0

ฉันติดตั้งดังต่อไปนี้ใน Debian 9

blueman/stable,now 2.0.4-1 amd64 [installed]
bluez/stable,stable,now 5.43-2+deb9u1 amd64 [installed]
bluez-obexd/stable,stable,now 5.43-2+deb9u1 amd64 [installed,automatic]
bluez-tools/stable,now 0.2.0~20140808-5+b2 amd64 [installed]
pulseaudio-module-bluetooth/stable,now 10.0-1+deb9u1 amd64 [installed]

ฉันได้จับคู่หูฟังบลูทู ธ ของฉันเข้ากับอะแดปเตอร์บลูทู ธ USB บนเดสก์ท็อปของฉันโดยใช้แอพพลิเคชั่น GUI Bluetooth Manager ฉันมีแป้นพิมพ์ลัดที่รันสองคำสั่งต่อไปนี้: bt-device -c 00:02:5B:01:3C:3B; pacmd set-default-sink bluez_sink.00_02_5B_01_3C_3B.a2dp_sink

  1. เชื่อมต่อหูฟังเข้ากับอะแดปเตอร์ Bluetooth USB (ใช้bt-device -lเพื่อรับที่อยู่ MAC)
  2. ตั้งค่าเสียง Bluetooth เป็นเอาต์พุตเริ่มต้น (ใช้pacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'เพื่อรับชื่อที่ถูกต้อง)

-1

นี้อาจจะสายไปนิด hciconfigแต่ผมมีปัญหาเดียวกันแน่นอนกับการส่งออกเดียวกันจาก

อย่างไรก็ตามsudo hcitool lescanทำงานให้ฉัน - บางทีมันอาจช่วยคุณได้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.