Πίνακας περιεχομένων:

Raspberry Pi Bluetooth Speaker: 4 βήματα
Raspberry Pi Bluetooth Speaker: 4 βήματα

Βίντεο: Raspberry Pi Bluetooth Speaker: 4 βήματα

Βίντεο: Raspberry Pi Bluetooth Speaker: 4 βήματα
Βίντεο: Raspberry Pi 3 Tutorial - How to Set Up for Gaming & Entertainment Projects 2024, Ιούλιος
Anonim
Raspberry Pi Bluetooth ηχείο
Raspberry Pi Bluetooth ηχείο

Γεια σε όλους.

Ακολουθεί μια οδηγία σχετικά με τον τρόπο κατασκευής ενός ηχείου Bluetooth χρησιμοποιώντας το Raspberry Pi. Αυτό έγινε μετά από μια ολοκαίνουργια εγκατάσταση του πιο πρόσφατου Raspbian (στις 2020-10-31.) Σε αυτό το Instructable θα μετατρέψουμε το Raspberry Pi να λαμβάνει ήχο μέσω Bluetooth και θα το εξάγει μέσω της ενσωματωμένης υποδοχής ήχου 3.5. Εάν χρησιμοποιείτε Raspberry Pi 1 ή 2 τότε θα πρέπει να χρησιμοποιήσετε ξεχωριστό προσαρμογέα Bluetooth. Για αυτό το Instructable θα χρησιμοποιήσουμε το Raspberry Pi 3B.

Προμήθειες

Raspberry Pi 1, 2, 3 ή 4.

Ηχείο με είσοδο υποδοχής ήχου 3,5.

Τροφοδοτικό για Raspberry Pi.

Ποντίκι και πληκτρολόγιο για Raspberry Pi (ή μπορείτε να κάνετε SSH με άλλο υπολογιστή).

Dongle Bluetooth εάν χρησιμοποιείτε Raspberry Pi 1 ή 2.

Βήμα 1: Συνδεθείτε στο Raspberry Pi

Αυτό το βήμα είναι αρκετά διαισθητικό!

Θα πρέπει να συνδεθείτε στο Raspberry Pi είτε μέσω SSH είτε με οθόνη, ποντίκι και πληκτρολόγιο. Εάν βρίσκεστε στο Raspian GUI, ανοίξτε ένα τερματικό. Εάν είστε SSH'ing τότε θα είστε ήδη εκεί.

Πριν προχωρήσετε στα επόμενα βήματα, είναι σκόπιμο να βεβαιωθείτε ότι έχετε ενημερώσει το σύστημά σας.

sudo apt-get ενημέρωση

sudo apt-get αναβάθμιση

Αυτό μπορεί να διαρκέσει μερικά λεπτά.

Βήμα 2: Ταξινόμηση Bluetooth

Αν μπείτε

sudo systemctl κατάσταση μπλε*

τότε μάλλον θα επιστρέψει κάτι όπως παρακάτω.

pi@raspberrypi: su $ sudo systemctl status blue*

● bluetooth.service-Υπηρεσία Bluetooth Φορτώθηκε: φορτώθηκε (φορτώθηκε (/lib/systemd/system/bluetooth.service; ενεργοποιήθηκε; προρυθμισμένος προμηθευτής Ενεργός: ενεργός (τρέχει) από Σάββατο 2020-10-31 12:36:04 GMT; 40 λεπτά πριν Έγγραφα: man: bluetoothd (8) Κύριο 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.: 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]: Καταληκτικό σημείο: αποστολέας =: 1,10 σελ. 31 Οκτωβρίου 12:36:04 raspberrypi bluetooth [523]: Τελικό σημείο r egistered: sender =: 1.10 p 31 Οκτ 12:36:04 raspberrypi bluetoothd [523]: Αποτυχία ρύθμισης απορρήτου: Απορρίφθηκε (0x ● bluealsa.service - διακομιστής μεσολάβησης BluezALSA Φορτώθηκε: φορτώθηκε (/lib/systemd/system/bluealsa.service; στατικός; προεπιλογή προμηθευτή:

Θα παρατηρήσετε ότι υπάρχουν πολλά σφάλματα. Θα τα ξεκαθαρίσουμε πρώτα.

Τα πρώτα που θα ταξινομήσουμε είναι "η προετοιμασία του προγράμματος οδήγησης sap απέτυχε." και "sap-server: Η λειτουργία δεν επιτρέπεται". Εισαγω

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

στο τερματικό. Θα καταλήξει σε αυτό.

[Μονάδα]

Περιγραφή = Υπηρεσία Bluetooth Τεκμηρίωση = άνθρωπος: 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 [Install] WantedBy = bluetooth.target Alias = dbus-org.bluez.service

Προσθήκη

--noplugin = χυμός

μετά

ExecStart =/usr/lib/bluetooth/bluetoothd

για να γίνει όπως παρακάτω.

[Μονάδα]

Περιγραφή = Υπηρεσία Bluetooth Τεκμηρίωση = άνθρωπος: bluetoothd (8) ConditionPathIsDirectory =/sys/class/bluetooth [Service] Type = dbus BusName = org.bluez ExecStart =/usr/lib/bluetooth/bluetoothd --noplugin = sap NotifyAccess = main # WatchdogSec = 10 #Επανεκκίνηση = on-failure CapabilityBoundingSet = CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC = 1 ProtectHome = true ProtectSystem = full [Install] WantedBy = bluetooth.target Alias = dbus-org.bluez.service

Αποθήκευση και έξοδος. (ctrl-x, y, enter). Τότε

sudo επανεκκίνηση

Όταν επιστρέψετε στο τερματικό, εισάγετε

sudo systemctl κατάσταση μπλε*

Τα σφάλματα πρέπει να λυθούν, εκτός από ένα.

Αποτυχία ρύθμισης απορρήτου: Απορρίφθηκε (0x0b)

Εισαγω

sudo systemctl επανεκκίνηση μπλε*

να φτιάξω.

Δεν έχουμε τελειώσει ακόμα. Θα χρειαστεί επίσης να προσθέσουμε τον χρήστη "pi" στο bluetooth χρησιμοποιώντας

sudo adduser pi bluetooth

pi@raspberrypi: su $ sudo adduser pi bluetooth Προσθήκη χρήστη "pi" στην ομάδα "bluetooth"… Προσθήκη χρήστη pi σε ομάδα bluetooth Τέλος.

Στη συνέχεια, πρέπει να δώσουμε στη bluealsa τη δυνατότητα αναπαραγωγής ροών ήχου μέσω των διεπαφών ήχου Raspberry Pi (δηλαδή την υποδοχή ήχου 3.5).

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

Θα πρέπει να καταλήξει

[Μονάδα]

Περιγραφή = Απαιτείται διακομιστής μεσολάβησης BluezALSA = bluetooth.service Μετά = bluetooth.service [Υπηρεσία] Τύπος = απλός χρήστης = root ExecStart =/usr/bin/bluealsa

Προσθήκη

-p a2dp-source -p a2dp-νεροχύτη

μετά

ExecStart =/usr/bin/bluealsa

να κάνω

[Μονάδα]

Περιγραφή = Απαιτείται διακομιστής μεσολάβησης BluezALSA = bluetooth.service Μετά = bluetooth.service [Υπηρεσία] Τύπος = απλός χρήστης = root ExecStart =/usr/bin/bluealsa -p a2dp -source -p a2dp -sink

Αποθήκευση και έξοδος (ctrl-x, y, enter).

Τότε

sudo επανεκκίνηση

Αυτό καθιστά το Bluetooth μας λίγο πολύ έτοιμο. Τώρα θα ζευγαρώσουμε και θα συνδεθούμε με το Raspberry Pi.

Βήμα 3: Σύζευξη, σύνδεση και εμπιστοσύνη

Έχουμε τώρα θέσει τα βασικά για να φτιάξουμε ένα ηχείο Bluetooth. Αλλά πρέπει ακόμα να είμαστε σε θέση να συνδεθούμε για να παίξουμε μουσική μέσω αυτού.

Αρχικά, εισάγετε

sudo bluetoothctl

τότε

ενεργοποίηση

τότε

σάρωση ενεργοποιημένη

κάτι τέτοιο πρέπει να προκύψει

pi@raspberrypi: su $ sudo bluetoothctl

Καταχωρημένος αντιπρόσωπος [bluetooth]# power on Η αλλαγή ισχύος πέτυχε [bluetooth]# σάρωση στο Discovery ξεκίνησε [CHG] Controller B8: 27: EB: A2: FD: 3C Discovering: yes [NEW] Device 60: D8: 19: C0: 2E: 41 FARTHINGSLAPTOP [NEW] Συσκευή 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 asευδώνυμο: APR-BLACKBERRY [CHG] Συσκευή A4: E4: B8: 59: BE: 8D TxPower: 0 [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 00001800-0000-1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 00001801-0000-1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 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 UUID: 00001124-0000-1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 0000110f-0000-1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 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 UUID: 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 UUID: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 00001105-0000 -1000-8000-00805f9b34fb [CHG] Συσκευή A4: E4: B8: 59: BE: 8D UUID: 00001132-0000-1000-8000-00805f9b34fb [CHG] Συσκευή 60: D8: 19: C0: 2E: 41 RSSI:- 66 [bluetooth]#

σε αυτό το παράδειγμα θα αντιστοιχίσουμε και θα συνδεθούμε με τη συσκευή που ονομάζεται FarthingsLaptop.

Έτσι (αντικαταστήστε τη διεύθυνση mac με τη συσκευή στην οποία θα συνδεθείτε).

ζευγάρι 60: D8: 19: C0: 2E: 41

[bluetooth]# ζεύγος 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 UUID: 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 UUID: 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 UUID: 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 UUID: 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 UUID: 00001115-0000-1000-8000-00805f9b34fb [CHG] Συσκευή 60: D8: 19: C0: 2E: 41 UUID: 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

Επιτυχής σύνδεση

[bluetooth]# σύνδεση 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

[bluetooth]# trust 60: D8: 19: C0: 2E: 41

[CHG] Συσκευή 60: D8: 19: C0: 2E: 41 Αξιόπιστη: ναι Αλλαγή 60: D8: 19: C0: 2E: 41 η εμπιστοσύνη πέτυχε

Σε αυτό το σημείο θα πρέπει να είστε συνδεδεμένοι αλλά θα παρατηρήσετε ότι εάν παίζετε μουσική, δεν παίζει μέσω του ηχείου που είναι συνδεδεμένο στο Raspberry Pi. Αυτό θα κάνουμε στο επόμενο βήμα.

Βήμα 4: Αναπαραγωγή μουσικής

Μέχρι τώρα θα πρέπει να είστε συνδεδεμένοι στο Raspberry Pi, αλλά δεν ακούγεται μουσική από το ηχείο.

Μπορείτε να το διορθώσετε με την εντολή

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

Τώρα θα πρέπει να ακούτε τον ήχο να έρχεται από το ηχείο σας όταν παίζετε μέσα, αλλά δεν θέλετε να χρειάζεται να εκτελείτε αυτήν την εντολή κάθε φορά που θέλετε να παίξετε ένα τραγούδι, οπότε θα το κάνουμε να εκτελείται κατά την εκκίνηση.

Εισαγω

sudo nano /etc/rc.local

Θα πρέπει να καταλήξει σε αυτό.

#!/bin/sh -e

# # rc.local # # Αυτό το σενάριο εκτελείται στο τέλος κάθε επιπέδου runlevel πολλαπλών χρηστών. # Βεβαιωθείτε ότι το σενάριο θα "εξέλθει 0" από την επιτυχία ή οποιαδήποτε άλλη τιμή # σφάλματος. # # Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτό το σενάριο, απλώς αλλάξτε # bit εκτέλεσης. # # Από προεπιλογή, αυτό το σενάριο δεν κάνει τίποτα. # Εκτύπωση της διεύθυνσης IP _IP = $ (όνομα κεντρικού υπολογιστή -I) || true αν ["$ _IP"]; τότε printf "Η διεύθυνση IP μου είναι %s / n" "$ _IP" fi έξοδος 0 Έντε

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

λίγο πριν

έξοδος 0

έτσι μοιάζει με αυτό.

#!/bin/sh -e

# # rc.local # # Αυτό το σενάριο εκτελείται στο τέλος κάθε επιπέδου runlevel πολλαπλών χρηστών. # Βεβαιωθείτε ότι το σενάριο θα "εξέλθει 0" από την επιτυχία ή οποιαδήποτε άλλη τιμή # σφάλματος. # # Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτό το σενάριο, απλώς αλλάξτε # bit εκτέλεσης. # # Από προεπιλογή, αυτό το σενάριο δεν κάνει τίποτα. # Εκτύπωση της διεύθυνσης IP _IP = $ (όνομα κεντρικού υπολογιστή -I) || true αν ["$ _IP"]; τότε printf "Η διεύθυνση IP μου είναι %s / n" "$ _IP" fi bluealsa-aplay 00: 00: 00: 00: 00: 00 έξοδος 0 Αποθήκευση και έξοδος (ctrl-x, y, enter)

Τότε

sudo επανεκκίνηση

Όταν ξεκινήσει, συνδέστε και παίξτε ένα τραγούδι!

Τώρα θα πρέπει να έχετε ένα πλήρως λειτουργικό ηχείο Bluetooth!

Εάν έχετε οποιεσδήποτε ερωτήσεις, αφήστε ένα σχόλιο παρακάτω και θα τις απαντήσω το συντομότερο δυνατό.

Ευχαριστώ που ψάξατε.

Συνιστάται: