Ajout et configuration d'une clé Bluetooth sur votre Raspberry Pi

Attention, ce tuto n'est plus valide pour Raspbian Jessie !


Il peut être utile d'ajouter le bluetooth sur votre Raspberry, que ce soit pour utiliser un clavier sur votre Raspberry Pi ou encore pour diffuser de la musique (ou des messages audio) sur une enceinte bluetooth !

Il existe plusieurs clés bluetooth compatibles avec le Raspberry Pi, vous en trouverez la liste ici.

Selon le modèle choisi, la procédure d'installation peut légèrement différer.

Pour ma part, j'ai opté pour la TRENDnet TBW-106UB, trouvable pour moins de 12€.

Pour l'installation, il faut comme d'habitude mettre à jour les sources du système :

sudo apt-get update && sudo apt-get -y upgrade

Branchez ensuite la clé usb Bluetooth sur votre Raspberry Pi et vérifiez que celle-ci est bien détectée :

sudo lsusb | grep -i bluetooth

Vous devriez la voir apparaître :

Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

Il faut ensuite installer le logiciel permettant de gérer les connexions bluetooth entre votre clé et les différents périphériques souhaités :

sudo apt-get install bluetooth bluez bluez-utils bluez-alsa

Vous devez maintenant éditer le fichier de configuration du bluetooth pour désactiver une option.

sudo vi /etc/bluetooth/main.conf

Et y ajouter la ligne suivante en début de fichier :

DisablePlugins = pnat

Vous devez maintenant autoriser votre user à utiliser le bluetooth (Remplacez pi par votre user) :

sudo gpasswd -a pi bluetooth

Il faut ensuite redémarrer le Raspberry Pi pour que cela soit pris en compte.

Une fois redémarré, il faut rendre le Raspberry Pi visible par les périphériques bluetooth et lancer un programme qui permettra d’établir la liaison bluetooth entre les deux appareils (aussi appelé appairage). Pour cela, il faut taper les lignes suivantes :

sudo hciconfig hci0 up
sudo hcitool scan

Vous aurez le résultat suivant :

Scanning ...
<hadware_id> CLLSPKPCARG

Il faut maintenant configurer votre périphérique en l'ajoutant :

sudo bluez-simple-agent hci0 <hadware_id>

Si vous avez le message d'erreur suivant :

Creating device failed: org.bluez.Error.AuthenticationRejected: Authentication Rejected

Vous devez éditer le fichier de configuration avec la commande sudo nano /usr/bin/bluez-simple-agent et remplacer KeyboardDisplay par DisplayYesNo.

Puis retenter :

sudo bluez-simple-agent hci0 <hadware_id>

Vous aurez alors le message suivant :

Release
New device (/org/bluez/2211/hci0/dev_<hadware_id>)

Vous pouvez maintenant tester la diffusion de son depuis votre Raspberry Pi, vous devriez entendre quelques bips avec la commande suivante :

bluez-test-audio connect <hardware_id>

Pour éviter de devoir refaire un scan des périphériques et une reconnexion à chaque redémarrage de votre Raspberry Pi, vous pouvez suivre la procédure suivante.

Commencez par vérifier si votre périphérique est trusted ou non (remplacer l'addresse MAC par celle de votre périphérique) :

sudo bluez-test-device trusted 00:11:22:33:44:55

Si le résultat à cette commande est 1, votre périphérique est trusted; si le résultat est 0, alors il faut l'ajouter aux périphériques de confiance (remplacer l'addresse MAC par celle de votre périphérique) :

sudo bluez-test-device trusted 00:11:22:33:44:55 yes

Re-vérifiez :

sudo bluez-test-device trusted 00:11:22:33:44:55

Le résultat doit cette fois être 1.


Maintenant, ajoutons une nouvelle carte son à votre Raspberry Pi pour en simplifier l'utilisation.

Commencez par créer un fichier de configuration avec vi ~/.asoundrc et collez-y le contenu suivant :

pcm.bluetooth {
    type bluetooth
    device <hardware_id>
}

Sauvegardez et quittez.

Il est maintenant nécessaire de modifier la configuration audio du bluetooth. Pour cela, éditez le fichier avec la commande sudo vi /etc/bluetooth/audio.conf et ajoutez les informations suivantes dans la section [General] :

Disable=Media
Enable=Socket

Sauvegardez et quittez. Redémarrez le service bluetooth :

sudo /etc/init.d/bluetooth restart

Installons maintenant un lecteur mp3 :

sudo apt-get install mpg321

Et essayons maintenant de liez un fichier :

mpg321 -a bluetooth -g 15 02 Magic.mp3

Les options disponibles sont :

-a bluetooth  : Le périphérique audio (celui qu'on vient d'ajouter)
-g xx : Le volume

Une fois que vous avez donnés de la voix à votre Raspberry Pi, l'expérience domotique est bien plus puissante, plus agréable et bien plus "waf". Quelques exemples parmis des centaines d'autres : diffusion vocale de la météo le matin, annonce de l'état de l'alarme, message qui prévient les enfants que la TV va être coupée parce qu'ils la regardent depuis trop longtemps, etc ...

Maintenant, la limite n'est que votre imagination.

Source : Feiticeir0's Blog