RPi-Bluetooth Audio : Différence entre versions
(5 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 13 : | Ligne 13 : | ||
** Ouvrez le fichier de configuration dans Nano;<pre>sudo nano /boot/config.txt</pre> | ** Ouvrez le fichier de configuration dans Nano;<pre>sudo nano /boot/config.txt</pre> | ||
** Il faut commenter (#) les lignes suivantes; <pre>dtparam=audio=on</pre><pre>hdmi_force_hotplug=1</pre> | ** Il faut commenter (#) les lignes suivantes; <pre>dtparam=audio=on</pre><pre>hdmi_force_hotplug=1</pre> | ||
− | * Exécutez le server PulseAudio; | + | * Exécutez le server PulseAudio;<pre>pulseaudio --start</pre> |
− | + | * Active le module Bluetooth du Kernel <pre>sudo modprobe btusb</pre> | |
+ | * Ont prépare le Bluetooth à supporter l'audio | ||
+ | ** Ouvrez le fichier dans l'éditeur; <pre>sudo nano /etc/bluetooth/main.conf</pre> | ||
+ | ** Ajouter dans "[General]" cette ligne; <pre>Enable=Source,Sink,Media,Socket</pre> | ||
+ | * Ajoute le service Bluetooth et l'active; | ||
+ | sudo systemctl enable bluetooth | ||
+ | sudo systemctl start bluetooth | ||
+ | * Ajouter vous dans le groupe "bluetooth" avec <pre>sudo usermod -a -G bluetooth pi</pre> | ||
+ | * Redémarrez avec <pre>sudo reboot</pre> | ||
* La détection initial de votre appareil Bluetooth compatible A2DP; | * La détection initial de votre appareil Bluetooth compatible A2DP; | ||
bluetoothctl | bluetoothctl | ||
Ligne 28 : | Ligne 36 : | ||
Sortez de l'interface Bluetooth avec; | Sortez de l'interface Bluetooth avec; | ||
quit | quit | ||
+ | * Trouvez le nom de votre profil avec | ||
+ | pacmd list-cards | ||
* Définissez le profile A2DP comme actif; | * Définissez le profile A2DP comme actif; | ||
pacmd set-card-profile bluez_card.xx_xx_xx_xx_xx_xx a2dp_sink | pacmd set-card-profile bluez_card.xx_xx_xx_xx_xx_xx a2dp_sink | ||
Ligne 59 : | Ligne 69 : | ||
startx -- -nocursor -quiet</pre> | startx -- -nocursor -quiet</pre> | ||
* Sauvegardez le fichier et rendez-le exécutable;<pre>chmod +x /home/pi/btspkr.sh</pre> | * Sauvegardez le fichier et rendez-le exécutable;<pre>chmod +x /home/pi/btspkr.sh</pre> | ||
+ | |||
+ | === Correction de PulseAudio === | ||
+ | * Pour corriger la désactivation en "idle", ouvres <pre>sudo nano /etc/pulse/default.pa</pre> et commenter la ligne <pre>load-module module-suspend-on-idle</pre> | ||
+ | |||
+ | |||
==== ''Ceci est l'une des méthodes utilisable pour effectuer la mise en route.'' ==== | ==== ''Ceci est l'une des méthodes utilisable pour effectuer la mise en route.'' ==== | ||
− | ''ATTENTION: Dans cette version du script "btspkr.sh", la dernière ligne fait référence au démarrage de l'interface graphique (GUI). Ce | + | ''ATTENTION: Dans cette version du script "btspkr.sh", la dernière ligne fait référence au démarrage de l'interface graphique (GUI). Ce GUI est celui pour un démarrage de Chromium en mode kiosk. Assurez-vous de remplacer cette ligne par la commande qui démarre votre GUI, si c'est le cas, par celle de votre système, ou de la retirer si vous n'avez pas de GUI. Il existe d'autres moyens de démarrer ce script, à vous de le faire marcher selon votre projet. Il doit cependant être exécuté APRÈS le chargement du système de base et du Hardware et ne dois pas être exécuté par le ROOT (ni via SUDO).'' |
* Ouvrez le fichier de lancement local de votre session "pi";<pre>sudo nano /home/pi/.profile</pre> | * Ouvrez le fichier de lancement local de votre session "pi";<pre>sudo nano /home/pi/.profile</pre> | ||
* Remplacer ou ajouter à la fin du document;<pre>[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && /home/pi/btspkr.sh</pre> | * Remplacer ou ajouter à la fin du document;<pre>[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && /home/pi/btspkr.sh</pre> | ||
* Sauvegardez le fichier modifié et redémarrez;<pre>sudo reboot</pre> | * Sauvegardez le fichier modifié et redémarrez;<pre>sudo reboot</pre> | ||
[[Catégorie:Raspberry Pi]] | [[Catégorie:Raspberry Pi]] |
Version actuelle datée du 4 décembre 2021 à 13:27
Ce guide à pour but d'installer comme sortie audio unique le Bluetooth en mode de ligne de commande.
Sommaire
Pré-requis
- Mise à jour du système Raspbian OS;
sudo apt-get update sudo apt-get upgrade sudo apt-get autoremove sudo reboot
- Installation de PulseAudio;
sudo apt-get install pulseaudio pulseaudio-module-bluetooth dpkg -l pulseaudio pulseaudio-module-bluetooth
- Désactivation de l'audio par défaut (HDMI/Jack);
- Ouvrez le fichier de configuration dans Nano;
sudo nano /boot/config.txt
- Il faut commenter (#) les lignes suivantes;
dtparam=audio=on
hdmi_force_hotplug=1
- Ouvrez le fichier de configuration dans Nano;
- Exécutez le server PulseAudio;
pulseaudio --start
- Active le module Bluetooth du Kernel
sudo modprobe btusb
- Ont prépare le Bluetooth à supporter l'audio
- Ouvrez le fichier dans l'éditeur;
sudo nano /etc/bluetooth/main.conf
- Ajouter dans "[General]" cette ligne;
Enable=Source,Sink,Media,Socket
- Ouvrez le fichier dans l'éditeur;
- Ajoute le service Bluetooth et l'active;
sudo systemctl enable bluetooth sudo systemctl start bluetooth
- Ajouter vous dans le groupe "bluetooth" avec
sudo usermod -a -G bluetooth pi
- Redémarrez avec
sudo reboot
- La détection initial de votre appareil Bluetooth compatible A2DP;
bluetoothctl
- Une fois dans l'interface;
power on agent on default-agent scan on
Attendez quelques instant, les informations des appareils Bluetooth vont tranquillement s'afficher, cherchez votre appareil et repérez l'adresse MAC sous la forme XX:XX:XX:XX:XX:XX.
pair XX:XX:XX:XX:XX:XX trust XX:XX:XX:XX:XX:XX connect XX:XX:XX:XX:XX:XX
Sortez de l'interface Bluetooth avec;
quit
- Trouvez le nom de votre profil avec
pacmd list-cards
- Définissez le profile A2DP comme actif;
pacmd set-card-profile bluez_card.xx_xx_xx_xx_xx_xx a2dp_sink pacmd set-default-sink bluez_sink.xx_xx_xx_xx_xx_xx.a2dp_sink
- Testez avec eSpeak;
espeak "Hello World"
Activation du Bluetooth au démarrage
- Créez un script Bash pour simplifier vos commandes dans le dossier de Pi;
nano /home/pi/btspkr.sh
- Dans le document, vous allez inscrire les commandes suivantes;
#!/bin/bash echo "BTSPK Connection process" echo "Restart Bluetooth" sudo systemctl stop bluetooth sudo systemctl start bluetooth echo "Restart PulseAudio server" pulseaudio -k pulseaudio -D echo "Reload Bluetooth PulseAudio policy" pactl unload-module module-bluetooth-policy pactl load-module module-bluetooth-policy echo "Trying to connect the Bluetooth speaker" while read x ; do sleep 2s ; echo $x ; done <<eof | bluetoothctl power on agent on default-agent connect XX:XX:XX:XX:XX:XX quit eof echo "Done BTSPK Connection process" startx -- -nocursor -quiet
- Sauvegardez le fichier et rendez-le exécutable;
chmod +x /home/pi/btspkr.sh
Correction de PulseAudio
- Pour corriger la désactivation en "idle", ouvres
sudo nano /etc/pulse/default.pa
et commenter la ligneload-module module-suspend-on-idle
Ceci est l'une des méthodes utilisable pour effectuer la mise en route.
ATTENTION: Dans cette version du script "btspkr.sh", la dernière ligne fait référence au démarrage de l'interface graphique (GUI). Ce GUI est celui pour un démarrage de Chromium en mode kiosk. Assurez-vous de remplacer cette ligne par la commande qui démarre votre GUI, si c'est le cas, par celle de votre système, ou de la retirer si vous n'avez pas de GUI. Il existe d'autres moyens de démarrer ce script, à vous de le faire marcher selon votre projet. Il doit cependant être exécuté APRÈS le chargement du système de base et du Hardware et ne dois pas être exécuté par le ROOT (ni via SUDO).
- Ouvrez le fichier de lancement local de votre session "pi";
sudo nano /home/pi/.profile
- Remplacer ou ajouter à la fin du document;
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && /home/pi/btspkr.sh
- Sauvegardez le fichier modifié et redémarrez;
sudo reboot