สารบัญ:

ลำโพง Bluetooth Raspberry Pi: 4 ขั้นตอน
ลำโพง Bluetooth Raspberry Pi: 4 ขั้นตอน

วีดีโอ: ลำโพง Bluetooth Raspberry Pi: 4 ขั้นตอน

วีดีโอ: ลำโพง Bluetooth Raspberry Pi: 4 ขั้นตอน
วีดีโอ: ทำไมคุณถึงควรเปลี่ยนไปใช้ Raspberry Pi 4 Model B แทน Raspberry Pi 3 Model B, B+ 2024, กรกฎาคม
Anonim
ลำโพง Bluetooth Raspberry Pi
ลำโพง Bluetooth Raspberry Pi

สวัสดีทุกคน.

นี่คือคำแนะนำเกี่ยวกับวิธีการสร้างลำโพง Bluetooth โดยใช้ Raspberry Pi สิ่งนี้เกิดขึ้นหลังจากติดตั้ง Raspbian ล่าสุด (ณ วันที่ 2020-10-31) ในคำแนะนำนี้ เราจะแปลง Raspberry Pi เพื่อรับเสียงผ่าน Bluetooth และส่งออกผ่านแจ็คเสียง 3.5 ในตัว หากคุณใช้ Raspberry Pi 1 หรือ 2 คุณจะต้องใช้อะแดปเตอร์ Bluetooth แยกต่างหาก สำหรับคำแนะนำนี้เราจะใช้ Raspberry Pi 3B

เสบียง

ราสเบอร์รี่ Pi 1, 2, 3 หรือ 4

ลำโพงที่มีอินพุตแจ็คเสียง 3.5

พาวเวอร์ซัพพลายสำหรับ Raspberry Pi

เมาส์และคีย์บอร์ดสำหรับ Raspberry Pi (หรือคุณสามารถใช้ SSH กับคอมพิวเตอร์เครื่องอื่นได้)

ดองเกิล Bluetooth หากใช้ Raspberry Pi 1 หรือ 2

ขั้นตอนที่ 1: ลงชื่อเข้าใช้ Raspberry Pi

ขั้นตอนนี้ค่อนข้างเข้าใจง่าย!

คุณจะต้องลงชื่อเข้าใช้ Raspberry Pi ผ่าน SSH หรือด้วยจอภาพ เมาส์ และคีย์บอร์ด หากคุณอยู่ใน Raspian GUI ให้เปิด Terminal หากคุณเป็น SSH คุณจะอยู่ที่นั่นแล้ว

ก่อนที่คุณจะดำเนินการในขั้นตอนต่อไป ขอแนะนำให้ตรวจสอบให้แน่ใจว่าคุณได้อัปเดตระบบของคุณแล้ว

sudo apt-get update

sudo apt-get อัพเกรด

นี้อาจใช้เวลาไม่กี่นาที.

ขั้นตอนที่ 2: จัดเรียง Bluetooth

หากคุณป้อน

สถานะ sudo systemctl สีน้ำเงิน*

แล้วมันอาจจะกลับสิ่งที่ชอบด้านล่าง

pi@raspberrypi:~ $ sudo systemctl สถานะสีน้ำเงิน*

● bluetooth.service - บริการ Bluetooth โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/bluetooth.service; เปิดใช้งาน; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย ใช้งาน: ใช้งาน (ทำงาน) ตั้งแต่วันเสาร์ที่ 2020-10-31 12:36:04 GMT; 40 นาทีที่แล้ว เอกสาร: man:bluetoothd(8) Main PID: 523 (bluetoothd) สถานะ: "กำลังทำงาน" งาน: 1 (จำกัด: 2065) CGroup: /system.slice/bluetooth.service └─523 /usr/lib/bluetooth/bluetoothd 31 ต.ค. 12:36:04 raspberrypi systemd[1]: กำลังเริ่มบริการ Bluetooth… 31 ต.ค. 12:36:04 raspberrypi bluetoothd[523]: Bluetooth daemon 5.50 31 ต.ค. 12:36:04 raspberrypi systemd[1]: เริ่มให้บริการ Bluetooth 31 ต.ค. 12:36:04 raspberrypi bluetoothd[523]: กำลังเริ่มเซิร์ฟเวอร์ SDP 31 ต.ค. 12:36:04 raspberrypi bluetoothd[523]: อินเทอร์เฟซการจัดการ Bluetooth 1.14 31 ต.ค. 12:36:04 raspberrypi bluetoothd [523]: การเริ่มต้นไดรเวอร์ SAP ล้มเหลว 31 ต.ค. 12:36:04 raspberrypi bluetoothd[523]: sap-server: ไม่อนุญาตให้ใช้งาน 31 ต.ค. 12:36:04 raspberrypi bluetoothd[523]: ลงทะเบียนปลายทางแล้ว: sender=:1.10 p 31 ต.ค. 12:36:04 raspberrypi bluetoothd[523]: ปลายทาง r ลงทะเบียน: sender=:1.10 p 31 ต.ค. 12:36:04 raspberrypi bluetoothd[523]: ไม่สามารถตั้งค่าความเป็นส่วนตัว: ถูกปฏิเสธ (0x ● bluealsa.service - พร็อกซี BluezALSA โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/bluealsa.service; คงที่; ที่ตั้งไว้ล่วงหน้าของผู้ขาย:

คุณจะสังเกตเห็นว่ามีข้อผิดพลาดจำนวนหนึ่ง ก่อนอื่นเราจะจัดเรียงสิ่งเหล่านี้

สิ่งแรกที่เราจะจัดเรียงคือ "การเริ่มต้นไดรเวอร์ sap ล้มเหลว" และ "เซิร์ฟเวอร์ SAP: ไม่อนุญาตให้ใช้งาน" เข้า

sudo nano /lib/systemd/system/bluetooth.service

เข้าไปในเทอร์มินัล ก็จะได้สิ่งนี้ขึ้นมา

[หน่วย]

Description=บริการ Bluetooth เอกสารประกอบ=man:bluetoothd(8) ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez ExecStart=/usr/lib/bluetooth/bluetoothd NotifyAccess=main #WatchdogSec=10 #Restart =on-failure CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC=1 ProtectHome=true ProtectSystem=full [ติดตั้ง] WantedBy=bluetooth.target Alias=dbus-org.bluez.service

เพิ่ม

--noplugin=sap

หลังจาก

ExecStart=/usr/lib/bluetooth/bluetoothd

เพื่อให้เป็นเหมือนด้านล่าง

[หน่วย]

Description=Bluetooth service Documentation=man:bluetoothd(8) ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap NotifyAccess=main # WatchdogSec=10 #Restart=on-failure CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC=1 ProtectHome=true ProtectSystem=full [ติดตั้ง] WantedBy=bluetooth.target Alias=dbus-org.bluez.service

บันทึกและออก. (ctrl-x, y, ป้อน) แล้ว

sudo รีบูต

เมื่อคุณกลับมาที่เทอร์มินัล ให้ป้อน

sudo systemctl สถานะสีน้ำเงิน*

ข้อผิดพลาดควรได้รับการแก้ไข ยกเว้นอย่างใดอย่างหนึ่ง

ไม่สามารถตั้งค่าความเป็นส่วนตัว: ถูกปฏิเสธ (0x0b)

เข้า

sudo systemctl รีสตาร์ทสีน้ำเงิน *

เพื่อแก้ไข.

เรายังทำไม่เสร็จ เราจะต้องเพิ่มผู้ใช้ "pi" ลงในบลูทูธโดยใช้

sudo adduser pi บลูทูธ

pi@raspberrypi:~ $ sudo adduser pi bluetooth กำลังเพิ่มผู้ใช้ `pi' ไปยังกลุ่ม `bluetooth' … กำลังเพิ่มผู้ใช้ pi ในกลุ่มบลูทูธ เสร็จสิ้น

ต่อไปเราต้องให้ bluealsa สามารถเล่นสตรีมเสียงผ่านอินเทอร์เฟซเสียง Raspberry Pi (คือแจ็คเสียง 3.5)

sudo nano /lib/systemd/system/bluealsa.service

มันควรจะเกิดขึ้นกับ

[หน่วย]

Description=BluezALSA proxy ต้องการ=bluetooth.service After=bluetooth.service [Service] Type=simple User=root ExecStart=/usr/bin/bluealsa

เพิ่ม

-p a2dp-source -p a2dp-sink

หลังจาก

ExecStart=/usr/bin/bluealsa

เพื่อทำ

[หน่วย]

Description=BluezALSA proxy ต้องการ=bluetooth.service After=bluetooth.service [Service] Type=simple User=root ExecStart=/usr/bin/bluealsa -p a2dp-source -p a2dp-sink

บันทึกและออก (ctrl-x, y, enter)

แล้ว

sudo รีบูต

สิ่งนี้ทำให้ Bluetooth ของเราพร้อมไม่มากก็น้อย ตอนนี้เราจะจับคู่และเชื่อมต่อกับ Raspberry Pi ของเรา

ขั้นตอนที่ 3: การจับคู่ เชื่อมต่อ และไว้วางใจ

ตอนนี้เราได้วางข้อมูลพื้นฐานในการสร้างลำโพงบลูทูธแล้ว แต่เรายังต้องสามารถเชื่อมต่อเพื่อเล่นเพลงผ่านมันได้

ขั้นแรกให้ป้อน

sudo bluetoothctl

แล้ว

เปิดเครื่อง

แล้ว

สแกนบน

แบบนี้น่าจะขึ้น

pi@raspberrypi:~ $ sudo bluetoothctl

เอเจนต์ลงทะเบียนแล้ว [บลูทูธ]# เปิดเครื่อง การเปลี่ยนพลังงานเมื่อสำเร็จ [บลูทูธ]# การสแกนบนการค้นพบเริ่มต้นขึ้น [CHG] ตัวควบคุม B8:27:EB:A2:FD:3C การค้นพบ: ใช่ [ใหม่] อุปกรณ์ 60:D8:19:C0: 2E:41 FARTHINGSLAPTOP [ใหม่] อุปกรณ์ A4:E4:B8:59:BE:8D A4-E4-B8-59-BE-8D [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D ชื่อ: APR-BLACKBERRY [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D นามแฝง: APR-BLACKBERRY [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D TxPower: 0 [CHG] อุปกรณ์ A4:E4:B8:59: BE:8D UUIDs: 00001800-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUIDs: 00001801-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8: 59:BE:8D UUIDs: 00001200-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUID: 0000113b-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4: B8:59:BE:8D UUIDs: 00001124-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4: E4:B8:59:BE:8D UUIDs: 0000110f-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUID: 0000111f-0000-1000-8000 -00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUIDs: 00001203-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUID: 00001116-0000-1000 -8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUIDs: 0000112f-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUID: 0000105-0000 -1000-8000-00805f9b34fb [CHG] อุปกรณ์ A4:E4:B8:59:BE:8D UUIDs: 00001132-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 RSSI: - 66 [บลูทูธ]#

ในตัวอย่างนี้ เราจะจับคู่และเชื่อมต่อกับอุปกรณ์ที่เรียกว่า FarthingsLaptop

ดังนั้น (แทนที่ที่อยู่ Mac ด้วยอุปกรณ์ที่คุณจะเชื่อมต่อ)

คู่ 60:D8:19:C0:2E:41

[บลูทูธ]# คู่ 60:D8:19:C0:2E:41

กำลังพยายามจับคู่กับ 60:D8:19:C0:2E:41 [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 เชื่อมต่อแล้ว: ใช่ ขอการยืนยัน [ตัวแทน] ยืนยันรหัสผ่าน 478737 (ใช่/ไม่ใช่): ใช่ [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00000002-0000-1000-8000-0002ee000002 [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00001000-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00001104-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUID: 00001105-0000-1000-8000 -00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00001106-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00001107-0000-1000 -8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000110b-0000 -1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000110e -0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00001112-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00001115-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000111b-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000111f-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 0000112f-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 UUIDs: 00001304-0000-1000-8000-00805f9b34fb [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 บริการแก้ไขแล้ว: ใช่ [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 จับคู่แล้ว: ใช่ จับคู่สำเร็จ

จากนั้นเราสามารถเชื่อมต่อกับอุปกรณ์

ต่อ 60:D8:19:C0:2E:41

การเชื่อมต่อที่ประสบความสำเร็จ

[บลูทูธ]# เชื่อมต่อ 60:D8:19:C0:2E:41

กำลังพยายามเชื่อมต่อกับ 60:D8:19:C0:2E:41 [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 เชื่อมต่อแล้ว: ใช่ การเชื่อมต่อสำเร็จ [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 บริการแก้ไขแล้ว: ใช่ [CHG] อุปกรณ์ 60:D8:19:C0:2E:41 RSSI: -59

ต่อไปเราจะเชื่อถืออุปกรณ์เพื่อให้เราสามารถเชื่อมต่อได้โดยไม่ต้องมีการยืนยัน

เชื่อ 60:D8:19:C0:2E:41

[บลูทูธ]# trust 60:D8:19:C0:2E:41

[CHG] อุปกรณ์ 60:D8:19:C0:2E:41 Trusted: ใช่ เปลี่ยน 60:D8:19:C0:2E:41 trusted สำเร็จ

ณ จุดนี้คุณควรเชื่อมต่อ แต่คุณจะสังเกตเห็นว่าหากคุณเล่นเพลง จะไม่เล่นผ่านลำโพงที่เชื่อมต่อกับ Raspberry Pi นั่นคือสิ่งที่เราจะทำในขั้นตอนต่อไป

ขั้นตอนที่ 4: เล่นเพลง

ถึงตอนนี้คุณควรเชื่อมต่อกับ Raspberry Pi แล้ว แต่ไม่มีเพลงเล่นผ่านลำโพง

คุณสามารถแก้ไขได้โดยคำสั่ง

bluealsa-aplay 00:00:00:00:00:00

ตอนนี้ คุณควรได้ยินเสียงจากลำโพงของคุณเมื่อคุณเล่นสื่อ แต่คุณไม่ต้องการที่จะรันคำสั่งนี้ทุกครั้งที่คุณต้องการเล่นเพลง ดังนั้นเราจะทำให้มันทำงานเมื่อบูตเครื่อง

เข้า

sudo nano /etc/rc.local

มันควรจะเกิดขึ้นกับสิ่งนี้

#!/bin/sh -e

# # rc.local # # สคริปต์นี้ทำงานเมื่อสิ้นสุดการทำงานระดับผู้ใช้หลายราย # ตรวจสอบให้แน่ใจว่าสคริปต์จะ "ออกจาก 0" เมื่อสำเร็จหรือค่า # อื่น ๆ ที่มีข้อผิดพลาด # # เพื่อเปิดใช้งานหรือปิดใช้งานสคริปต์นี้เพียงแค่เปลี่ยนการดำเนินการ # บิต # # โดยค่าเริ่มต้นสคริปต์นี้ไม่ทำอะไรเลย # พิมพ์ที่อยู่ IP _IP=$(ชื่อโฮสต์ -I) || จริงถ้า ["$_IP"]; จากนั้น printf "ที่อยู่ IP ของฉันคือ %s\n" "$_IP" fi exit 0 เอนเท

bluealsa-aplay 00:00:00:00:00:00

เมื่อก่อน

ทางออก 0

ดังนั้นมันจึงมีลักษณะเช่นนี้

#!/bin/sh -e

# # rc.local # # สคริปต์นี้ทำงานเมื่อสิ้นสุดการทำงานระดับผู้ใช้หลายราย # ตรวจสอบให้แน่ใจว่าสคริปต์จะ "ออกจาก 0" เมื่อสำเร็จหรือค่า # อื่น ๆ ที่มีข้อผิดพลาด # # เพื่อเปิดใช้งานหรือปิดใช้งานสคริปต์นี้เพียงแค่เปลี่ยนการดำเนินการ # บิต # # โดยค่าเริ่มต้นสคริปต์นี้ไม่ทำอะไรเลย # พิมพ์ที่อยู่ IP _IP=$(ชื่อโฮสต์ -I) || จริงถ้า ["$_IP"]; จากนั้น printf "ที่อยู่ IP ของฉันคือ %s\n" "$_IP" fi bluealsa-aplay 00:00:00:00:00:00 น. ทางออก 0 บันทึกและออก (ctrl-x, y, enter)

แล้ว

sudo รีบูต

เมื่อบูทขึ้นให้เชื่อมต่อและเล่นเพลง!

ตอนนี้คุณควรมีลำโพง Bluetooth ที่ทำงานได้อย่างสมบูรณ์!

หากคุณมีคำถามใด ๆ แสดงความคิดเห็นด้านล่างและฉันจะตอบกลับโดยเร็วที่สุด

ขอบคุณที่มอง

แนะนำ: