Bluetooth Speaker avec Pi Zero W

Bonjour, j’ai un petit projet qui avance bien d’un petit Dashboard en PHP sous Raspbian Lite.
Mon kit est un PiZero W v1.3 avec un écran LCD 5" HDMI avec touch en SPI. Côté interface, j’ai aucun problème.

La je suis rendu à vouloir y ajouter la fonctionnalité de lecteur radio, j’aime bien programmer ou jouer et écouter ma radio internet. Bien sur, ce n’est pas le seul appareil pouvant diffuser ma musique (j’ai un setup de mixage imposant pour un newbie).

Le problème que j’ai est que à chaque redémarrage du OS, je perd ma capacité d’utiliser le bluetooth pour la musique. J’ai désactivé dans le « config.txt » l’utilisation du support audio; aplay -l retourne aucune carte (goood).

Je suis arrivé à deux reprises à faire passer l’audio via le bluetooth. J’ai un récepteur BT sans autres fonction qui sont relié au circuit audio, j’entand les « beep beep » quand il est connecté ou déconnecté (alors c’est pas un trouble extérieur au Pi)

J’ai suivi plusieurs guides pour tenter de garder permanent ma config bluetooth. Mais bon rien n’est stable, rien ne marche à tout coup.

  • Alsa Play retourne aucune carte de son, normal car j’ai désactivé l’audio via HDMI (aplay -l),
  • Pulseaudio est installé, le bluetooth activé au démarrage,
  • Après une installation depuis zéro ça marche, c’est après un redémarrage que ça ne marche plus.

Voici ce que je dois faire pour activer l’audio sur le Bluetooth.

# Redémarrage du Bluetooth
sudo systemctl stop bluetooth
sudo systemctl start bluetooth

# Redémarrage de PulseAudio
pulseaudio -k
pulseaudio -D

# Recharge des policy
pactl unload-module module-bluetooth-policy
pactl load-module module-bluetooth-policy

# Pairage et connection aux haut-parleur Bluetooth
bluetoothctl
[bluetooth] power on
[bluetooth] agent on
[bluetooth] default-agent
[bluetooth] scan on
[bluetooth] pair XX:XX:XX:XX:XX:XX
[bluetooth] trust XX:XX:XX:XX:XX:XX
[bluetooth] connect XX:XX:XX:XX:XX

Le script pour reconnecter les H-P Bluetooth est identique, sauf dans l’application « bluetoothctl » je ne refais pas « pair » et « trust ».

Alors en nouveau pairage et connection, ça marche, c’est après un redémarrage (ou power off), je me reconnect bel et bien avec les H-P BT, mais aucun son.

Noter que j’ai édité le fichier « /etc/systemd/system/bluetooth.target.wants/bluetooth.service » par cette ligne;

ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap --plugin=a2dp

J’ai également effectué une configuration (une fois);

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

Bien sur, les X sont remplacés par les valeurs de mon appareil BT.
L’appareil BT lui est dédié, c’est l’alternative la moins couteuse et la plus pratique (quand ça marche) pour écouter de la musique avec. La fonction Hands-Free ou Phone ne m’intéresse pas, c’est vraiment juste la musique/sons que je veux (A2DP).

Petit rappel, je n’ai pas de GUI, je suis qu’en SSH. Chromium est installé en mode Kiosk. Espérant avoir été assez clair, au besoins je peux fournis les détails manquants. Je ne fournis pas tout les liens de mes recherche, ayant déjà recopier la plupart des lignes de commandes des guides anglais.

Et si vous voulez savoir qu’elle est mon Dashboard utilisé, c’est PHP Dashboard, une version Signage existe aussi.

TROUVÉ!!!

Il suffit de commenter/désactiver le paramètre suivant dans « /boot/config.txt »

#hdmi_force_hotplug=1

Raspbian essais vraiment de passer le son via HDMI par tout les moyens lol.