Mise en place de Bluetooth pour Raspberry

Dans ma mise en place de squeezeplayers à base de Raspberry

multiroom

j’ai souhaité connecter des enceintes Bluetooth (et non pas câblées) à un de mes Raspberry player, voici le détail de mes aventures dans le domaine.

J’avais déjà installé un Logitech Media Serverlogo_lms sur une distrib Max2play  (LMS dont j’ai marré la mise en place ici)

lms_config

Le but étant aussi de pouvoir faire jouer un MP3 en fonction des événements gérés par Domoticz (présence/absence/messages divers) sur ce player ou un autre de la maison.

Après avoir pas mal cherché et galéré pour ajouter du Bluetooth sur mon raspberry, j’ai trouvé cet article sur le wiki officiel de Domoticz 😯 (pff pourtant j’ai cherché partout sur le web) qui m’a servi de base.

Cet article ne se veut pas exhaustif , il s’agit davantage d’un mémo pour mes prochaines installations que un tour d’horizon complet du Bluetooth sur un Raspberry.

Mais en espérant que d’autres y trouveront leur bonheur, voici donc une traduction libre et adaptée à mes besoins de l’article initial.

<culture>

Savez vous que le nom Bluetooth vient du roi Harald du Danemark grand consommateur de myrtilles il avait les dents bleues. C’est sous son règne que les régions du Danemark ont été unifiées au même titre que le protocole Bluetooth unifie les communication entre périphériques. Et oui !!

</culture>

Cette manip est faite sur une distrib max2play destinée aux squeezebox sur  laquelle on se connecte directement en root et donc il n’y a pas besoin de sudo.

Configuration Bluetooth

Installer les paquets bluetooth, droits et configuration.

Commencez par faire une mise à jour par des

sudo apt-get update
sudo apt-get upgrade

Avant d’insérer votre clé USB Bluetooth faites un

lsusb

Observez les lignes affichées, insérez votre clé Bluetooth puis refaites un

lsusb

Cela vous donnera les identifiants de la clé du type

Bus 001 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
  • Installons les paquets
  • sudo apt-get install bluetooth bluez bluez-utils bluez-alsa python-gobject libbluetooth-dev

On installe aussi les pilotes Bluetooth d’imprimantes, si le cœur vous en dit vous pourrez imprimer depuis Domoticz sur votre imprimante BT !

  • Adaptons quelques droits

N.B. Il est possible que le sudo devant usermod ne soit pas obligatoire.

sudo usermod -a -G lp root
sudo usermod -a -G lp pi
  • Editez le fichier de configuration bluetooth audio
sudo nano /etc/bluetooth/audio.conf

Dans la section [General] modifier l’original :

# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source

par celui ci :

# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source
Enable=Source,Sink,Socket
Disable=Media

rebootez le pi.

Appairage et liaisons des équipements Bluetooth

  • Montons la clé USB
sudo hciconfig hci0 up
  • Passez vos éléments bluetooth en mode appairage en appuyant le le bouton dédié.

puis

sudo hcitool scan

renvoie les mac-adresses de mes 2 enceintes DS-1178 (00:52:5B:13:A0:00 et 00:02:5B:13:01:16)

root@max2play:~# hcitool scan
Scanning ...
 00:52:5B:13:A0:00 DS-1178
 00:02:5B:13:01:16 DS-1178
  • Effectuons l’appairage par un
sudo bluetooth-agent --adapter hci0 0000 00:02:5B:13:01:16

Explications : on lance le programme bluetooth-agent sur l’adaptateur bluetooth hci0 (celui pour lequel nous avons fait un up plus haut) puis on passe le code 0000 aux enceintes en tant que pincode et enfin on donne l’adresse d’une des deux enceintes

Pincode request for device /org/bluez/2372/hci0/dev_00_02_5B_13_01_16
Agent has been released
  • Ajout dans le mode trusted
    sudo bluez-test-device trusted 00:02:5B:13:01:16 yes

me renvoie une erreur

Traceback (most recent call last):
      File "/usr/bin/bluez-simple-agent", line 5, in <module>
        from gi.repository import GObject
    ImportError: No module named gi.repository
  • il manque une libraire python
sudo apt-get install python-gobject

on refait

sudo bluez-test-device trusted 00:02:5B:13:01:16 yes

on vérifie que ça fonctionne par un

sudo bluez-test-device trusted 00:02:5B:13:01:16

qui renvoie le chiffre 1 si tout est correct.

Puis enfin un

sudo bluez-test-audio connect 00:02:5B:13:01:16

les enceintes bippent, elles sont liées.

Continuons

Je décide de nommer les 2 hauts parleurs « enceintes » dans ce qui suit.

Dans le fichier etc/asound.conf  (créez le si il n’existe pas) ajouter à la fin un bloc et nommons le matériel bluetooth

 pcm.enceintes {
          type plug
          slave {
                pcm {
                    type bluetooth
                    device 00:02:5B:13:01:16
                    profile "auto"
                }
          }
          hint {
               show on
               description "Mes enceintes bluetooth"
          }
       }

       ctl.enceintes {
          type bluetooth
       }

un petit aplay -L affiche

null
 Discard all samples (playback) or generate zero samples (capture)
pulse
 PulseAudio Sound Server
plugequal
 Equalizer for plughw:0,0
enceintes
 Mes enceintes bluetooth
default:CARD=ALSA
 bcm2835 ALSA, bcm2835 ALSA

Bien, elles sont présentes !

un aplay  -D enceintes test.wav et on a du son !!

Si cela ne marche pas , rebootez

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/
Posted in domoticz, materiel, raspberry and tagged , , , , , , , , .

7 Comments

  1. Par une prise électrique 🙂
    Sur une des platines des que le player s’arrête les enceintes se mettent en veille mais sur une autre non, je n’ai pas cherche bcp le pourquoi

    Sinon tu connais un truc à ce sujet ?

  2. j’ai finalement installé max2play et configurer les enceintes (SoundLink Mini II Bose) avec le tuto ci dessus et ça marche: super tutos (l’autre aussi), merci beaucoup !

  3. Bonjour,

     

    Merci pour cet article.

    Sais-tu s’il est possible avec le Raspberry Pi 3 de brancher des enceintes filaires pour pouvoir envoyer du son via Bluetooth (en gros, transormer le Raspberry en enceinte Bluetooth) ?

    Bien que le Raspberry soit doté du Bluetooth, j’ai lu sur d’autres blogs qu’il n’était pas facile de l’utiliser comme « récepteur » Bluetooth.

     

    Merci !

  4. Bonjour

    A chaque fois il est marqué « les enceintes » (avec deux adresses MAC différentes dans le scan), mais à chaque fois on n’entre qu’une seule adresse MAC (celle qui termine par 16). C’est possible de brancher deux enceintes bluetooth pour que le son soit envoyé vers les deux en même temps ?

    Merci

Comments are closed.