Índice:

Alto-falante Raspberry Pi Bluetooth: 4 etapas
Alto-falante Raspberry Pi Bluetooth: 4 etapas

Vídeo: Alto-falante Raspberry Pi Bluetooth: 4 etapas

Vídeo: Alto-falante Raspberry Pi Bluetooth: 4 etapas
Vídeo: How to use a Raspberry Pi as a Bluetooth Receiver - Make Any Speaker Bluetooth 2024, Novembro
Anonim
Alto-falante Bluetooth Raspberry Pi
Alto-falante Bluetooth Raspberry Pi

Olá a todos.

Aqui está um instrutivo sobre como fazer um alto-falante Bluetooth usando Raspberry Pi. Isso foi feito após uma nova instalação do Raspbian mais recente (em 2020-10-31). Neste Instructable estaremos convertendo o Raspberry Pi para receber áudio por Bluetooth e enviá-lo através do conector de áudio 3.5 integrado. Se você estiver usando o Raspberry Pi 1 ou 2, terá que usar um adaptador Bluetooth separado. Para este Instructable, usaremos Raspberry Pi 3B.

Suprimentos

Raspberry Pi 1, 2, 3 ou 4.

Alto-falante com entrada jack de áudio 3,5.

Fonte de alimentação para Raspberry Pi.

Mouse e teclado para Raspberry Pi (ou você pode usar o SSH em outro computador).

Dongle Bluetooth se estiver usando Raspberry Pi 1 ou 2.

Etapa 1: faça login no Raspberry Pi

Esta etapa é bastante intuitiva!

Você precisará estar conectado ao Raspberry Pi por meio de SSH ou com um monitor, mouse e teclado. Se você estiver na GUI do Raspian, abra um Terminal. Se você estiver usando SSH, então já estará lá.

Antes de prosseguir com as próximas etapas, é aconselhável certificar-se de que atualizou seu sistema.

sudo apt-get update

sudo apt-get upgrade

Isso pode levar alguns minutos.

Etapa 2: resolver o Bluetooth

Se você entrar

sudo systemctl status blue *

então provavelmente retornará algo como abaixo.

pi @ raspberrypi: ~ $ sudo systemctl status blue *

● bluetooth.service - serviço Bluetooth carregado: carregado (/lib/systemd/system/bluetooth.service; habilitado; predefinição do fornecedor Ativo: ativo (em execução) desde sábado 2020-10-31 12:36:04 GMT; 40min atrás Documentos: man: bluetoothd (8) PID principal: 523 (bluetoothd) Status: "Executando" Tarefas: 1 (limite: 2065) CGroup: /system.slice/bluetooth.service └─523 / usr / lib / bluetooth / bluetoothd 31 de outubro de 12: 36: 04 raspberrypi systemd [1]: Iniciando serviço Bluetooth … 31 de outubro 12:36:04 raspberrypi bluetoothd [523]: daemon Bluetooth 5.50 31 de outubro 12:36:04 raspberrypi systemd [1]: serviço Bluetooth iniciado. 31 de outubro 12: 36: 04 raspberrypi bluetoothd [523]: Iniciando servidor SDP 31 de outubro 12:36:04 raspberrypi bluetoothd [523]: interface de gerenciamento de Bluetooth 1.14 31 de outubro 12:36:04 raspberrypi bluetoothd [523]: Falha na inicialização do driver Sap. 31 de outubro 12:36:04 raspberrypi bluetoothd [523]: sap-server: Operação não permitida 31 de outubro 12:36:04 raspberrypi bluetoothd [523]: Endpoint registrado: remetente =: 1,10 p 31 de outubro 12:36:04 raspberrypi bluetoothd [523]: Endpoint r egistered: sender =: 1,10 p 31 out 12:36:04 raspberrypi bluetoothd [523]: Falha ao definir privacidade: Rejeitado (0x ● bluealsa.service - proxy BluezALSA carregado: carregado (/lib/systemd/system/bluealsa.service; estático; predefinição do fornecedor:

Você notará que há vários erros. Vamos primeiro resolver isso.

Os primeiros que classificaremos são "falha na inicialização do driver sap." e "sap-server: Operação não permitida". Digitar

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

no terminal. Ele vai aparecer com isso.

[Unidade]

Descrição = serviço 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 = em caso de falha CapabilityBoundingSet = CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC = 1 ProtectHome = verdadeiro ProtectSystem = completo [Instalar] WantedBy = bluetooth.target Alias = dbus-org.bluez.service

Adicionar

--noplugin = sap

depois de

ExecStart = / usr / lib / bluetooth / bluetoothd

para fazer como abaixo.

[Unidade]

Descrição = serviço 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 # Reiniciar = falha CapabilityBoundingSet = CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC = 1 ProtectHome = verdadeiro ProtectSystem = completo [Instalar] WantedBy = bluetooth.target Alias = dbus-org.bluez.service

Salvar e sair. (ctrl-x, y, enter). Então

sudo reboot

Quando você estiver de volta no terminal, entre

sudo systemctl status blue *

Os erros devem ser resolvidos, exceto um.

Falha ao definir privacidade: rejeitado (0x0b)

Digitar

sudo systemctl restart blue *

Consertar.

Ainda não terminamos. Também precisaremos adicionar o usuário "pi" ao bluetooth usando

sudo adduser pi bluetooth

pi @ raspberrypi: ~ $ sudo adduser pi bluetooth Adicionando o usuário `pi 'ao grupo` bluetooth'… Adicionando o usuário pi ao grupo bluetooth Concluído.

Em seguida, precisamos dar ao bluealsa a capacidade de reproduzir fluxos de áudio por meio das interfaces de áudio do Raspberry Pi (ou seja, o conector de áudio 3.5).

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

Deve vir com

[Unidade]

Descrição = proxy BluezALSA Requer = bluetooth.service After = bluetooth.service [Serviço] Type = simples Usuário = root ExecStart = / usr / bin / bluealsa

Adicionar

-p a2dp-source -p a2dp-sink

depois de

ExecStart = / usr / bin / bluealsa

fazer

[Unidade]

Descrição = BluezALSA proxy Requer = bluetooth.service After = bluetooth.service [Serviço] Type = simples Usuário = root ExecStart = / usr / bin / bluealsa -p a2dp-source -p a2dp-sink

Salve e saia (ctrl-x, y, enter).

Então

sudo reboot

Isso torna nosso Bluetooth mais ou menos pronto. Agora vamos emparelhar e conectar ao nosso Raspberry Pi.

Etapa 3: emparelhamento, conexão e confiança

Agora definimos os fundamentos para fazer um alto-falante Bluetooth. Mas ainda precisamos ser capazes de nos conectar para tocar música por meio dele.

Primeiro, entre

sudo bluetoothctl

então

ligar

então

escanear

algo assim deve surgir

pi @ raspberrypi: ~ $ sudo bluetoothctl

Agente registrado [bluetooth] # ligar Mudança de ligar com sucesso [bluetooth] # varredura na descoberta iniciada [CHG] Controlador B8: 27: EB: A2: FD: 3C Descobrindo: sim [NOVO] Dispositivo 60: D8: 19: C0: 2E: 41 FARTHINGSLAPTOP [NOVO] 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: BE: UUIDs 8D: 00001800-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 00001801-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 00001200-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 0000113b-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 00001124-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: 8D UUIDs: 0000110f-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: 8D UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: 8D UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: 8D UUIDs: 0000111f-0000-1000-8000 -00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 00001203-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 00001116-0000-1000 -8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 00001105-0000 -1000-8000-00805f9b34fb [CHG] Dispositivo A4: E4: B8: 59: BE: UUIDs 8D: 00001132-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 RSSI: - 66 [bluetooth] #

neste exemplo, estaremos emparelhando e nos conectando ao dispositivo chamado FarthingsLaptop.

Portanto (substitua o endereço mac pelo dispositivo ao qual você se conectará).

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

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

Tentando emparelhar com 60: D8: 19: C0: 2E: 41 [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 Conectado: sim Solicitar confirmação [agente] Confirmar senha 478737 (sim / não): sim [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00000002-0000-1000-8000-0002ee000002 [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001000-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001104-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001105-0000-1000-8000 -00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001106-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001107-0000-1000 -8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000110b-0000 -1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000110e -0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001112-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001115-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000111b-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000111f-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 UUIDs: 00001304-0000-1000-8000-00805f9b34fb [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 Serviços resolvidos: sim [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 Emparelhado: sim Emparelhamento bem-sucedido

Então, podemos nos conectar ao dispositivo.

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

Conexão bem sucedida

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

Tentando conectar a 60: D8: 19: C0: 2E: 41 [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 Conectado: sim Conexão bem-sucedida [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 Serviços Resolvidos: sim [CHG] Dispositivo 60: D8: 19: C0: 2E: 41 RSSI: -59

Em seguida, confiaremos no dispositivo para que possamos nos conectar a ele sem confirmação.

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

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

[CHG] Dispositivo 60: D8: 19: C0: 2E: 41 Confiável: sim Alteração 60: D8: 19: C0: 2E: 41 confiança bem-sucedida

Nesse ponto, você deve estar conectado, mas perceberá que, se tocar música, ela não será reproduzida pelo alto-falante conectado ao Raspberry Pi. Isso é o que faremos na próxima etapa.

Etapa 4: Tocando música

Agora você deve estar conectado ao Raspberry Pi, mas nenhuma música está tocando no alto-falante.

Você pode consertar isso pelo comando

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

Agora você deve ouvir o som vindo do alto-falante ao reproduzir a mídia, mas não quer ter que executar este comando toda vez que quiser tocar uma música, então faremos com que ele seja executado na inicialização.

Digitar

sudo nano /etc/rc.local

Deve vir com isso.

#! / bin / sh -e

# # rc.local # # Este script é executado no final de cada nível de execução multiusuário. # Certifique-se de que o script "sairá 0" em caso de sucesso ou qualquer outro valor # em caso de erro. # # Para habilitar ou desabilitar este script, basta alterar os # bits de execução. # # Por padrão, este script não faz nada. # Imprime o endereço IP _IP = $ (hostname -I) || verdadeiro se ["$ _IP"]; então printf "Meu endereço IP é% s / n" "$ _IP" fi exit 0 Ente

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

um pouco antes

saída 0

então fica assim.

#! / bin / sh -e

# # rc.local # # Este script é executado no final de cada nível de execução multiusuário. # Certifique-se de que o script "sairá 0" em caso de sucesso ou qualquer outro valor # em caso de erro. # # Para habilitar ou desabilitar este script, basta alterar os # bits de execução. # # Por padrão, este script não faz nada. # Imprime o endereço IP _IP = $ (hostname -I) || verdadeiro se ["$ _IP"]; então printf "Meu endereço IP é% s / n" "$ _IP" fi bluealsa-aplay 00: 00: 00: 00: 00: 00 exit 0 Salvar e sair (ctrl-x, y, enter)

Então

sudo reboot

Quando ele inicializar, conecte-se e reproduza uma música!

Agora você deve ter um alto-falante Bluetooth totalmente funcional!

Se você tiver alguma dúvida, deixe um comentário abaixo e entrarei em contato o mais breve possível.

Obrigado por olhar.

Recomendado: