Étape 5: Configurer le script qui est exécuté lorsqu’un périphérique Bluetooth se connecte
Nous allons tout d’abord configurer une règle dans notre udev qui stipule que chaque fois qu’un périphérique se connecte, notre script sera exécuté. Exécutez la commande suivante pour ouvrir la liste des règles udev.
sudo nano /etc/udev/rules.d/99-input.rules
Il devrait y avoir qu’une seule ligne il qui ressemble à :
SUBSYSTEM == « input », groupe = « input », MODE = « 0660 »
Dessous, allons-y et ajoutez la ligne suivante :
Noyau == "entrée [0-9] * «, RUN += » / usr/lib/udev/bluetooth »
Enregistrez et quittez.
Maintenant nous allons effectivement sauver ce script qui référence le fichier de règles ci-dessus. Vérifiez d’abord pour voir si un udev / répertoire existe. Faire sudo ls-/usr/lib/udev de la . S’il n’existe pas aller de l’avant et le créer comme suit : sudo mkdir /usr/lib/udev
sudo nano /usr/lib/udev/bluetooth
Copier et coller (ou type il out si vous êtes malchanceux) qui suit le script dans votre terminal.
NOTE : je n’ai pas écrit ce script seul. Je l’ai trouvé au cours de la recherche (pourquoi réinventer la roue si ne pas nécessaire) et modifié pour fonctionner de la manière que j’en avais besoin pour afin d’être aussi convivial que possible, Bluetooth-sage.
#! / bin/bash ACTION = $(expr « $ACTION »: "\([a-zA-Z]\+\).*") # Désactiver BT Découvrez la mode avant de connecter le dispositif existant de BT audio # définir la sortie audio à l’analogique # Définir le niveau de volume à 100 %
#change si vous n’utilisez pas sortie audio analogique par défaut.
#THIS n’a pas fonctionné pour mon PI alors j’ai ajouté un amixer commande ci-dessous
AUDIOSINK = « alsa_output.platform-bcm2835_AUD0.0.analog-StΘrΘo »
echo "l’exécution de script bluetooth... | ACTION| $">> /var/log/bluetooth_dev
Si [« $ACTION » = « Ajouter »]
puis
hciconfig hci0 noscan
# COMMENTAIRE QUE CETTE LIGNE OUT SI VOUS VOULEZ SORTIE AUDIO VIA HDMI
amixer cset numide = 3 1
amixer set Master 100 %
PacMD ensemble-évier-volume 0 65537
pour dev dans $(trouver /sys/devices/virtual/input / - le nom d’entrée *) dormir 1 CONFIRM ='sudo -u pi pactl liste des courte | grep $bluez_dev'
faire
Si [-f « $dev/name "]
puis
Mac = $(cat "$dev/name" | sed 's/:/_/g')
bluez_dev = bluez_source. $mac
Si [! - z « $CONFIRM »]
puis
echo "affectant à bluez_source : $bluez_dev" >> /var/log/bluetooth_dev
source d’Echo pactl load-module module-loopback = évier bluez_dev $= $AUDIOSINK taux = 44100 adjust_time = 0 >> /var/log/bluetooth_dev
sudo -u pi pactl load-module module-bouclage source = évier bluez_dev $= $AUDIOSINK taux = 44100 adjust_time = 0 >> /var/log/bluetooth_dev
FI
FI
fait
FI
Si [« $ACTION » = « supprimer »]
puis
# Activer la découverte de bluetooth si l’appareil se déconnecte
sudo hciconfig hci0 piscan
FI
Enregistrez et quittez ! Maintenant nous allons modifier les permissions du fichier pour le rendre exécutable.
sudo chmod 774 /usr/lib/udev/bluetooth
Formidable ! Votre PI framboise est maintenant capable de lecture audio Bluetooth via A2DP ! Whoo ! Maintenant nous allons considérer un peu plus loin en tournant sur le mode de découverte et auto acceptant droit connexions lorsque le PI se connecte automatiquement dans la ligne de commande.