Sommario:

Altoparlante Bluetooth Raspberry Pi: 4 passaggi
Altoparlante Bluetooth Raspberry Pi: 4 passaggi

Video: Altoparlante Bluetooth Raspberry Pi: 4 passaggi

Video: Altoparlante Bluetooth Raspberry Pi: 4 passaggi
Video: How to use a Raspberry Pi as a Bluetooth Receiver - Make Any Speaker Bluetooth 2024, Dicembre
Anonim
Altoparlante Bluetooth Raspberry Pi
Altoparlante Bluetooth Raspberry Pi

Ciao a tutti.

Ecco un Instructable su come creare un altoparlante Bluetooth usando Raspberry Pi. Questo è stato fatto dopo una nuovissima installazione dell'ultimo Raspbian (a partire dal 2020-10-31). In questo Instructable convertiremo il Raspberry Pi per ricevere l'audio tramite Bluetooth e trasmetterlo tramite il jack audio 3.5 integrato. Se stai utilizzando Raspberry Pi 1 o 2, dovrai utilizzare un adattatore Bluetooth separato. Per questo Instructable utilizzeremo Raspberry Pi 3B.

Forniture

Raspberry Pi 1, 2, 3 o 4.

Altoparlante con ingresso jack audio 3.5.

Alimentatore per Raspberry Pi.

Mouse e tastiera per Raspberry Pi (oppure puoi accedere tramite SSH con un altro computer).

Dongle Bluetooth se si utilizza Raspberry Pi 1 o 2.

Passaggio 1: accedi a Raspberry Pi

Questo passaggio è abbastanza intuitivo!

Dovrai accedere al Raspberry Pi tramite SSH o con monitor, mouse e tastiera. Se ti trovi nella GUI di Raspian, apri un Terminale. Se stai usando SSH, allora sarai già lì.

Prima di procedere con i passaggi successivi è consigliabile assicurarsi di aver aggiornato il sistema.

sudo apt-get update

sudo apt-get upgrade

Questo potrebbe richiedere alcuni minuti.

Passaggio 2: risolvi il Bluetooth

Se entri

sudo systemctl status blu*

allora probabilmente restituirà qualcosa come sotto.

pi@raspberrypi:~ $ sudo systemctl status blue*

● bluetooth.service - Servizio Bluetooth Caricato: caricato (/lib/systemd/system/bluetooth.service; abilitato; preset del fornitore Attivo: attivo (in esecuzione) da sabato 2020-10-31 12:36:04 GMT; 40 minuti fa Documenti: man:bluetoothd(8) PID principale: 523 (bluetoothd) Stato: "In esecuzione" Attività: 1 (limite: 2065) Gruppo C: /system.slice/bluetooth.service └─523 /usr/lib/bluetooth/bluetoothd Oct 31 12:36:04 raspberrypi systemd[1]: avvio del servizio Bluetooth… 31 ottobre 12:36:04 raspberrypi bluetoothd[523]: daemon Bluetooth 5.50 31 ottobre 12:36:04 raspberrypi systemd[1]: avvio del servizio Bluetooth 31 ottobre 12:36:04 raspberrypi bluetoothd[523]: avvio del server SDP 31 ott 12:36:04 raspberrypi bluetoothd[523]: interfaccia di gestione Bluetooth 1.14 31 ott 12:36:04 raspberrypi bluetoothd[523]: inizializzazione del driver Sap fallita 31 ott 12:36:04 raspberrypi bluetoothd[523]: sap-server: operazione non consentita 31 ott 12:36:04 raspberrypi bluetoothd[523]: endpoint registrato: sender=:1.10 p 31 ott 12:36:04 raspberrypi bluetoothd[523]: punto finale r egistered: sender=:1.10 p Oct 31 12:36:04 raspberrypi bluetoothd[523]: impossibile impostare la privacy: rifiutato (0x ● bluealsa.service - proxy BluezALSA Caricato: caricato (/lib/systemd/system/bluealsa.service; statico; preset del venditore:

Noterai che ci sono una serie di errori. Prima li ordineremo.

I primi che verranno ordinati sono "inizializzazione del driver sap non riuscita". e "sap-server: operazione non consentita". accedere

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

nel terminale. Verrà fuori con questo.

[Unità]

Description=Servizio Bluetooth Documentation=man:bluetoothd(8) ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez ExecStart=/usr/lib/bluetooth/bluetoothd NotifyAccess=main #WatchdogSec=10 #Restart =in caso di errore CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC=1 ProtectHome=true ProtectSystem=full [Install] WantedBy=bluetooth.target Alias=dbus-org.bluez.service

Aggiungere

--noplugin=sap

dopo

ExecStart=/usr/lib/bluetooth/bluetoothd

per renderlo come sotto.

[Unità]

Description=Servizio Bluetooth 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 [Install] WantedBy=bluetooth.target Alias=dbus-org.bluez.service

Salva ed esci. (ctrl-x, y, invio). Quindi

sudo reboot

Quando torni sul terminale invio

sudo systemctl status blu*

Gli errori dovrebbero essere risolti, tranne uno.

Impossibile impostare la privacy: rifiutato (0x0b)

accedere

sudo systemctl riavvia blu*

aggiustare.

Non abbiamo ancora finito. Avremo anche bisogno di aggiungere l'utente "pi" al bluetooth usando

sudo adduser pi bluetooth

pi@raspberrypi:~ $ sudo adduser pi bluetooth Aggiunta dell'utente `pi' al gruppo `bluetooth' … Aggiunta dell'utente pi al gruppo bluetooth Fatto.

Dobbiamo quindi dare a bluealsa la possibilità di riprodurre flussi audio attraverso le interfacce audio Raspberry Pi (ovvero il jack audio 3.5).

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

Dovrebbe venire con

[Unità]

Description=BluezALSA proxy Requires=bluetooth.service After=bluetooth.service [Service] Type=semplice Utente=root ExecStart=/usr/bin/bluealsa

Aggiungere

-p a2dp-source -p a2dp-sink

dopo

ExecStart=/usr/bin/bluealsa

produrre

[Unità]

Description=BluezALSA proxy Requires=bluetooth.service After=bluetooth.service [Service] Type=semplice Utente=root ExecStart=/usr/bin/bluealsa -p a2dp-source -p a2dp-sink

Salva ed esci (ctrl-x, y, invio).

Quindi

sudo reboot

Questo rende il nostro Bluetooth più o meno pronto. Ora accoppieremo e ci collegheremo al nostro Raspberry Pi.

Passaggio 3: associazione, connessione e fiducia

Abbiamo ora stabilito le basi per realizzare un altoparlante Bluetooth. Ma dobbiamo ancora essere in grado di connetterci per riprodurre la musica attraverso di essa.

Per prima cosa, entra

sudo bluetoothctl

poi

accensione

poi

scansione su

dovrebbe venire fuori qualcosa del genere

pi@raspberrypi:~ $ sudo bluetoothctl

Agente registrato [bluetooth]# accensione Modifica accensione riuscita [bluetooth]# scansione su Rilevamento avviato [CHG] Controller B8:27:EB:A2:FD:3C Rilevamento: sì [NUOVO] Dispositivo 60:D8:19:C0: 2E:41 FARTHINGSLAPTOP [NUOVO] Dispositivo A4:E4:B8:59:BE:8D A4-E4-B8-59-BE-8D [CHG] Dispositivo A4:E4:B8:59:BE:8D Nome: APR-BLACKBERRY [CHG] Dispositivo A4:E4:B8:59:BE:8D Alias: APR-BLACKBERRY [CHG] Dispositivo A4:E4:B8:59:BE:8D TxPower: 0 [CHG] Dispositivo A4:E4:B8:59: UUID BE:8D: 00001800-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4:E4:B8:59:BE:UUID 8D: 00001801-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4:E4:B8: 59:BE:8D UUID: 00001200-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4:E4:B8:59:BE:8D UUID: 0000113b-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4:E4: B8:59:BE:8D UUID: 00001124-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4:E4:B8:59:BE:8D UUID: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4:B8:59:BE:UUID 8D: 0000110f-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4:E4:B8:59:BE:UUID 8D: 0000110c-0000-1000-8000-00805f9b34fb [CHG] UUID dispositivo A4:E4:B8:59:BE:8D: 0000110a-0000-1000-8000-00805f9b34fb [CHG] UUID dispositivo A4:E4:B8:59:BE:8D: 0000111f-0000-1000-8000 -00805f9b34fb [CHG] UUID dispositivo A4:E4:B8:59:BE:8D: 00001203-0000-1000-8000-00805f9b34fb [CHG] UUID dispositivo A4:E4:B8:59:BE:8D: 00001116-0000-1000 -8000-00805f9b34fb [CHG] UUID dispositivo A4:E4:B8:59:BE:8D UUID: 0000112f-0000-1000-8000-00805f9b34fb [CHG] UUID dispositivo A4:E4:B8:59:BE:8D: 00001105-0000 -1000-8000-00805f9b34fb [CHG] Dispositivo A4:E4:B8:59:BE:8D UUID: 00001132-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 RSSI: - 66 [Bluetooth]#

in questo esempio effettueremo l'associazione e la connessione al dispositivo chiamato FarthingsLaptop.

Quindi (sostituisci l'indirizzo mac con il dispositivo a cui ti connetterai).

coppia 60:D8:19:C0:2E:41

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

Tentativo di accoppiamento con 60:D8:19:C0:2E:41 [CHG] Dispositivo 60:D8:19:C0:2E:41 Connesso: sì Richiedi conferma [agente] Conferma passkey 478737 (sì/no): sì [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00000002-0000-1000-8000-0002ee000002 [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001000-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001104-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001105-0000-1000-8000 -00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001106-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001107-0000-1000 -8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000110b-0000 -1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000110e -0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001112-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001115-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000111b-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000111f-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 UUID: 00001304-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60:D8:19:C0:2E:41 Servizi risolti: sì [CHG] Dispositivo 60:D8:19:C0:2E:41 Accoppiato: sì Accoppiamento riuscito

Quindi possiamo connetterci al dispositivo.

collegare 60: D8: 19: C0: 2 E: 41

Connessione riuscita

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

Tentativo di connessione a 60:D8:19:C0:2E:41 [CHG] Dispositivo 60:D8:19:C0:2E:41 Connesso: sì Connessione riuscita [CHG] Dispositivo 60:D8:19:C0:2E:41 Servizi risolti: sì [CHG] Dispositivo 60:D8:19:C0:2E:41 RSSI: -59

Successivamente ci fideremo del dispositivo in modo da poterci connettere senza conferma.

fiducia 60:D8:19:C0:2E:41

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

[CHG] Dispositivo 60:D8:19:C0:2E:41 Attendibile: sì Modifica 60:D8:19:C0:2E:41 attendibile riuscita

A questo punto dovresti essere connesso ma noterai che se riproduci musica, non viene riprodotta tramite l'altoparlante collegato al Raspberry Pi. Questo è ciò che faremo nel passaggio successivo.

Passaggio 4: riproduzione di musica

A questo punto dovresti essere connesso al tuo Raspberry Pi, ma non viene riprodotta musica attraverso l'altoparlante.

Puoi risolvere questo problema con il comando

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

Ora dovresti sentire l'audio proveniente dall'altoparlante quando riproduci contenuti multimediali, ma non devi eseguire questo comando ogni volta che vuoi riprodurre una canzone, quindi lo faremo eseguire all'avvio.

accedere

sudo nano /etc/rc.local

Dovrebbe venire fuori questo.

#!/bin/sh -e

# # rc.local # # Questo script viene eseguito alla fine di ogni runlevel multiutente. # Assicurati che lo script "uscirà da 0" in caso di successo o qualsiasi altro # valore in caso di errore. # # Per abilitare o disabilitare questo script basta cambiare i # bit di esecuzione. # # Di default questo script non fa nulla. # Stampa l'indirizzo IP _IP=$(hostname -I) || vero se ["$_IP"]; quindi printf "Il mio indirizzo IP è %s\n" "$_IP" fi exit 0 ente

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

appena prima

esci 0

quindi sembra così.

#!/bin/sh -e

# # rc.local # # Questo script viene eseguito alla fine di ogni runlevel multiutente. # Assicurati che lo script "uscirà da 0" in caso di successo o qualsiasi altro # valore in caso di errore. # # Per abilitare o disabilitare questo script basta cambiare i # bit di esecuzione. # # Di default questo script non fa nulla. # Stampa l'indirizzo IP _IP=$(hostname -I) || vero se ["$_IP"]; quindi printf "Il mio indirizzo IP è %s\n" "$_IP" fi bluealsa-aplay 00:00:00:00:00:00 exit 0 Salva ed esci (ctrl-x, y, invio)

Quindi

sudo reboot

Quando si avvia, connettiti e riproduci una canzone!

Ora dovresti avere un altoparlante Bluetooth completamente funzionante!

Se hai domande lascia un commento qui sotto e le risponderò il prima possibile.

Grazie per aver guardato.

Consigliato: