Ecco una spiegazione molto dettagliata:
Den3243
Ecco una soluzione da riga di comando:
Per prima cosa, scansioniamo, abbiniamo, fidiamo del tuo dispositivo con "bluetoothctl". Per fare ciò, eseguilo dalla riga di comando, il tuo terminale:
bluetoothctl -a
Dovresti ricevere un prompt dei comandi diverso come:
[bluetooth]
Con l'altoparlante BT acceso, digitare questo:
scan on
In pochi istanti, dovresti vedere i dispositivi BT disponibili. Accanto al dispositivo ci sarà l'indirizzo MAC, come: 00: AA: 22: BB: 33. Ora digita questo:
info <your mac address>
Escludere il maggiore di e minore di caratteri. Quello che stai cercando è una sorta di associazione precedente con il tuo altoparlante BT. Saprai che c'era un'associazione precedente perché bluetoothctl mostrerà informazioni sul tuo dispositivo BT. Alcune di queste informazioni riguarderanno il dispositivo associato e attendibile. Questo è buono.
Se bluetoothctl si lamenta della mancanza di un dispositivo, è necessario configurarlo in questo momento. Per farlo, digita questo:
pair <your mac address>
Dovresti visualizzare un messaggio di successo sull'associazione del tuo dispositivo correttamente. Ora fidiamoci del nostro nuovo dispositivo BT. Digita questo:
trust <your mac address>
Ancora una volta, dovresti vedere un messaggio di successo sulla fiducia. Lascia che ti avverta. Il dispositivo BT potrebbe connettersi, quindi potrebbe non esserlo. Non temere, non vogliamo che si connetta. Vai avanti e usciamo da "bluetoothctl". Per farlo, digita:
quit
Ora verrai riportato al prompt della riga di comando. In un post precedente ti avevo suggerito di creare una directory di script nella tua home directory. Se non l'hai fatto, vai avanti e fallo ora. Digita questo al prompt dei comandi:
mkdir -p ~/scripts
Premi Invio e ora creiamo il nostro script bash autopair. Digita questo:
nano ~/scripts/autopair
Inserisci questo codice nello script:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Escludi le parentesi!
Ora premi CTRL + x contemporaneamente e ora premi invio per salvare lo script. Dobbiamo renderlo eseguibile. Per farlo, digita questo:
chmod +x ~/scripts/autopair
Suppongo che non si usi la spina per altoparlanti analogici esterni nella presa da 3,5 mm. Se questo è vero, disabilitiamo alsa. Per fare ciò, modifichiamo un file nella directory / boot chiamato config.txt. Per farlo, digita questo nel tuo terminale:
sudo nano /boot/config.txt
Scorri la pagina fino alla fine del file e cerca due righe che leggano:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Metti un (cancelletto #) davanti alla linea che dice:
dtparam=audio=on
Per assomigliare a:
#dtparam=audio=on
Premere CTRL + x, quindi premere Invio per salvare il file.
Suppongo che abbiate installato pulseaudio? In caso contrario, vai avanti ed esegui questo comando dalla riga di comando:
sudo apt-get update && sudo apt-get install pulseaudio -y
Questo ti darà un componente molto importante per far funzionare il bluetooth! Ora modificiamo il nostro file .bashrc nella nostra home directory. Digita questo:
nano ~/.bashrc
Pagina in basso e aggiungi questa riga:
pulseaudio --start
Premi CTRL + x e ora premi Invio per salvare il tuo file.
OK! Dobbiamo entrare nel mondo Python. Ho scritto un programma Python che controllerà il dispositivo bluetooth. In breve, attiverà la connessione tra RPi e l'altoparlante bluetooth, una volta acceso l'altoparlante bluetooth. E viceversa. Creiamo una directory chiamata python nella tua home directory Per farlo, digita questo:
mkdir -p ~/python
Ora creiamo il file di programma python. Per farlo, digita questo:
nano ~/python/on.py
All'interno di quel file, dobbiamo copiare e incollare quanto segue:
#!/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()
Ora premi CTRL + x e quindi premi Invio per salvare il file di programma Python. Ora dobbiamo rendere eseguibile questo file. Per farlo, digita questo:
chmod +x ~/python/on.py
Infine, aggiungiamo questo al nostro script .bashrc nella nostra directory home:
nano ~/.bashrc
Scorri la pagina fino alla fine del file e aggiungi queste due righe:
wait
~/python/on.py
Ora premi CTRL + x, quindi premi Invio per salvare. Accendi l'altoparlante bluetooth e riavvia Raspberry Pi.
In bocca al lupo!
-nitrolinux