Aqui está uma explicação muito detalhada:
Den3243
Aqui está uma solução de linha de comando:
Primeiro, vamos digitalizar, emparelhar, confiar no seu dispositivo com "bluetoothctl". Para fazer isso, execute isso na linha de comando, no seu terminal:
bluetoothctl -a
Você deve obter um prompt de comando diferente, como:
[bluetooth]
Com o alto-falante BT ativado, digite o seguinte:
scan on
Em alguns instantes, você deverá ver os dispositivos BT disponíveis. Ao lado do dispositivo estará o endereço MAC, como: 00: AA: 22: BB: 33. Agora digite isso:
info <your mac address>
Exclua os caracteres maior que e menor que. O que você procura é algum tipo de associação anterior ao seu orador da BT. Você saberá que houve uma associação anterior porque o bluetoothctl mostrará informações sobre o seu dispositivo BT. Algumas dessas informações serão sobre o dispositivo emparelhado e confiável. Isso é bom.
Se o bluetoothctl reclamar que não há dispositivo, precisamos configurá-lo neste momento. Para fazer isso, digite o seguinte:
pair <your mac address>
Você deverá receber uma mensagem de sucesso sobre o pareamento do seu dispositivo com sucesso. Agora vamos confiar em nosso novo dispositivo BT. Digite isto:
trust <your mac address>
Novamente, você deve receber uma mensagem de sucesso sobre confiar. Deixe-me avisá-lo. O seu dispositivo BT pode conectar-se novamente. Não tenha medo, não queremos que ele se conecte. Vá em frente e vamos sair "bluetoothctl". Para fazer isso, digite:
quit
Agora você será levado de volta ao prompt da linha de comando. Em um post anterior, sugeri que você crie um diretório de scripts em seu diretório pessoal. Se você não tiver, vá em frente e faça isso agora. Digite isso no prompt de comando:
mkdir -p ~/scripts
Pressione enter e agora vamos criar nosso script basop de autopair. Digite isto:
nano ~/scripts/autopair
Digite este código no script:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Exclua os colchetes!
Agora pressione CTRL + x ao mesmo tempo e agora pressione enter para salvar o script. Precisamos torná-lo executável. Para fazer isso, digite o seguinte:
chmod +x ~/scripts/autopair
Suponho que você não use alto-falantes analógicos externos na tomada de 3,5 mm. Se isso for verdade, vamos desativar o alsa. Para fazer isso, vamos editar um arquivo no diretório / boot chamado config.txt. Para fazer isso, digite isto em seu terminal:
sudo nano /boot/config.txt
Vá até a parte inferior do arquivo e procure duas linhas que se lêem:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Coloque um (sinal de cerquilha #) na frente da linha que diz:
dtparam=audio=on
Se parecer:
#dtparam=audio=on
Pressione CTRL + xe pressione Enter para salvar seu arquivo.
Suponho que você tenha o pulseaudio instalado? Caso contrário, vá em frente e execute este comando na linha de comando:
sudo apt-get update && sudo apt-get install pulseaudio -y
Isso lhe dará um componente muito importante para fazer o bluetooth funcionar! Agora vamos editar nosso arquivo .bashrc em nosso diretório pessoal. Digite isto:
nano ~/.bashrc
Desça até a parte inferior e adicione esta linha:
pulseaudio --start
Pressione CTRL + xe agora pressione Enter para salvar seu arquivo.
ESTÁ BEM! Precisamos entrar no mundo Python. Eu escrevi um programa Python que observará o dispositivo bluetooth. Em resumo, ele ativará a conexão entre o RPi e o alto-falante bluetooth, assim que o alto-falante estiver ligado. E vice versa. Vamos criar um diretório chamado python no seu diretório pessoal. Para fazer isso, digite o seguinte:
mkdir -p ~/python
Agora vamos criar o arquivo de programa python. Para fazer isso, digite o seguinte:
nano ~/python/on.py
Dentro desse arquivo, precisamos copiar e colar o seguinte:
#!/usr/bin/python
#
# Monitor removal of bluetooth reciever
import os
import sys
import subprocess
import time
def blue_it():
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 0:
print("Bluetooth UP")
print(status)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
waiting()
def waiting():
subprocess.call('killall -9 pulseaudio', shell=True)
time.sleep(3)
subprocess.call('pulseaudio --start', shell=True)
time.sleep(2)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 2:
print("Bluetooth DOWN")
print(status)
subprocess.call('~/scripts/autopair', shell=True)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
blue_it()
blue_it()
Agora pressione CTRL + xe pressione Enter para salvar o arquivo de programa Python. Agora precisamos tornar este arquivo executável. Para fazer isso, digite o seguinte:
chmod +x ~/python/on.py
Por fim, vamos adicionar isso ao nosso script .bashrc em nosso diretório inicial:
nano ~/.bashrc
Vá para a parte inferior do arquivo e adicione estas duas linhas:
wait
~/python/on.py
Agora pressione CTRL + xe pressione Enter para salvar. Ligue o alto-falante Bluetooth e reinicie o Raspberry Pi.
Boa sorte!
-nitrolinux