Voici une explication très détaillée:
Den3243
Voici une solution en ligne de commande:
Commençons par numériser, coupler et faire confiance à votre appareil avec "bluetoothctl". Pour ce faire, exécutez ceci sur la ligne de commande, votre terminal:
bluetoothctl -a
Vous devriez obtenir une invite de commande différente comme:
[bluetooth]
Avec votre haut-parleur BT allumé, tapez ceci:
scan on
Dans quelques instants, vous devriez voir les appareils BT disponibles. À côté de l'appareil se trouve son adresse MAC, comme: 00: AA: 22: BB: 33. Tapez maintenant ceci:
info <your mac address>
Excluez les caractères supérieur et inférieur à. Ce que vous recherchez est une sorte d'association précédente avec votre enceinte BT. Vous saurez qu'il y avait une association précédente car bluetoothctl affichera des informations sur votre appareil BT. Certaines de ces informations concerneront le périphérique à coupler et à approuver. C'est bon.
Si bluetoothctl se plaint qu'il n'y a pas d'appareil, alors nous devons le configurer à ce moment. Pour ce faire, tapez ceci:
pair <your mac address>
Vous devriez voir un message de réussite concernant le couplage de votre appareil avec succès. Faisons maintenant confiance à notre nouvel appareil BT. Tapez ceci:
trust <your mac address>
Encore une fois, vous devriez voir un message de réussite sur la confiance. Permettez-moi de vous avertir. Votre appareil BT peut se connecter, puis il peut ne pas le faire. N'ayez crainte, nous ne voulons pas qu'il se connecte. Allez-y et quittons "bluetoothctl". Pour ce faire, tapez:
quit
Vous serez maintenant ramené à l'invite de ligne de commande. Dans un article précédent, je vous ai suggéré de créer un répertoire de scripts dans votre répertoire personnel. Si ce n'est pas le cas, allez-y et faites-le maintenant. Tapez ceci à l'invite de commande:
mkdir -p ~/scripts
Appuyez sur Entrée et créons maintenant notre script bash de paire automatique. Tapez ceci:
nano ~/scripts/autopair
Entrez ce code dans le script:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Excluez les crochets!
Appuyez maintenant sur CTRL + x en même temps, puis appuyez sur Entrée pour enregistrer le script. Nous devons le rendre exécutable. Pour ce faire, tapez ceci:
chmod +x ~/scripts/autopair
Je suppose que vous n'utilisez pas de haut-parleurs analogiques externes dans la prise 3,5 mm. Si cela est vrai, désactivons alsa. Pour ce faire, éditons un fichier dans le répertoire / boot appelé config.txt. Pour ce faire, saisissez ceci dans votre terminal:
sudo nano /boot/config.txt
Page vers le bas du fichier et recherchez deux lignes qui se lisent:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Placez un (signe dièse #) devant la ligne qui lit:
dtparam=audio=on
Ressembler à:
#dtparam=audio=on
Appuyez sur CTRL + x puis appuyez sur Entrée pour enregistrer votre fichier.
Je suppose que pulseaudio est installé? Sinon, allez-y et exécutez cette commande à partir de la ligne de commande:
sudo apt-get update && sudo apt-get install pulseaudio -y
Cela vous donnera un élément très important pour faire fonctionner le bluetooth! Modifions maintenant notre fichier .bashrc dans notre répertoire personnel. Tapez ceci:
nano ~/.bashrc
Page vers le bas et ajoutez cette ligne:
pulseaudio --start
Appuyez sur CTRL + x et maintenant appuyez sur Entrée pour enregistrer votre fichier.
D'ACCORD! Nous devons entrer dans le monde Python. J'ai écrit un programme Python qui surveillera le périphérique Bluetooth. En bref, il activera la connexion entre RPi et votre haut-parleur Bluetooth, une fois que votre haut-parleur Bluetooth est allumé. Et vice versa. Créons un répertoire appelé python dans votre répertoire personnel Pour ce faire, tapez ceci:
mkdir -p ~/python
Créons maintenant le fichier programme python. Pour ce faire, tapez ceci:
nano ~/python/on.py
Dans ce fichier, nous devons copier et coller les éléments suivants:
#!/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()
Appuyez maintenant sur CTRL + x puis appuyez sur Entrée pour enregistrer le fichier programme Python. Maintenant, nous devons rendre ce fichier exécutable. Pour ce faire, tapez ceci:
chmod +x ~/python/on.py
Enfin, ajoutons ceci à notre script .bashrc dans notre répertoire personnel:
nano ~/.bashrc
Page vers le bas du fichier et ajoutez ces deux lignes:
wait
~/python/on.py
Appuyez maintenant sur CTRL + x puis appuyez sur Entrée pour enregistrer. Allumez votre haut-parleur Bluetooth et redémarrez votre Raspberry Pi.
Bonne chance!
-nitrolinux
J'ai constaté qu'il existe des problèmes actuels avec pulseaudio5, en particulier en ce qui concerne la lecture audio via Bluetooth. En tant que tel, je propose qu'au lieu d'avoir à déboguer ceux-ci lorsqu'ils arrivent, utilisez simplement PulseAudio6 pour ce que vous voulez.
J'ai créé un dépôt qui automatisera tout ci-dessous afin que vous n'ayez pas besoin de faire tout le travail de jambe, mais si vous êtes toujours prêt à le faire vous-même, continuez ci-dessous.
Repo: https://github.com/BaReinhard/a2dp_bluetooth
Processus d'installation:
Attendez que le processus d'installation soit terminé et redémarrez. Une fois terminé, vous devrez initialement coupler, faire confiance et connecter votre appareil. Après l'heure initiale, vous n'aurez plus qu'à allumer l'appareil.
Pairage, approbation et connexion:
-------------------- Procédure pas à pas complète: --------------------
Compilation de PulseAudio 6
Ajoutez les fichiers suivants
/etc/init.d/pulseaudio
/etc/init.d/bluetooth
Activer les nouveaux services init.d et rendre exécutable
Assurez-vous que nous avons tous les modules nécessaires
Passez au répertoire personnel et installez json-c à partir de git source (requis pour PA6)
Passez au répertoire personnel et installez libsndfile à partir de git source
Assurez-vous que Bluetooth recherche (
sudo hciconfig hci0 piscan
est déconseillé)Accédez au répertoire personnel et installez PulseAudio 6 à partir de git source
Assurez-vous que le pouls est dans tous les groupes nécessaires
Mettez à jour
/etc/pulse/system.pa
et/etc/pulse/daemon.conf
regardez comme suit:/etc/pulse/system.pa
/etc/pulse/daemon.conf
Configurer la règle udev
Modifiez
/etc/udev/rules.d/99-com.rules
et ajoutez les deux lignes suivantes:Créer
/usr/local/bin/bluez-udev
/ usr / local / bin / bluez-udev
Assurez-vous que bluez-udev est exécutable
Résumé
Que fait-on ici?
la source
Avez-vous essayé de créer un script Bash qui utilise hcitool pour se connecter?
Ajoutez des droits exécutables à ce fichier, puis ajoutez-le à cron (vous pouvez choisir à tout moment).
Cela a fonctionné pour moi lorsque j'ai essayé de me connecter à un clavier Bluetooth. Je ne sais pas si cela fonctionnera pour un haut-parleur (je ne sais pas si c'est un protocole différent). J'espère que cela t'aides!
la source
a trouvé cela encore mieux
la source